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

Pied de page des forums