Wissenschaftliche Taschenrechner mit umgekehrt polnischer Notation

Aus LinuxUser 03/2004

Wissenschaftliche Taschenrechner mit umgekehrt polnischer Notation

Polnische Buttercreme, umgedreht

Taschenrechner für den Desktop gibt es reichlich; mit der umgekehrt polnischen Notation können davon nur wenige etwas anfangen. Wir geben eine Einführung in diese ausgefallene mathematische Schreibweise und stellen Programme vor, die sie beherrschen.

Haben Sie sich schon einmal gefragt, wieso man mathematische Ausdrücke so schreibt, wie Sie es schon in der Grundschule gelernt haben? Die umgekehrt polnische Notation (UPN) geht einen anderen Weg als die arithmetische Notation aus dem mathematischen Alltag.

Kochkunst, arithmetisch

Man braucht jedoch kein Mathematikstudium, um den Unterschied zwischen den Schreibweisen zu verstehen. Statt einer mathematischen Gleichung zeigen wir als Beispiel ein Rezept für eine Buttercreme, zuerst in der arithmetischen Notation.

Wir nehmen 250g Butter und fügen hinzu (475ml Milch, welcher zugegeben wurde (25ml Milch verrührt mit (1 Tüte Puddingpulver vermischt mit 6 EL Zucker))).

Alles klar? Die richtige Reihenfolge ist wichtig! Da dieses Rezept etwas unübersichtlich ist, dasselbe in der UPN.

Wir nehmen 250 Gramm Butter, 425 ml Milch, 25 ml Milch, eine Tüte Puddingpulver und 6 Esslöffel Zucker. Den Zucker mit dem Puddingpulver mischen; mit der kleinen Milchmenge verrühren; dieses in die grosse Milch geben; diesen Pudding zur Butter hinzufügen.

Listing 1 zeigt, wie es auf dem Küchentisch aussieht: Die Butter an der hinteren Tischkante und davor aufgereiht die weiteren Zutaten (Operanden) in einem Magazin (engl.: stack). Die Handlungsanweisungen mischen, rühren, mischen, rühren sind unsere Operatoren, in der Mathematik z. B. + und *. Wir nehmen zwei Operanden aus dem Stack (Zucker und Puddingpulver) und den nächsten Operator (mischen).

Jan Lukasiewicz übertrug dieses Konzept 1920 in die Mathematik. Seiner Herkunft aus Polen verdankt die Notation ihren Namen. Zunächst schrieb Lukasiewicz die Operatoren vor die Operanden; seit er diese Reihenfolge umdrehte, spricht man von der umgekehrt polnischen Notation.

Listing 1

Operanden und Operatoren

250g Butter—————————————+
475ml Milch—————————--+         +-rühren
25ml Milch———————+        +-mischen-+
1Tüte Puddingpulver--+         +-rühren-+
6EL Zucker———--+-mischen-+

Listing 2

Die arithmetische und die umgekehrt polnische Notation

umgekehrt polnische Notation: 250x 475y 25y 1p 6z + * + *
arithmetische Notation: 250x * (475y + 25y * (1p + 6z))

Gewöhnlich beherrschen Taschenrechner nur die arithmetische Notation. Einzig HP stellte schon 1968 mit dem HP9100A einen Desktop Scientific Calculator vor, der die UPN verwendete. Das Gerät war bis zu zehn Mal schneller als seine damaligen Konkurrenten; die Werbung nannte den HP9100A übrigens als erstes Personal Computer[1]. Auch heute noch bietet ausschließlich HP Taschenrechner mit dieser Notation an.

Software-Lösung

Die UPN-Rechner haben allerdings einen stolzen Preis. Um diese Investition kommen Sie herum, wenn Sie eines von vielen Taschenrechnerprogrammen verwenden, die die UPN beherrschen. Das Programmieren solcher Rechner ist eine beliebte Hausaufgabe für Studenten. Deshalb existiert eine Vielzahl solcher Programme, die aber zum Großteil im Anfangsstadium verbleiben.

Im Web finden Sie zum Ausprobieren direkt benutzbare Java- und Javascript-Rechner [2], [3]. Auch für den eigenen Desktop gibt es mehrere Exemplare.

Basic ist zurück

Der Rechner Yacal ist in der Programmiersprache Yabasic[4] (Yet Another Basic) geschrieben. Nach der Installation dieser Basic-Variante mit rpm -Uvh yabasic-2.741-1.i386.rpm (Debian: apt-get install yabasic) als root – das Paket liegt auf der Heft-CD – entpacken Sie Yacal.

mkdir yacal
cd yacal
unzip /pfad/zu/Yacal.zip

Danach startet das Kommando yabasic YACAL.YAB den Rechner (Abbildung 1).

In der Datei UPN-Lehrgang.txt im Yacal-Verzeichnis finden Sie eine ausführliche Anleitung zur UPN und zu Yacal.

Die Bedienung des Rechners ist intuitiv: Die Eingabe einer Zahl mit anschließendem Enter legt diese unter der Bezeichnung x ganz vorne in den Stack und drängt vorhandene Einträge nach hinten. Ein Klick auf einen Operator wendet diesen auf die beiden vordersten Zahlen (x und y) an, das Ergebnis wird zum neuen x. Die hinteren Zahlen aus dem Stack rücken daraufhin nach vorne.

Abbildung 1: Yacal ist mit Yabasic auf vielen Betriebssystemen lauffähig.

Abbildung 1: Yacal ist mit Yabasic auf vielen Betriebssystemen lauffähig.

Calcoo

Für diesen Taschenrechner benötigen Sie die GTK-Bibliothek, die sich im Paket gtk2 (Suse, Red Hat), gtk+2.0 (Mandrake) oder libgtk2.0-common (Debian) verbirgt. Nach der Installation von GTK reicht bei RPM-basierten Distributionen rpm -Uvh calcoo-1.3.15-1.i386.rpm, das Paket liegt auf der Heft-CD. Unter Debian löst apt-get install calcoo die Abhängigkeiten und installiert den Rechner.

Calcoo (Abbildung 2) beherrscht neben der UPN auch die arithmetische Notation, die es in der Voreinstellung verwendet. Im Einstellungsdialog – zu erreichen über den !RPN (englisch für UPN) um.

Etwas anders als Yacal verwertet Calcoo eingegebene Zahlen: So lädt Enter eine eingegebene Zahl als nächsten Registereintrag y; der aktuelle Inhalt vom Haupt-Display behält dabei ebenfalls den eingegebenen Wert und steht gleichzeitig für das erste Register x. So ergibt die Eingabe von 3 gefolgt von Enter für y den Wert drei, gleichzeitig bleibt die 3 als x im ersten Register. Ein darauf folgendes + beispielsweise berechnet also 3 + 3, leert das Register y und schreibt das Ergebnis 6 als x ins Haupt-Display.

Die umfangreichen Funktionen zum Registertausch trösten über die gewöhnungsbedürftige Anzeige hinweg. So lassen sich die Register t, z und y direkt mit x auswechseln. Weiterhin ist es möglich x im Zwischenspeicher m zu speichern oder dagegen auszutauschen.

Abbildung 2: Calcoo verwirrt mit seiner Beschriftung, bietet aber komfortable Registertauschfunktionen.

Abbildung 2: Calcoo verwirrt mit seiner Beschriftung, bietet aber komfortable Registertauschfunktionen.

Qalculate!

Um seine zahlreichen Funktionen zu verwirklichen, erfordert Qalculate neben der GTK-Bibliothek die Pakete wget, glade2, libxml2, gnuplot und die Mathematikbibliotheken gmp (Mandrake: libgmp3) sowie cln (Class Library for Numbers) von der Heft-CD. Unter Debian ist Qalculate nur für testing und unstable verfügbar.

Im Gegensatz zu den anderen Kandidaten benötigt Qalculate im UPN-Modus kein Enter nach Eingabe einer Zahl, die Leertaste separiert die Operanden. Das macht den Rechner für einfache UPN-Rechnungen nicht besonders intuitiv, in der Kombination mit seinen zahlreichen anderen Möglichkeiten gleicht Qalculate das aber wieder aus.

Er stellt auf Wunsch gemischte oder unechte Brüche dar (Fractional DisplayCombined oder Fractional DisplayFraction). Beim Programmstart holt sich Qalculate mit wget aktuelle Kurse für internationale Währungen aus dem Internet und wird damit zum Währungsumrechner. Hinter dem Button Units verbirgt sich eine Vielzahl weiterer Maßeinheiten aus verschiedenen Bereichen, die sich beliebig erweitern und verändern lassen (Abbildung 3).

Abbildung 3: Äpfel und Birnen lassen sich addieren!

Abbildung 3: Äpfel und Birnen lassen sich addieren!

Mit Hilfe von Gnuplot stellt Qalculate mathematische Funktionen sogar grafisch dar. Zweifellos ist es damit das umfangreichste der hier vorgestellten Rechenprogramme.

Der Autor

Nach seiner Ausbildung zum Informationselektroniker an der TU-Berlin gewann Olaf Tonnätt im Preisausschreiben statt eines C64 den Hauptpreis: einen P2000C. Das Betriebssystem CP/M überzeugte ihn so sehr, dass er die Epoche der QDOS-basierten Systeme auslies und über AIX zu Linux kam. Zu finden ist er auf http://www.linuxspider.de.

LinuxUser 03/2004 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben