Calculatrices RPN (notation polonaise invers�e) pour Linux
ArticleCategory: Hardware
Applications
AuthorImage:[Here we need a little image from you]
TranslationInfo:[Author + translation history. mailto: or
http://homepage]
original in en Guido
Socher
en to fr Jean Peyratout
AboutTheAuthor:[A small biography about the author]
Ma premi�re calculatrice RPN �tait une HP15c et ce fut le coup de foudre.
Abstract:
RPN (Reverse Polish Notation) signifie "notation polonaise invers�e". La notation polonaise invers�e a �t�
d�velopp�e en 1920 par Jan Lukasiewicz comme une fa�on d'�crire une expression math�matique sans �tre oblig�
d'utiliser parenth�ses et crochets.
Il ne faut que quelques minutes pour l'apprendre et vous verrez rapidement que
cette m�thode surpasse les formules alg�briques standards.
ArticleIllustration:
ArticleBody:
Introduction
Les calculatrices de poche utilisant la notation polonaise invers�e ont commenc� � devenir populaires avec les
calculatrices Hewlet-Packard. HP utilisait d�j� cette m�thode pour sa premi�re calculatrice en 1968.
Si vous faites une recherche sur Internet vous vous apercevrez qu'il existe un vrai fan-club de ces calculatrices.
J'ai mis quantit� de tr�s bons liens disponibles � la fin de cet article.
La plupart de ces calculatrices HP sont de nos jours des objets de collection et s'�changent pour bien plus cher
que leur prix original.
Dans cet article nous verrons quelques-unes des calculatrices de bureau en notation polonaise invers�e disponibles
pour Linux. Nous ne nous int�resserons pas seulement aux �mulateurs HP disponibles mais aussi aux autres calculatrices
totalement ind�pendantes de HP.
Qu'est-ce que la notation polonaise invers�e (RPN) ? Pourquoi faire ?
Les calculatrices en notation polonaise invers�e utilisent une pile et toutes les op�rations math�matiques sont ex�cut�es
imm�diatement au plus bas niveau de la pile. La pile est utilis�e comme m�moire pour enregistrer les r�sultats
interm�diaires.
Donc inutile d'utiliser de parenth�ses sur une calculatrice RPN. On entre d'abord les nombres - on les pose en
haut de la pile - puis on indique ce qu'il faut en faire.
Imaginons que l'on veuille calculer: (( 3 + 1 )^2 + 1) * 4
Pour cela on entre les commandes suivantes :
3 Entr�e
1 + (vous voyez imm�diatement le r�sultat de cette op�ration : 4)
x^2 (vous voyez imm�diatement le r�sultat de cette op�ration : 16)
1+ (vous voyez imm�diatement le r�sultat de cette op�ration : 17)
4* (r�sultat final : 68)
Pour saisir cette formule il a fallu neuf appuis successifs sur les touches, et on a pu voir tous les r�sultats
interm�diaires. C'est fondamentalement la fa�on de calculer utilis�e pour le calcul mental. En d'autres mots le
fonctionnement de la calculatrice est beaucoup plus "naturel", il est du m�me type que celui utilis� par notre cerveau.
Le m�me calcul, �crit de cette fa�on, aurait n�cessit� douze appuis avec une calculatrice alg�brique, sans que l'on puisse
voir les r�sultats interm�diaires. Les avantages de la notation polonaise invers�e sont donc :
- La m�thode RPN �conomise du temps et des appuis sur les touches. Vous n'avez jamais � prendre en consid�ration les
parenth�ses lors du calcul. Le processus est similaire � la fa�on dont vous avez appris les maths sur le papier.
- On peut voir les r�sultats interm�diaires au fur et � mesure et pas seulement la r�ponse � la fin, ce qui est un
�-c�t� tr�s pratique.
- L'affichage du r�sultat interm�diaire permet la v�rification et les erreurs sont plus faciles � d�tecter et corriger.
Il est plus facile de suivre le cours du calcul. L'utilisateur d�finit la priorit� relative des op�rateurs.
- La m�thode RPN est logique car l'utilisateur donne d'abord le nombre puis ensuite seulement indique ce qu'il
convient de faire avec.
- Gr�ce � l'�valuation des sous-calculs d�s leur entr�e, une erreur de saisie est plus �vidente avec la m�thode RPN.
Sur une calculatrice alg�brique, l'oubli d'une parenth�se ouvrante ne conduit pas � une erreur de calcul avant le
moment, parfois bien longtemps apr�s, o� la sous-expression est calcul�e dans son int�gralit�.
Les calculatrices
Commen�ons avec quelques calculatrices simples que vous pouvez tester dans votre navigateur tout en lisant cet article
et plus loin je pr�senterai des "machines" plus puissantes.
rpnjcalc
Cette calculatrice utilise Javascript. Elle est de ma cr�ation et fonctionne dans n'importe quel navigateur moderne
(�a ne fonctionne pas correctement avec Op�ra 5/6, Netscape 4, Konqueror). Elle est diff�rente de beaucoup
d'autres calculatrices javascript car vous pouvez aussi utiliser le clavier pour saisir des nombres et les
op�rateurs math�matiques de base. Cliquez ici pour jouer
avec rpnjcalc
hp-35
Cette calculatrice utilise aussi Javascript mais plus d'attention a �t� consacr�e � sa ressemblance avec une vraie
(vieille) calculatrice HP-35 de poche. Vous pouvez la tester en ligne
en suivant ce lien
Si vous voulez vraiment l'utiliser, je vous recommande de t�l�charger le fichier compress� ci-dessous car il
utilise des images gif et le temps de r�ponse est beaucoup plus court quand vous l'installez localement. Notez aussi
que cette calculatrice n'offre pas les m�mes fonctionnalit�s qu'une vraie HP35. Elle ne peut par exemple effectuer
de trigonom�trie qu'en degr�s (0-360�).
dc
Cette calculatrice est une commande Unix standard que l'on trouve m�me sur les plus vieux syst�mes Unix.
Elle ne peut effectuer que des calculs arithm�tiques basiques mais est capable de manipuler de tr�s grands nombres.
Pour la lancer taper simplement dc et un nombre suivi de "k" (par ex.: 6k et appuyez sur Entr�e) pour r�gler
la pr�cision. Vous pouvez maintenant effectuer des calculs (+-*/) et afficher le bas de la pile avec "p".
Le programme s'interrompt avec Crtl-d.
Nom: | dc (desk calculator) |
Site: | Fait partie de tous les syst�mes Unix. Sous Linux, le paquetage pour dc est appel� bc |
Licence: | en principe la m�me que celle de votre syst�me Unix |
vc.pl
Cette calculatrice est �crite en Perl. C'est une impl�mentation int�ressante car c'est en fait une calculatrice
vectorielle. Vous pouvez bien s�r l'utiliser aussi pour l'arithm�tique normale dans la mesure ou un nombre unique
n'est qu'un vecteur � une seule dimension. Elle offre un syst�me d'aide int�gr� (tapez simplement help).
L'installation est facile car elle n'utilise que des modules perl standard.
x48
Ce programme est un �mulateur de la calculatrice HP-48 : vous pouvez faire tourner dessus
du code HP v�ritable. La calculatrice n'installe que l'�mulateur, pas le code de la ROM HP-48 qu'il
vous faudra charger. Le programme x48 est sous licence GPL mais la ROM est bien s�r sous copyright HP.
La calculatrice hp48 d'origine n'est plus fabriqu�e par HP et ils autorisent maintenant le t�l�chargement
des images de ROM depuis l'ann�e 2000.
NB : C'est sympa d'avoir une calculatrice comme celle-ci � l'�cran de l'ordinateur mais �a ne remplace
toujours pas une HP-48 d'origine car x48 n'a pas une tr�s bonne interface clavier. Finalement vous devez
vous d�brouiller en utilisant la souris la plupart du temps et c'est assez lent.
C'est parce que x48 est un �mulateur qu'il peut faire toutes les op�rations exactement comme la HP-48 originale.
La derni�re version que j'ai pu trouver �tait la 0.4 qui a d�j� quelques ann�es. Elle fonctionne cependant sans
aucun probl�me. La version 0.4 a besoin d'un petit patch pour se compiler sur un syst�me Linux moderne. Vous
trouverez le manuel d'origine, quelques images ROM, le patch et des instructions suppl�mentaires sur la page
"d�tails sur x48" ci-dessous.
hp67
Ce programme poss�de toutes les fonctionnalit�s d'une vraie hp67 mais il a �t� compl�tement r��crit et est
ind�pendant du code de la hp67. Ce n'est pas un �mulateur. L'interface para�t un peu basique (ncurses) mais
c'est tr�s fonctionnel. Une excellente documentation l'accompagne, sous la forme d'une page de manuel (voir
lien ci-dessous).
On peut m�me la programmer comme une vraie hp67. Pour commencer � programmer, utiliser la touche "prog" puis
saisir le programme, en commen�ant par un nom de programme. Pour sortir du mode programmation
on utilise "immed". Pour ex�cuter un programme "run nom_du_programme".
Voici un exemple. Il n'est gu�re utilisable car il n'impl�mente que la fonction "carr� d'un nombre" mais c'est
pour vous donner une id�e de la fa�on de programmer la hp67:
prog (entrer en mode programmation)
label mon_programme
ENTER
*
rtn
immed (sortie du mode programmation)
Maintenant vous pouvez utiliser "run mon_programme" pour ex�cuter x^2.
kalc
kalc fonctionne �galement en ligne de commande. Le programme utilise la biblioth�que readline et a quelques fonctions
de compl�tion de commande. kalc fonctionne avec des nombres r�els et des nombres complexes, des entiers sans limitation
de taille, des nombres r�els de pr�cision arbitraire. La documentation est aussi tr�s bonne (voir fichier pdf ci-dessous).
dcalc
C'est encore un programme de calcul bas� sur ncurses qui tourne en console. Il n'est pas programmable comme hp67
mais il convient bien pour convertir des nombres entre hexad�cimal, binaire et d�cimal.
rpncalc
Encore une calculatrice RPN en console mais qui n'est pas sur une base ncurses.
Tr�s similaire � la commande "dc", mais beaucoup plus avanc�, rpncalc impl�mente les fonctionnalit�s de la HP28s.
Il peut manipuler les nombres complexes, les vecteurs et les matrices.
rpncalc fait partie de Debian.
gdcalc
Voici une jolie calculatrice utilisant l'interface graphique gtk.
Vous pouvez la configurer pour entrer vos calculs en utilisant soit la m�thode RPN de notation polonaise invers�e
soit la m�thode alg�brique.
Elle offre quatre modes: scientifique, financier, statistique, et un mode de conversion de nombre appel� mode
de programmation ("programming mode"). Ce mode n'a cependant rien � voir avec la programmation de la calculatrice
(� l'image de x48 ou hp67). Vous avez l� tout ce qu'on peut attendre d'une calculatrice de bureau.
Pour pouvoir utiliser le menu de conversion d'unit�s, il faut avoir install� le programme units(1) qui fait partie
de pratiquement toutes les distributions Linux (ou depuis ftp://ftp.gnu.org/gnu/units/)
grpn
C'est une calculatrice RPN �galement bas�e sur l'interface gtk. Elle offre les fonctions de base
d'alg�bre et de trigonom�trie.
galculator
Ce programme est tr�s similaire � gdcalc du point de vue des fonctionnalit�s. On peut le configurer pour utiliser
la m�thode de saisie RPN ou alg�brique. galculator permet la conversion de nombres binaire / hexad�cimal /d�cimal
et a toutes les fonctions scientifiques de base.
galculator utilisant les toutes derni�res biblioth�ques gtk (gtk 2.2) risque d'�tre probl�matique � installer
sur des syst�mes Linux un peu anciens. C'est cependant un programme de bonne facture dont l'interface utilisateur
est agr�able.
calcoo
C'est un programme ancien, configurable soit en mode RPN soit en mode alg�brique, qui convient bien pour
l'alg�bre de base et la trigonom�trie.
Kalk
C'est une calculatrice RPN basique (mais libre) pour le Palm Pilot. Le Palm ne permet pas de faire tourner Linux mais
je pr�sente ce programme parce qu'il est disponible sous licence GPL, chose rare parmi les logiciels pour Palm.
GCalc
Ce n'est pas du tout une calculatrice RPN mais ce programme est toujours tr�s tr�s utile. C'est une calculatrice
graphique en ligne bas�e sur Java qui permet de dessiner instantan�ment des graphiques dans un navigateur.
Pour l'utiliser il vous faudra le greffon Java pour Mozilla ou Netscape qui
fait partie du paquetage jre de blackdown.org.
Conclusion
Comme vous pouvez le constater il existe des calculatrices utilisant la notation polonaise invers�e (RPN)
pour tous les go�ts. Il en existe probablement d'autres mais les programmes cit�s ci-dessus sont tous sous
licence GPL.
R�f�rences
- page de t�l�chargement des version de calculatrice disponibles lors de la r�daction de cet article
- images ROM HP48, de hpcalc.org
- http://www.hpmuseum.org/, mus�e virtuel � propos de toutes les calculatrices HP
- area48.com/history.html, l'histoire de la fameuse calculatrice HP48
- www.transnull.com/hp48.html, FAQs et images ROM pour la HP48
- www.hp-collection.org/hewlettpackard.htm, une collection
priv�e de presque toutes les calculatrices HP - la page est en allemand
- www.limov.com/rcl20/, "RCL 20: des gens des r�ves et des calculatrices HP" (RCL 20: People, Dreams & HP Calculators).
Voici un livre (pas de version en ligne) � propos de la fameuse HP41
- www.finseth.com/~fin/hpdata.html, base de donn�es HP, des d�tails � propos de toutes les calculatrices HP
- www.hp.com/calculators/, le site officiel des calculatrices HP (tous les autres
liens ci-dessus sont des initiatives personnelles de fans de calculatrices RPN HP). Il n'y a plus grand-chose de disponible
qui provienne de HP de nos jours. Une page assez triste.