[ID-PHy] » RPN & HP Calc » Notation Polonaise Inverse

NPI (ou RPN)

La Notation Polonaise Inverse (NPI) est plus connue sous son acronyme anglais : RPN (Reverse Polish Notation). Beaucoup de pages sur Internet traitent du sujet, je vais donc ne donner que mon point de vue personnel, avec une légère prétention de vous convaincre de l'avantage de ce mode de calcul. Mais autant vous le dire tout de suite, je suis un inconditionnel, à un point tel que je ne sais plus utiliser une "bête" calculatrice !

C'est ainsi que dès mon premier emploi, en 1987, lorsque je me suis retrouvé devant un VT220 (écran d'ordinateur VAX, 80 caractères, 24 lignes), j'ai programmé une mini calculatrice (les 4 opérations de base) en Pascal, tournant sur le VAX. Depuis, je la promène partout, et elle est devenue "ma" calculatrice, que j'utilise quotidiennement. Je l'ai traduite en C, et ne tourne toujours que dans une boîte DOS, mais elle répond parfaitement à mes besoins (voir davantage !), et régulièrement, je reprends mon compilateur pour y ajouter l'une ou l'autre fonction(alité).

» Testez ma calculatrice RPN Calc : fichier à télécharger et description complète (en anglais).
» Revue de quelques HPs et Laquelle choisir ?, mon avis très personnel.
» See also HP-41C related topics : Programming Environment, HP-IL Manuals and Bar Codes, links ...

En introduction

La notation polonaise inverse, vient de ... la notation polonaise (La Palice ...), dans laquelle l'expression '2 + 3' s'écrit '+ 2 3' ou '+ (2 3)'. C'est à dire que l'on place l'opérateur (ici +) avant les opérandes (2 et 3), et non au milieu. Dans la NPI, on fait ... l'inverse ! '2 + 3', s'écrit donc '2 3 +'.

Si vous avez compris cela, vous avez tout compris ! "Et pourtant il parait que les calculatrices en mode RPN sont si compliquées à utliser ... Et bien non, elles sont beaucoup plus simples, on n'a juste pas l'habitude ! Et la plupart préfèrent se compliquer les calculs avec des parenthèses plutôt que de se familiariser avec un autre mode tout simple ... Déconcertant, non ?

Trois principes

... fondamentaux !

Pour utiliser une calculatrice en mode RPN, sans se prendre la tête, il faut bien "assimiler" les trois principes suivants, les deux derniers découlant du premier :

  1. Toute opération s'effectue sur des nombres déjà présents dans la calculatrice.
  2. Il faut marquer la fin d'introduction d'un nombre avec la touche [ENTER].
  3. Les nombres en attente sont placés sur une pile.
  4. Et il faut comprendre le calcul qu'on veut réaliser (ceci n'est pas un principe, mais un prérequis !).

    Dans '2 3 +', il faut entrer 2, puis 3, c'est à dire qu'au clavier, on tape d'abord [2], puis on doit dire à la calculatrice que le nombre est fini, avant de taper [3], sinon, on aurait introduit 23. C'est le rôle de la touche [ENTER] : terminer l'entrée d'un nombre avant d'introduire le suivant. Notez que toute fonction termine implicitement une entrée, la touche [ENTER] n'est donc réellement nécessaire que lorsqu'on doit entrer plusieurs nombres d'affilée avant la première opération.

    La pile est une suite de registres (mémoires), utilisés pour stocker les nombres "en attente". La touche [ENTER] a pour effet de pousser un nombre sur la pile, ou de créer un nouvel élément dans la pile (selon les versions, j'y reviendrai plus tard). On parle de pile, car à l'instar d'une pile, on y dépose les éléments un à un, et on les reprend dans l'ordre inverse : sur une pile de livres, le premier que vous allez prendre, est le dernier que vous y avez déposé (à l'inverse d'une file, ou le premier arrivé est le premier servi, comme à la Poste). En anglais, on utilise également les acronymes LIFO (Last In, First Out : dernier ajouté, premier retiré) pour les piles, et FIFO (First In, First Out : premier arrivé, premier servi) pour les files.

    Toute opération prend ses opérandes (ou arguments) sur la pile (qui diminue donc d'un ou deux éléments) et y replace le résultat. Au final, la pile a la même taille pour une opération à un argument comme l'inverse (1/x), car l'inverse prend un élément (x), calcule l'inverse, et y replace le résultat (1/x). Pour l'addition, la pile diminue d'un élément, car on retire les deux termes de l'addition, pour ne replacer qu'un seul résultat. Et pour une conversion de coordonnées polaires en rectangulaires, elle prend deux éléments (les arguments), et y replace deux autres (les nouvelles coordonées). Enfantin, non ?

    Puisque, grâce à la pile, on peut laisser des nombres en attente, et ainsi effectuer d'autres opérations intermédiaires, on n'a plus besoin de parenthèses : vous laissez simplement le résultat ou nombre précédent sur la pile pour faire le calcul à l'intérieur de la parenthèse, et quand vous avez ce résulat, vous pouvez continuer vos calculs ... D'une certaine manière, la pile remplace les parenthèses (et puisqu'il n'y a plus de parenthèses, vous ne risquez pas d'oublier de les ouvrir, ou de les fermer !).

    Pour les calculs plus complexes, et notamment sur les anciens modèles ne disposant que de 4 éléments dans la pile (j'y reviendrai), il est souvent plus facile (et plus naturel, "à la main" ou "mentalement", c'est ce que vous feriez) d'"attaquer" le calcul par le milieu, la parenthèse la plus intérieure, ...

       Essayez sans craintes, je l'utilise tous les jours (et deux mots d'explication ci-dessous)

Si vous avez déjà fait vos premiers pas sur une calculatrice RPN, avec les principes ci-dessus, et que très certainement vous êtes déjà à l'aise, vous pouvez arrêtez ici. Mais je vous suggère tout de même de poursuivre avec la présentation des deux grands groupes de calculatrices HP, et ensuite l'analyse plus détaillée des mouvements de la pile.

Pas naturel ?

Que du contraire !

Naturellement, quand vous calculer, sans le savoir, vous utilisez la logique polonaise inverse ...

Lorsque vous faite un simple calcul mental, disons 6 x 8, vous lisez effectivement '6', puis 'x' qui vous dit qu'on va devoir faire une multiplication, puis '8', le deuxième facteur de la multiplication. Mais pour effectuer le calcul, vous avez en tête les deux nombres (6 et 8), que vous associez à 48 pour une multiplication (directement, si vous connaissez vos tables, ou après calcul ...). Si on vous donne 6 et 8, 48 vient tout seul, mais votre cerveau ne sait que faire de '6 x', il ne laisse pas d'opération en suspend, il ne peut appliquer une opération (faire un calcul) que s'il a d'abord les deux nombres !

Le calcul en mode RPN, c'est exactement celà, pour calculer '6 x 8' vous faites : '6 [ENTER] 8 *'

Pas convaincu ? Un autre exemple : comment faites vous une addition écrite ?

Ecrivez-vous :     123
  +
456
---
579
    ou     123
456 +
---
579
    ???   

Vous écrivez les deux nombres, puis vous faites le calcul, non ?

Toujours pas convaincu ? Un troisième (et dernier) exemple : '2 * ( 3 + 4)'. Comment faites-vous ? Sans réfléchir, vous prenez 3 et 4 que vous additionez, ensuite, le résultat, vous le multipliez par 2. C'est exactement ce que vous avez à faire avec une calculatrice en mode RPN ! Pratiquement mot à mot :

Soit : [3] [ENTER] [4] [+] [2] [*].

Ou pour vous embrouiller : [2] [ENTER] [3] [ENTER] [4] [+] [*] !   Ici, tous les nombres sont introduits dans l'ordre, mais laissés en suspend dans la pile, le temps qu'on en aie besoin : on n'utilise le 2 pour la multiplication qu'après avoir additionné 3 et 4. Et au passage, les parenthèses ont disparu, car superflues ... !

Si le coeur vous en dit, et avant de lire la suite (et d'attraper une indigestion), je vous suggère de déjà essayer quelques opérations. Pas de panique, votre ordinateur ne va pas exploser ! Faites donc un petit tour par la pratique ...

Les modèles HP

Il y a deux grandes familles de calculatrices Hewlett - Packard à logique RPN (plus communément appelées HP) : les "classiques" et les "graphiques" (NB, cette classification m'est personnelle, je ne les ai pas toutes passées en revue, je ne possède hélas pas tous les modèles !).

Les HP "classiques"

Les modèles "classiques" vont de la première HP-35, jusqu'à la mythique HP-41C, la 42S, en passant par les HP-25, HP-67, HP-11C, ... mais aussi les plus récentes HP-33S et la nouvelle HP-35S

Les HP "graphiques"

Les calculatrices graphiques sont plus récentes, beaucoup plus puissantes, et sont apparues avec le modèle HP-28C, et ensuite les HP-48G, 49G, 50G.

Pour les différencier au premier coup d'oeil, cherchez la touche [x<>y] près de [ENTER], sur la face d'une touche, c'est à dire accessible directement (pas shiftée), car utilisée très fréquemment. Si elle est présente, c'est une "classique", sinon vous trouverez son équivalent [SWAP] sur les "graphiques", en accès shifté pour les premiers modèles, fonction primaire (non indiquée !) de la touche [>] (flèche droite) à partir de la HP-49G.

Notez qu' Hewlett-Packard fabrique également des calculatrices "conventionnelles", à entrée algébrique, mais ce n'est pas le propos ici. Et pour être complet, sachez que les modèles graphiques et les récentes "classiques" (HP-33S et HP-35S) peuvent également travailler en mode algébrique, d'où les parenthèses également disponibles sur leur clavier. (Pour info, sur les HP-28 .. 48, les expressions algébriques sont placées entre apostrophes, ce sont des objets d'un type particulier, également déposés et manipulés sur la pile, et qu'on évalue en pressant la touche [EVAL].)

Pour plus de détails, consultez par exemple les liens sur la page HP-41C, ou ces deux excellents sites (des références) :

La section suivante explique quelques différences de comportement entre ces deux familles.

Et si vous voulez mon avis très personnel sur les divers modèles que j'ai testés (les HP-25, 41C, 42S, 32SII, 11C, 28S, 48G, 49G et 49G+), voici une Revue de quelques HPs.

La pile de plus près

Vous l'aurez compris, la pile est la pierre angulaire des calculatrices en mode RPN. Reprenons le dernier exemple de plus près, et voyons comment la pile est utilisée.

Remarquez tout d'abord que la pile est alimentée "par le bas", c'est ainsi qu'elle est représentée sur les calculatrices HP, car on "pousse" les nombres dans la pile, et sur la touche [ENTER], se trouve une petite flèche vers le haut à droite de 'ENTER' : [ENTER ^] (du moins sur les premiers modèles).

Revenons à notre exemple. En supposant qu'elle soit vide au départ, voici les opérations effectuées (en haut), et l'état de la pile qui en résulte, sur une calculatrice graphique au centre, et sur les modèles classiques en bas.

Première méthode

Pour calculer '2 * ( 3 + 4)', la méthode la plus efficace, c'est à dire nécessittant le moins de touches, est :
[3] [ENTER] [4] [+] [2] [*]

(début, pile vide)
[3]
[ENTER]
[4]
[+]
[2]
[*]
  +---------+
4:| |
+---------+
3:| |
+---------+
2:| |
+---------+
1:| |
+---------+
| |
  +---------+
4:| |
+---------+
3:| |
+---------+
2:| |
+---------+
1:| |
+---------+
| 3 |
  +---------+
4:| |
+---------+
3:| |
+---------+
2:| |
+---------+
1:| 3.00 |
+---------+
| |
  +---------+
4:| |
+---------+
3:| |
+---------+
2:| |
+---------+
1:| 3.00 |
+---------+
| 4 |
  +---------+
4:| |
+---------+
3:| |
+---------+
2:| |
+---------+
1:| 7.00 |
+---------+
| |
  +---------+
4:| |
+---------+
3:| |
+---------+
2:| |
+---------+
1:| 7.00 |
+---------+
| 2 |
  +---------+
4:| |
+---------+
3:| |
+---------+
2:| |
+---------+
1:| 14.00 |
+---------+
| |
  +---------+
t | 0.00 |
+---------+
z | 0.00 |
+---------+
y | 0.00 |
+---------+
x | 0.00 |
+---------+
  +---------+
t | 0.00 |
+---------+
z | 0.00 |
+---------+
y | 0.00 |
+---------+
x | 3 |
+---------+
  +---------+
t | 0.00 |
+---------+
z | 0.00 |
+---------+
y | 3.00 |
+---------+
x | 3.00 |
+---------+
  +---------+
t | 0.00 |
+---------+
z | 0.00 |
+---------+
y | 3.00 |
+---------+
x | 4 |
+---------+
  +---------+
t | 0.00 |
+---------+
z | 0.00 |
+---------+
y | 0.00 |
+---------+
x | 7.00 |
+---------+
  +---------+
t | 0.00 |
+---------+
z | 0.00 |
+---------+
y | 7.00 |
+---------+
x | 2 |
+---------+
  +---------+
t | 0.00 |
+---------+
z | 0.00 |
+---------+
y | 0.00 |
+---------+
x | 14.00 |
+---------+

Modèles "graphiques"

Sur les calculatrices graphiques, l'affichage dispose d'au minimum 4 lignes. Ces machines, plus puissantes, ont également plus de mémoire, et allouent dynamiquement les éléments de la pile au fur et à mesure des besoins. Il n'y a pas de limite au nombre d'éléments dans la pile (pour autant que de la mémoire soit disponible). Les éléments de la pile y sont référencés par le numéro de leur niveau : le premier élément (c-à-d le dernier placé) est noté '1:', ...  De plus, l'introduction d'un nombre se fait sur une ligne séparée, tout en bas de l'écran, sous la pile, comme illustré.

Ainsi, lorsqu'on efface la pile ([CLEAR]), elle est réllement vide, pas de registres alloués, d'où les cases "blanches" dans le tableau ci-dessus.

Reprenons le calcul pas à pas :

Notez que les éléments de la pile ne sont jamais écrasés ou perdus, ils restent ainsi à disposition sur la pile tant qu'une fonction ou opération ne les aura "utilisés", ou tant qu'on ne les aura explicitement effacés ([CLEAR] ou [DEL]). Ce principe permet de laisser des nombres en attente, le temps de faire d'autres calculs intermédiaires, sans devoir recourir à une mémoire secondaire, comme sur les machines dites "conventionnelles" (non RPN).

Seconde remarque, s'il n'y a pas assez d'éléments sur la pile pour l'opération demandée (c-à-d pas assez d'arguments pour la fonction), la calculatrice n'en prend pas un par défaut, mais génère une erreur (appuyer sur la touche [ON] ou [CANCEL] / [ATTN] pour annuler le message).

Modèles "classiques"

Sur les premières calculatrices HP, "classiques", on ne disposait que d'une seule ligne d'affichage (LED rouges, comme sur la HP-35, toute première HP), et l'affichage montre le contenu du premier registre de la pile, appelé 'X'. Les autres s'appelent Y, Z et T comme illustré. Il n'y a(vait) que 4 registres dans la pile.  Seulement 4 ?  Oui !   Et c'est bien assez, j'ai fait toutes mes études d'ingénieur avec une telle machine. Ces registres (ou mémoires) sont permanents, et doivent donc contenir quelque chose, lorsqu'on efface la pile, on les remet a zéro.

De ce fait, les HP classiques se comportent légèrement différemment, sans que cela ne change réellement son utilisation habituelle.  Je reviendrai sur ces nuances plus tard.

Puisque ces machines affichent exclusivement le premier registre X de la pile (sauf pour les derniers modèles, avec un écran de deux lignes, qui présentent également le deuxième registre Y), les entrées de nombre se font directement dans le registre X. Lorqu'on presse la touche [ENTER], la calculatrice copie chaque registre de la pile dans celui supérieur, et le contenu du dernier (T) est perdu !   La machine affiche la dernière valeur entrée (qui se trouve maintenant dans Y), et donc 'X' est initialisé avec cette dernière, plutôt que d'être remis à zéro.

Après [ENTER], et uniquement après [ENTER] ou [CLx] (qui efface, ou initialise à zéro le registre X), l'entrée d'un nouveau nombre remplace la valeur de X, au lieu de décaler tous les registres vers le haut.

C'est ce qu'illustre le bas du tableau, reprenant le calcul de ' 2*(3+4) ' pas à pas :

Seconde méthode

On peut également calculer '2 * ( 3 + 4)' en introduisant les nombres dans l'ordre où ils figurent, et laissant le '2' en attente :
[2] [ENTER] [3] [ENTER] [4] [+] [*]

(début, pile vide)
[2]
[ENTER]
[3] [ENTER]
[4]
[+]
[*]
  +---------+
4:| |
+---------+
3:| |
+---------+
2:| |
+---------+
1:| |
+---------+
| |
  +---------+
4:| |
+---------+
3:| |
+---------+
2:| |
+---------+
1:| |
+---------+
| 2 |
  +---------+
4:| |
+---------+
3:| |
+---------+
2:| |
+---------+
1:| 2.00 |
+---------+
| |
  +---------+
4:| |
+---------+
3:| |
+---------+
2:| 2.00 |
+---------+
1:| 3.00 |
+---------+
| |
  +---------+
4:| |
+---------+
3:| |
+---------+
2:| 2.00 |
+---------+
1:| 3.00 |
+---------+
| 4 |
  +---------+
4:| |
+---------+
3:| |
+---------+
2:| 2.00 |
+---------+
1:| 7.00 |
+---------+
| |
  +---------+
4:| |
+---------+
3:| |
+---------+
2:| |
+---------+
1:| 14.00 |
+---------+
| |
  +---------+
t | 0.00 |
+---------+
z | 0.00 |
+---------+
y | 0.00 |
+---------+
x | 0.00 |
+---------+
  +---------+
t | 0.00 |
+---------+
z | 0.00 |
+---------+
y | 0.00 |
+---------+
x | 2 |
+---------+
  +---------+
t | 0.00 |
+---------+
z | 0.00 |
+---------+
y | 2.00 |
+---------+
x | 2.00 |
+---------+
  +---------+
t | 0.00 |
+---------+
z | 2.00 |
+---------+
y | 3.00 |
+---------+
x | 3.00 |
+---------+
  +---------+
t | 0.00 |
+---------+
z | 2.00 |
+---------+
y | 3.00 |
+---------+
x | 4 |
+---------+
  +---------+
t | 0.00 |
+---------+
z | 0.00 |
+---------+
y | 2.00 |
+---------+
x | 7.00 |
+---------+
  +---------+
t | 0.00 |
+---------+
z | 0.00 |
+---------+
y | 0.00 |
+---------+
x | 14.00 |
+---------+

Sur base des explications dans les sections précédentes, vous devriez comprendre les mouvements dans ce second cas. Notez que cette méthode nécessite la pression d'une touche supplémentaire (un [ENTER] en plus).

Je vous en laisse donc l'interprétation en guise d'exercice ...

Les subtilités

Comme on l'a vu, les HP "graphiques" et "classiques" gèrent la pile quelque peu différemment. Mais l'exemple ci dessus (de même que la seconde méthode de calcul ci-après) montrent qu'on obtient en fait le même résultat (et pratiquement les mêmes mouvements de la pile), en faisant exactement les mêmes opérations (même suite de touches pressées).

Les modèles classiques, de part la gestion quelque peu moins orthodoxe de la pile, permettent quelques subtilités, impossibles sur les modèles à gestion dynamique de la piles (les graphiques).

[ENTER] duplique X

Puisque [ENTER] pousse les éléments dans la pile tout en gardant une copie dans X (ainsi initialisé), on peut effectuer directement une opération sur ce doublon.

Par example, pour calculer le double de 123, il suffit de taper 123 [ENTER] [+], ou [*] pour obtenir le carré.

T se regénère

Autre particularité, lorqu'une opération nécessite deux arguments, et replace le résultat dans X, au final, elle consomme une élément de la pile, qui se décale vers le bas. Lors de cette opération, les registres sont copiés dans ceux en dessous, mais T garde sa valeur, qui se regénère donc indéfiniment.

Par exemple, pour calculer les puissances successives de 2, on "remplit" d'abord la pile de '2', puis on fait autant de multiplications que souhaitées : 2 [ENTER] [ENTER] [ENTER] [*] [*] [*] [*] [*] ... . Il y aura toujours un '2' dans Y pour multiplier le résultat en X !

Sur une classique, on n'est donc jamais en panne d'arguments ! Alors que sur une graphique, un déficit d'arguments provoque un message d'erreur.

Jongler avec la pile

Les deux types d'HP gérant la pile de manière différente, les opérations sur la pile sont également différentes. Je vais me concentré sur les modèles "classiques", pour les "graphiques", je vous renverrai au mode d'emploi.

Une des fonctions les plus utilisées est [X<>Y], qui comme vous l'aurez deviné, échange le contenu des registres X et Y. C'est la façon la plus facile de voir ou vérifier ce qu'il y a dans Y avant une opération (après quelques calculs intermédiaires par exemple). Et pressez une seconde fois sur [X<>Y] pour revenir à l'ordre initial. L'équivalent sur les "graphiques" est la fonction [SWAP].

Les "classiques" utilisent un registre complémentaire pour conserver la valeur de X avant toute opération, nommé 'LAST x' ou 'L', et la touche [LAST x] permet de rappeler cette valeur dans X. Très pratique ! Mais malheureusement, il n'y a pas de [LAST y] ... sauf sur la mienne ! Les "graphiques" ont une fonction équivalente : [ARG] ou LAST qui rappelle le(s) argument(s).

Les fonctions [R Dn] ou [Rv] (R Down) et [R^] (R Up) décalent tous les registres vers le bas ou vers le haut, de manière "circulaire", comme si X était le suivant de T : donc [R Up] déplace aussi T vers X, et [R Down] déplace X vers T. La pression de [R Down] 4 fois successivement permet donc de faire "défiler" la pile à l'écran, et de revenir au point de départ.

Un peu de pratique

Pour vous faire la main, avant de faire le grand saut et d'acheter une calculatrice HP, je vous suggère de tester l'un des nombreux émulateurs, libres et gratuits pour la plupart, disponibles sur Internet.

Ou pourquoi pas, essayez directement ma calculatrice :

Elle s'exécute directement (pas s'installation), et va juste créer un petit fichier additionnel pour sauvegarder les registres. Taper [ESC] ou [Echap.] pour sortir, et [c] pour effacer. Pour une info complète et un mode d'emploi détaillé, consultez la page RPN Calculator (en anglais). Pour avoir le fichier d'aide, il faut télécharger le fichier ".ZIP".

Pour débuter (et même pour la suite), elle a l'avantage de montrer à la fois les éléments de la pile (St 0 ...), le résultat (qui n'est autre que le niveau 0 de la pile), les mémoires et les deux registres 'Last x' et 'Last y'; ainsi que toutes les opérations effectuées, avec résultats intermédiaires (l'historique, dans la partie droite de l'écran). Vous suivez ainsi toutes vos opérations, idéal pour vérifier vos calculs (on peut même corriger les valeurs et "re-tourner" les calculs) !

Pour information, la gestion de la pile s'apparente plutôt aux calcualtrices "graphiques", tout en gardant certaines caractéristiques des modèles "classiques" (la pile est circulaire et si deux arguments sont nécessaires alors que la pile n'en compte qu'un seul, celui-ci sera utilisé deux fois).

L'épreuve du feu

Voici comment j'ai convaincu ma fille, 12 ans à l'époque, que la "logique HP" était la meilleure. Je lui ai demandé d'effectuer les calculs suivants, d'abord avec une calculatrice conventionnelle (comme celle qu'elle utilisa en primaire), et ensuite avec une HP (après une petite familiarisation tout de même, l'équivalent de l'introduction ci-dessus). Pour que l'interface n'entre pas en ligne de compte, je lui ai présenté deux calculatrices sur PC (même clavier donc !) : celle venant parmi les accessoires de Windows XP (en mode scientifique), et la mienne.

  13 - 7 + 29 - 34  
  2 + 3 x 5 - 16  
  3 x (11 - 6) / 15  
  6 + 11 
   35 - 18  

Le verdict fut sans appel : avec sa calculatrice, elle n'a pas pu arriver au bout, les derniers calculs étant trop complexes, mais elle y est arrivée avec la logique RPN !

Faites le test

Jouez le jeu, faites tous les calculs à la machine, avec une conventionnelle et avec une RPN, et si vous êtes fort en calcul, faites-les également mentalement ou par écrit, pour vérifier. Selon le mode de calcul ou selon la calculatrice, vous risquez de les faire dans un ordre différent (sur une RPN du moins), et c'est une bonne idée car c'est la pratique courrante.

  (39 + 48) - (123 - 37)  
  (7 + 18) : 5 2
124 - 49
   27 + 48  
  (45 + 36)½ / 9  

Tous les calculs ci-dessus peuvent s'effectuer "de gauche à droite", ils ne nécessitent pas plus de 4 éléments dans la pile.

Par contre, les suivants nécessitent de les attaquer par le milieu.
Ainsi, dans la première, si on fait le calcul de gauche à droite avec une calculatrice HP classique, on n'a plus de place pour introduire le dernier 7 sous la fraction de la racine carrée. En effet, on aura déjà le premier terme dans T, le premier facteur en Z, et sous la racine carrée, le numérateur en Y et le premier terme de la soustraction du dénominateur en X : si on introduit 7, on perd le premier terme (à gauche du premier '+'). Ici, on évaluera le calcul de droite à gauche, en commençant par le quotien sous la racine carrée.
Pour le deuxième, il faut d'abord calculer le dénominateur, puis le numérateur, et ensuite inverser les deux résultats intermédiaires dans la pile ([x<>y]) avant de les diviser.
Le troisième est encore un peu plus difficile, je vous laisse trouver ... Un indice tout de même, vous devrez utiliser la fonction x2.

Compliqué ? Pas tant qu'il y parait, car si vous deviez le faire "à la main" ou "mentalement", par où commenceriez-vous ? Si vous avez un doute, utilisez la règle d'or suivante : débuter le calcul par la partie la plus compliquée, le niveau de parenthèse le plus intérieur.

Dans certains cas, le recours à une mémoire pour enregistrer les résultats intérmédiaires sera toute fois indispensable, comme dans le dernier exemple ci-dessous. Est-ce un problème ? Non, car ces cas sont relativement rares, et au final, avec une calculatrice conventionnelle, las de vous mêler les pinceaux avec les parenthèses, vous auriez de toute façon recouru aux mémoires depuis bien longtemps ! (Cette limitation disparait sur les modèles "graphiques".)

Et pas besoin de vous donner la réponse à tous ces calculs, vous saurez très vite si votre réponse est correcte !    ;-)

Alors, convaincu ?

Si je ne suis pas parvenu à vous convaincre, ou au minimum à vous en faire percevoir les avantages, ... c'est que mes explications ne sont pas assez limpides, claires, ... convaincantes.  Comme on m'en fait souvent le grief, dans un souci de complétude, j'ai probablement été trop loin dans les détails. J'en suis désolé et je ne puis que vous renvoyer vers d'autres sites, d'autres explications qui, je l'espère, sauront alors venir à bout de vos réticences !

Le mode RPN compte beaucoup d'adeptes et d'incondionnels ! Même si elles sont quelques fois cataloguées de calculatrices d'ingénieurs, adoptez-les dès le secondaire, elles vous feront gagner du temps, et surtout, vous ferez moins d'erreurs !

Si cette page vous a été utile d'une manière ou d'une autre, merci de me le dire, que je sache si j'ai vraiment perdu mon temps à l'écrire, ou pas !  Faites-moi part de votre avis, de vos réactions, envoyez-moi un petit courriel.


Pierre HARDY.
e-mail : pierrehardy01@yahoo.be

Copyright © Pierre Hardy, 2008. All rights reserved.

(4 - 16/09/2009)      ¤     
Free Web Hosting