Donnerstag, 7. Januar 2010
Einfacher Rechner mittels Stack - UPN-Rechner
Schreiben Sie ein Pogramm, welches einen Rechner für umgekehrt polnische Notation simuliert. Die umgekehrt polnische Notation (UPN) ist eine Postfix-Schreibweise, d.h. die Operatoren stehen immer nach den Operanden.
z.B: wird der Ausdruck
Die Operanden werden auf den Stack
Folgendes Bild zeigt die Operationen für das Beispiel
z.B: wird der Ausdruck
3 + 4 * 5
in UPN als 3 4 5 * +
geschrieben. Diese Art von Ausdrücken ist besonders leicht zu interpretieren und zu berechnen, da man nur einen Stack benötigt.Die Operanden werden auf den Stack
gepusht. Wird ein Operator eingegeben, so werden die nötigen Operanden vom Stack
gepoppt, die Operation ausgeführt und das Ergebnis wieder auf den Stack
gepusht.
Folgendes Bild zeigt die Operationen für das Beispiel
3 4 5 * +
:UPN Rechner |
Eingabeverarbeitung:
Ein Ausdruck soll eingegeben werden. Die Berechnung erfolgt dann nach Eingabe vonStrg+D
(EOF). Die einzelnen Elemente (Operanden und Opertoren) müssen mit whitespaces (Leerzeichen, Tabulatoren und Newlines) getrennt werden.Hintergrund zu UPN:
UPN geht auf den polnischen Logiker Jan Lukasiewicz (1878-1956) zurück. UPN ist eine Schreibweise von Rechenoperationen, bei der das Verknüpfungssymbol hinter die zu verknüpfenden Operanden geschrieben wird und nicht dazwischen, wie allgemein üblich. Durch die daraus entstehende Schachtelung der Operationen ineinander, wird eine Klammersetzung unötig. Der Name Lukasiewicz ist für viele unaussprechlich, daher wirdumgekehrt polnische Notationverwendet (engl. RPN reverse polish notation).
Abonnieren Posts [Atom]
Kommentar veröffentlichen