Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 22-12-2019 09:24:04

Architas
Membre
Inscription : 21-12-2019
Messages : 37

Une notation qui se passe des parenthèses.

Bonjour,
Ce qui suit peut évidemment être ignoré par ceux qui connaissent déjà le sujet.
                   La  notation polonaise inversée.

Introduction
On sait qu’une expression mathématique contient en général un certain nombre de parenthèses.
Ces parenthèses sont souvent source d’erreurs si elles ne sont pas équilibrées : Il doit y avoir un nombre égal de parenthèes ouvrantes « (« et de parenthèses fermantes « ).
De plus, le traitement de ces parenthèes dans les compilateurs ou interpréteurs demandent un certain temps ce qui a pour conséquence un ralentissement du traitement. (Moins de nos jours)
Aussi, serait-il économique de faire en sorte, moyennant une réécriture des expressions mathématiques, de se passer complètement de ces parenthèses.
C’est ce qu’autorise la « Notation polonaise inversée ».

La notation polonaise inversée.
Dans cette notation, on écrit d’abord les opérandes puis l’opérateur.
Par exemple ; à l’addition de A et de B qui s’écrit A + B, on écrit A B + en polonaise inversée
Ceci reste vrai pour les autres opérations :
A – B devient A B -
A*B devient A B *
A/B devient A B /

On peut aussi utiliser cette notation pour des expressions plus compliquées :
A*(B + C) devient B C + A*. A l’exécution, on cherche quel est le  premier opérateur rencontré en partant de la gauche de l’expression caractère par caractère. Dans cet exemple on trouve le +. On applique cette opération aux deux opérandes précédents et on les remplace par  leur résultat, par exemple D et l’expression polonaise devient : A D * d’où le calcul final A*D
Et les parenthèses ont disparu !

Autre  exemple :
(A + B)*(C + D) devient E F * avec évidemment E = A + B et F = C + D d’où finalement E F * = E*F = G

Exemple avec un opérateur unaire.
-A devient A –
sinx devient x sin
Si on a :  y =  -(A + B*sinC) alors cette expression devient :
C sin B* A + - y =

Exemple récapitulatif :
Soit l’expression :
(A+B^3*(C/3+cos(x)*(exp(y))
Cette expression devient en notation polonaise inversée : (sauf erreur de ma part !)
B 3 ^ A + C 3 /  x cos + * y exp *

Bien sûr que je n’ignore pas que les ordinateurs d’aujourd’hui sont des milliers voire des millions de fois plus rapides que ceux d’antan mais les volumes de calculs sont eux  des milliards de fois plus volumineux (maillage du terrain en météo, simulation du vieillissement de la matière fissile dans les armes nucléaires etc.) et le gain de temps avec la polonaise inversée  est toujours aussi important,  toute proportion gardée.

Cordialement.


"Plus tu t'élèves et plus te voient petits ceux qui ne savent pas voler" (Friedrich Nietzsche)

Hors ligne

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
quatre-vingt seize plus vingt huit
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Pied de page des forums