26.03.2007, 02:16
|
#7139
|
Abonnent
Registriert seit: 22.04.2003
Ort: Wien
Beiträge: 1.198
|
3.10.86
Zitat:
Aufgabenstellung:
Lesen Sie die Eingabefolge ein und werten Sie die Befehle aus. Ein UPN Rechner verwaltet einen Stack, auf den die eingegebenen Zahlen gelegt werden. Eine Operation nimmt sich zwei Elemente vom Stack, berechnet das Ergebnis und legt das Ergebnis wieder auf den Stack.
Am Ende der Eingabe geben Sie den Inhalt des Stacks aus. Die Werte sollen als Integer ausgegeben werden, jeweils getrennt durch ein Leerzeichen. Befinden sich noch mehrere Elemente am Stack, so sollen diese in korrekter Reihenfolge (das unterste Element des Stacks als Erstes) ausgegeben werden.
Wir empfehlen folgenden Entwurf: Eine Klasse Main, die Daten einliest, ausgibt und die Fehlerbehandlung durchführt und eine Klasse Upn, die die Funktionalit?t des Rechners implementiert.
Eingabedaten:
Die Eingabe besteht aus Integer-Zahlen und Operationen. Lesen Sie eine Eingabe nach der anderen ein. Wenn eine Zahl gelesen wurde, wird diese auf den Stack gelegt. Wenn die Eingabe eine Operation ist, werden die Operanden vom Stack gelesen und das Ergebnis der Operation auf den Stack gelegt. Danach fahren Sie mit der Verarbeitung fort. Achten Sie darauf, dass bei mehrstelligen Operationen die Operanden in der falschen Reihenfolge auf dem Stack liegen. (z.B.: 5 6 - bedeutet 5 - 6) Der UPN Rechner soll die Operationen +,-,* und / beherrschen.
Ausgabedaten:
Bei korrekter Eingabe geben Sie den resultierenden Stack aus. Die Zahlen werden als int ausgegeben!
Fehlerbehandlung:
Enthält der Eingabedatensatz einen ungültigen Datentyp oder einen falschen Operator, so soll einmal das Zeichen "?", gefolgt von einem Zeilenvorschub, ausgegeben werden. Falls w?hrend der Abarbeitung ein Fehler auftritt (Division durch 0, Stack leer, ...) geben Sie "FEHLER", gefolgt von einem Zeilenvorschub aus.
|
____________________________________
"Ford," he said, "you're turning into a penguin. Stop it."
|
|
|