RPN (UPN) Rechner f�r 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 de Guido Socher

AboutTheAuthor:[A small biography about the author]

Mein erster RPN Tachenrechner war ein HP15c und es war Liebe auf den ersten Blick.

Abstract:

RPN steht f�r Reverse Polish Notation. Im Deutschen sagt man oft auch UPN f�r Umgekehrte Polnische Notation. Reverse Polish Notation wurde 1920 von Jan Lukasiewicz als ein Verfahren entwickelt, um mathematische Ausdr�cke ohne Klammern zu schreiben. Man braucht einige Minuten, um RPN zu lernen, aber schon bald stellt man fest, dass dieses Verfahren der algebraischen Eingabemethode �berlegen ist.

ArticleIllustration:

hp-calc and tux

ArticleBody:

Einf�hrung

Die RPN/UPN Tachenrechner wurden mit den HP Rechnern bekannt. HP benutzte diese Eingabemethode schon f�r ihren ersten Rechner 1968. Wenn man das Internet durchsucht, findet man einen ganzen Fanclub f�r diese HP Tachenrechner. Am Ende des Artikels finden sich hierzu auch einige sehr gute Links. Die meisten dieser HP Rechner sind heute Sammlerst�cke und werden f�r Preise gehandelt, die den urspr�nglichen Preis dieser Rechner weit �bersteigen.

In diesem Artikel werde ich einige RPN "Tachenrechner" f�r den Linux Desktop vorstellen. Wir werden nicht nur HP Emulatoren betrachten, sondern auch andere RPN Rechner, die v�llig unabh�ngig von den HP Rechnern sind.

Wast ist RPN/UPN? Warum RPN/UPN?

RPN/UPN Rechner benutzen einen Stack (Stapel) und alle mathematischen Operationen werden unmittelbar auf der untersten Ebene des Stacks ausgef�hrt. Der Stack wird als Speicher f�r Ergebnisse, die zum weiteren Auswerten einer Formel ben�tigt werden, benutzt. Man braucht deshalb keine Klammern. Man gibt immer zuerst die Zahlen ein, schiebt sie in den Stack und dann sagt man was mit diesen Zahlen gemacht werden soll. Nehmen wir an, man m�chte
(( 3 + 1 )^2 + 1) * 4
berechnen. Dazu w�rde man folgenden eingeben:
3 enter
1 +      (man sieht sofort das Ergebnis dieser Operation: 4)

x^2      (man sieht sofort das Ergebnis dieser Operation: 16)
1+       (man sieht sofort das Ergebnis dieser Operation: 17)
4*       (Endergebnis: 68)
Zur Eingabe dieser Formel braucht man also 9 Tastendr�cke und man konnte alle Zwischenergebnisse sehen. Im Prinzip entspricht diese Eingabe, dem Verfahren, wie man so eine Formel im Kopf berechnen w�rde. Das Verfahren ist also viel "nat�rlicher". Es funktioniert genau wie dein "Kopf".

Wenn man das mit einem algebraischen Rechner vergleicht, w�rde man f�r dieselbe Formel 12 Tastendr�cke brauchen und man w�rde kein einziges Zwischenergebnis sehen. Die Vorteile sind mit anderen Worten:

Die Rechner

Wir fangen mit einigen einfachen Rechnern an, die man in seinem Webbrowser sofort online ausprobieren kann und sp�ter im Artikel kommen wir zu leistungsf�higeren Machinen.

rpnjcalc

Dieser Rechner benutzt Javascript. Es ist meine eigene Entwicklung und er l�uft in jedem modernen (!) Webbrowser (er funktioniert nicht 100%ig in opera 5/6, netscape 4 oder konquerer). Er unterscheidet sich von den meisten anderen Javascript Rechnern, weil man �ber die Tastatur Zahlen und einfache mathematische Operatoren eingeben kann. Zum Zum Ausprobieren einfach hier klicken

Name: rpnjcalc
Homepage: http://main.linuxfocus.org/~guido/javascript/rpnjcalcallver.html
Lizenz: GPL

hp-35

Dieser Rechner benutzt auch Javascript, aber es wird mehr Wert darauf gelegt, dass er wie ein richtiger (alter) HP-35 Tachenrechner aussieht. Man kann ihn online testen, indem man diesem Link folgt.
Wenn du den Rechner wirklich nutzen m�chtest, dann empfehle ich, das zip File herunterzuladen und lokal zu installieren, da dieser Rechner GIF-Bilder benutzt und die Antwortzeiten zum Laden dieser Bilder dann besser sind. Beachte auch, dass dieser Rechner nicht genau den gleichen Funktionsumfang wie ein richtiger HP35 hat. Er kann z.B. Trigonometie nur in Grad (0-360) ausf�hren.

Name: hp-35
Homepage: Unbekannt, von www.hpmuseum.org. Download hier:hp-35.zip
Lizenz: GPL

dc

Dieser Taschenrechner ist ein bekannter Unixbefehl. Man findet ihn selbst auf den �ltesten Unixsystemen. dc beherrscht nur einfache arithmetische Operationen, aber er kann sehr sehr lange Zahlen verarbeiten. Um dc zu starten, tippt man einfach dc und dann eine Zahl gefolgt von "k" (z.B. 6k und tipp dann Return). Das setzt die Aufl�sung der Stellen hinter dem Komma. Nun kann man Berechnungen (+-*/) ausf�hren und den unteren Level des Stacks mit "p" drucken. Man beendet dc mit crtl-d.

Name: dc (desk calculator)
Homepage: Teil jedes Unixsystems. Unter Linux nennt sich das Paket bc (aber der Befehl hei�t dc).
Lizenz: Normalerweise identisch zur Lizenz des Unixsystems.

vc.pl

Dieser Rechner ist in Perl geschrieben. Es ist eine interessante Implementation, weil es sich hier um einen Vektorrechner handelt. Man kann ihn nat�rlich auch f�r normale Arithmetik benutzen, da eine einzelne Zahl einfach ein eindimensionaler Vektor ist. vc.pl hat eine integrierte Hilfe (einfach help tippen). Die Installation ist einfach, da nur Standard Perlmodule gebraucht werden.

Name: vc (vector calculator)
Homepage: http://vc-calc.sourceforge.net/
Lizenz: GPL

x48

Dieser Rechner ist ein HP-48 Emulator. Das hei�t: man kann den echten Code von HP laufen lassen. Der Rechner stellt nur den Emulator zur Verf�gung, man muss dann noch den echten HP-48 ROM Code haben. x48 hat eine GPL Lizenz, aber das ROM hat nat�rlich ein HP Copyright. Der Original hp48 Rechner wird von HP nicht mehr produziert und HP erlabut Downloads von ROM Images seit 2000. Anmerkung: Es ist ganz nett, einen solchen Rechner auf dem Bildschirm zu haben, aber es ist nicht wirklich ein Ersatz f�r einen echten HP-48, da der x48 kein sehr gutes Tastaturinterface hat. Man benutzt deshalb die meiste Zeit die Maus und das ist sehr langsam.

Da der x48 ein Emulator ist, kann er alle Operationen ganau wie der Original HP-48 ausf�hren. Die letzte Version, die ich finden konnte ist 0.4. Sie ist schon einige Jahre alt. Version 0.4 braucht einen kleinen Patch, um auf einem modernem Linuxsystem sauber zu kompilieren. Ein Originalhandbuch, einige ROM Images, der Patch und weitere Informationen finden sich auf der "x48 Details Seite" weiter unten.

Name: x48
Homepage: ftp://www.sunsite.unc.edu/pub/linux/system/emulators/
Details zum x48: "x48 Details Seite", Installation, Dokumentation, rom images (siehe auch die Links am Ende des Artikels f�r weitere Rom Images)
Lizenz: GPL, aber man braucht ein HP Rom Image.

hp67

Dieser Rechner hat alle Funktionen des echten hp67, aber er wurde komplett neu geschrieben und ist unabh�ngig von dem echten hp67. Es ist kein Emulator. Das Interface ist sehr einfach gehalten (ncurses), aber der Funktionsumfang ist sehr gut. Der hp67 kommt mit ausgezeichneter Dokumentation in Form einer man-Page (siehe Link unten). Man kann ihn sogar wie einen echten hp67 programmieren. Um zu programmieren, dr�ckt man "prog" und gibt das Programm ein, angefangen mit einem "Label Namen". Den Programmiermodus verl��t man mit "immed". Um das Programm auszuf�hren, benutzt man "run Label Namen". Hier ist ein Beispiel. Mein Beispiel ist etwas nutzlos, da es nur die Quadratfunktion implementiert, aber man kann sehr sch�n sehen, wie man den hp67 programmiert.
prog (enter programming mode)

label myprg
ENTER
*
rtn
immed (end of programming mode)
Nun kann man mit "run myprg" einfach das Programm ausf�hren (x^2).

Name: hp67
Handbuch: Die hp67 man-page im Htmlformat
Homepage: http://www.ibiblio.org/pub/Linux/apps/math/calc/
Lizenz: GPL

kalc

kalc arbeitet auch auf der Kommandozeile. Er benutzt die readline Library und hat einige automatische Kommandovervollst�ndigungsfunktionen. Er kann mit realen und komplexen Zahlen arbeiten, kennt Integerzahlen beliebiger L�nge und Floatingpoint Zahen mit beliebiger Genauigkeit. Sehr gut ist auch die Dokumentation (siehe PDF Datei).

Name: kalc
Handbuch: kalc.pdf 230K
Homepage: http://sourceforge.net/projects/kalc/
Lizenz: GPL

dcalc

Dieser Rechner ist auch ein ncurses basierter Rechner der in einem Terminalfenster l�uft. Er ist nicht programmierbar wie der hp67, aber er kann sehr einfach Zahlen von hex in bin�r oder dezimal konvertieren.

Name: dcalc
Homepage: http://www.ibiblio.org/pub/Linux/apps/math/calc/
Lizenz: GPL

rpncalc

Das ist auch ein rpn Rechner f�r ein Terminalfenster, aber er ist nicht ncurses basiert. Er ist deshalb eher mit dem "dc" Befehl vergleichbar. rpncalc implementiert den Funktionsumfang eines HP28s. rpncalc ist deshalb dem "dc" Befehl weit �berlegen. Er kann komplexe Zahlen, Vektoren und Matrizen. rpncalc ist Teil von Debian.
Name: rpncalc
Homepage: http://www.gnu.org/directory/science/math/rpncalc.html
Lizenz: GPL

gdcalc

Das ist ein sch�ner Rechner mit einem gtk Userinterface. Man kann ihn konfigurieren, um entweder RPN oder algebraische Eingabe zu haben. Er hat 4 Modes: scientific, financial, statistics und einen Zahlenkonvertierungsmode namens "programming mode". Dieser Mode hat jedoch nichts mit der Programmierung des Rechners selbst zu tun (wie bei dem x48 oder hp67). Er bietet alles, was man von einem Desktop Rechner erwarten w�rde.

Um das "units conversion" Men� zu benutzen, muss man den units(1) Befehl von ftp://ftp.gnu.org/gnu/units/ installieren (units ist meist schon Teil der Linuxdistribution).
Name: gdcalc
Homepage: http://bhepple.freeshell.org/dcalc/unix/
Lizenz: GPL

grpn

Das ist auch ein gtk basierter RPN Rechner. Er bietet einfache Algebra und Trigonometrie.
Name: grpn
Homepage: http://lashwhip.com/grpn.html
Lizenz: GPL

galculator

Dieser Rechner ist in seinem Funktionsumfang dem gdcalc sehr �hnlich. Man kann ihn f�r RPN oder algebraische Eingabe konfigurieren. Er unterst�tzt Zahlenkonvertierung bin/hex/dec und hat alle grundlegenden wissenschaftlichen Funktionen.
Er benutzt jedoch die neusten gtk Libraries (gtk 2.2). Man hat daher Probleme, diesen Rechner auf einem �lteren Linuxsystem zu installieren. Er ist aber gut geschrieben und hat ein gef�lliges Interface.
Name: galculator
Homepage: http://galculator.sourceforge.net/
Lizenz: GPL

calcoo

Das ist ein �lteres Modell. Er kann mit RPN oder algebraischer Eingabe arbeiten. Er ist gut f�r einfache Algebra und Trigonometrie.
Name: calcoo
Homepage: http://calcoo.sourceforge.net
Lizenz: GPL

Kalk

Kalk ist ein einfacher (aber freier) RPN Rechner f�r den Palm-Pilot. Der Palm l�uft nicht unter Linux, aber ich pr�sentiere Kalk hier, weil er unter der GPL Lizenz steht (selten f�r Palm Software).
Name: kalk
Homepage: http://www.klawitter.de/palm/kalk.html
Lizenz: GPL

GCalc

Das ist �berhaupt kein RPN Rechner, aber er ist trotzdem sehr n�tzlich. Es ist ein Java basierter Online-Funktionsplotter. Um ihn zu benutzen, braucht man das Java Plugin f�r mozilla oder netscape. Das Plugin ist Teil des jre Paketes von blackdown.org. Mit GCalc kann man sofort Grafen in einem Javaf�higen Browser zeichnen.
Name: GCalc
Homepage: http://humblestar.net/GCalc/
Lizenz: GPL

Zusammenfassung

Wie man sehen kann, gibt es RPN Rechner f�r jeden Geschmack. Es gibt sicher noch viel mehr, aber die oben genannten haben alle eine GPL Lizenz.

Referenzen