Calculatrices RPN (notation polonaise invers�e) pour Linux

ArticleCategory: Hardware

Applications

AuthorImage:[Here we need a little image from you]

[Photo of the Author]

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:

hp-calc and tux

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 :

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

Nom:rpnjcalc
Site:http://main.linuxfocus.org/~guido/javascript/rpnjcalcallver.html
Licence:GPL

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�).

Nom:hp-35
Site:Inconnu, r�cup�r� depuis http://www.hpmuseum.org. T�l�chargez ici hp-35.zip
Licence:GPL

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.

Nom:vc (vector calculator)
Site:http://vc-calc.sourceforge.net/
Licence:GPL

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.

Nom:x48
Site:ftp://www.sunsite.unc.edu/pub/linux/system/emulators/
D�tails sur x48: "d�tails sur x48", installation, documentation, images ROM (voir aussi les liens � la fin de cet article pour d'autres images ROM)
Licence:GPL, mais une image ROM HP est n�cessaire

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.

Nom:hp67
Manuel:La page de manuel de la hp67 au format html
Site:http://www.ibiblio.org/pub/Linux/apps/math/calc/
Licence:GPL

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).

Nom:kalc
Manuel:kalc.pdf 230K
Site:http://sourceforge.net/projects/kalc/
Licence:GPL

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.

Nom:dcalc
Site:http://www.ibiblio.org/pub/Linux/apps/math/calc/
Licence:GPL

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.
Nom:rpncalc
Site:http://www.gnu.org/directory/science/math/rpncalc.html
Licence:GPL

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/)
Nom:gdcalc
Site:http://bhepple.freeshell.org/dcalc/unix/
Licence:GPL

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.
Nom:grpn
Site:http://lashwhip.com/grpn.html
Licence:GPL

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.
Nom:galculator
Site:http://galculator.sourceforge.net/
Licence:GPL

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.
Nom:calcoo
Site:http://calcoo.sourceforge.net
Licence:GPL

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.
Nom:kalk
Site:http://www.klawitter.de/palm/kalk.html
Licence:GPL

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.
Nom:GCalc
Site:http://humblestar.net/GCalc/
Licence:GPL

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