RPN (UPN) Rechner f�r 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 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:
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:
- RPN spart Zeit und Tastendr�cke. Das Verfahren ist
vergleichbar mit dem Berechnen einer Formel im Kopf oder auf
dem Papier.
- Man sieht sofort alle Zwischenergebnisse und nicht nur
ein einziges Endergebnis. Das ist ein sehr n�tzlicher
Nebeneffekt.
- Die Zwischenergebnisse machen es viel leichter m�glich,
der Rechnung zu folgen und Fehler zu finden. Der Benutzer
definiert dabei die Priorit�t (Reihenfolge) der
Operationen.
- RPN ist logisch, weil man zuerst zwei Zahlen eingibt und
dann sagt, was damit gemacht werden soll.
- Da Zwischenergebnisse angezeigt werden, sind
Eingabefehler sofort offensichtlich. Bei algebraischen
Rechnern sieht man dagegen nur ein einziges Endergebnis und
kann schwer absch�tzen, ob es richtig ist. Das Weglassen einer
einzigen Klammer wird bei einem algebraischen Rechner oft
erst viel sp�ter festgestellt, wenn der gesamte Teilausdruck
berechnet wird.
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
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.
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.
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).
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).
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.
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.
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).
grpn
Das ist auch ein gtk
basierter RPN Rechner. Er bietet einfache Algebra und
Trigonometrie.
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.
calcoo
Das ist ein �lteres Modell.
Er kann mit RPN oder algebraischer Eingabe arbeiten. Er ist gut
f�r einfache Algebra und Trigonometrie.
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).
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.
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
- Download
Seite, die Versionen der Rechner wie sie verf�gbar waren,
als der Artikel geschrieben wurde
- HP48
rom images, von hpcalc.org
- http://www.hpmuseum.org/, Ein
online Museum �ber alle HP Taschenrechner
- area48.com/history.html,
Geschichte der ber�hmten HP48 Rechner
- www.transnull.com/hp48.html,
FAQs und ROM Images f�r den HP48
- www.hp-collection.org/hewlettpackard.htm,
eine private Sammlung von fast allen HP Rechnern
- www.limov.com/rcl20/, RCL
20: People, Dreams & HP Calculators. Das ist ein Buch
(keine online Version) �ber den HP41
- www.finseth.com/~fin/hpdata.html,
HP Datenbank, Details zu allen HP Tachenrechnern
- www.hp.com/calculators/,
die offizielle HP Tachenrechner Seite (alle anderen oben
aufgef�hrten Links sind von privaten Fans). HP hat leider
nicht mehr viel auf seiner Seite zu bieten. Eine sehr
traurige Seite.