Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
stellwerksim:erbauer:themascripte:upn [2018/09/30 17:40] – Tag hinzugefügt petero | stellwerksim:erbauer:themascripte:upn [2021/04/14 16:13] (aktuell) – Formatierung an andere Seiten angepasst DevonFrosch | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ===== Umgekehrt polnische Notation (UPN) ===== | + | ====== Umgekehrt polnische Notation (UPN) ====== |
Im Gegensatz zu der Schreibweise, | Im Gegensatz zu der Schreibweise, | ||
Folgende Beispiele als Erklärung: | Folgende Beispiele als Erklärung: | ||
- | === Beispiel 1 === | + | ==== Beispiel 1 ==== |
Es soll 2 und 4 addiert werden. Die Operanden sind dann 2 und 4, der Operator ist +. | Es soll 2 und 4 addiert werden. Die Operanden sind dann 2 und 4, der Operator ist +. | ||
Zeile 13: | Zeile 13: | ||
Zwischen den beiden Zahlen muss zwingend ein Trennzeichen (Komma) sein, damit die Zahlenfolge 2 4 von der Zahl 24 unterschieden werden kann). | Zwischen den beiden Zahlen muss zwingend ein Trennzeichen (Komma) sein, damit die Zahlenfolge 2 4 von der Zahl 24 unterschieden werden kann). | ||
- | === Beispiel 2 === | + | ==== Beispiel 2 ==== |
< | < | ||
In der UPN heißt es: | In der UPN heißt es: | ||
Zeile 19: | Zeile 19: | ||
Es wird also auch hier zuerst der Ausdruck in den Klammern ausgerechnet und danach die daraus entstandene Zahl 3 mit 3 multipliziert. Da die Reihenfolge der Abarbeitung festgelegt ist, müssen keine Klammern oder Rechenregeln wie "Punkt vor Strich" | Es wird also auch hier zuerst der Ausdruck in den Klammern ausgerechnet und danach die daraus entstandene Zahl 3 mit 3 multipliziert. Da die Reihenfolge der Abarbeitung festgelegt ist, müssen keine Klammern oder Rechenregeln wie "Punkt vor Strich" | ||
- | === Beispiel 3 === | + | ==== Beispiel 3 ==== |
< | < | ||
In der UPN heisst es: | In der UPN heisst es: | ||
< | < | ||
Hier werden die gleichen Schritte wie in Beispiel 2 ausgeführt. | Hier werden die gleichen Schritte wie in Beispiel 2 ausgeführt. | ||
+ | |||
===== Regeln im StellwerkSim ===== | ===== Regeln im StellwerkSim ===== | ||
<note important> | <note important> | ||
Zeile 34: | Zeile 35: | ||
Die Werte werden beim Auslesen des Befehls in den Speicher geladen, die Operatoren dagegen direkt auf die " | Die Werte werden beim Auslesen des Befehls in den Speicher geladen, die Operatoren dagegen direkt auf die " | ||
- | === Beispiel 1 === | + | ==== Beispiel 1 ==== |
< | < | ||
Als erstes wird hier die Zahl 2 und die Zahl 4 in den Speicher geladen. Die Zahl 6 wird hier als Ergebnis ausgegeben. | Als erstes wird hier die Zahl 2 und die Zahl 4 in den Speicher geladen. Die Zahl 6 wird hier als Ergebnis ausgegeben. | ||
- | === Beispiel 2 === | + | ==== Beispiel 2 ==== |
< | < | ||
Bei diesem Beispiel wird auch wieder die Zahl 2 und 4 in den Speicher geladen. Im Gegensatz zum vorherigen wird aber das Ergebnis, da noch weitere Aktionen folgen, ebenfalls in den Speicher geladen. Dies trifft auch auf die Zahl 6 zu, welche hier als Multiplikator verwendet wird. | Bei diesem Beispiel wird auch wieder die Zahl 2 und 4 in den Speicher geladen. Im Gegensatz zum vorherigen wird aber das Ergebnis, da noch weitere Aktionen folgen, ebenfalls in den Speicher geladen. Dies trifft auch auf die Zahl 6 zu, welche hier als Multiplikator verwendet wird. | ||
Zeile 44: | Zeile 45: | ||
Das Ergebnis, welches dann schlussendlich ausgegeben wird, ist die Zahl 36. | Das Ergebnis, welches dann schlussendlich ausgegeben wird, ist die Zahl 36. | ||
- | === Beispiel 3 === | + | ==== Beispiel 3 ==== |
< | < | ||
Hier werden erst alle drei Zahlen in den Speicher geladen, anschliessend die letzen beiden addiert (4+6) und zum Schluss wird zu diesem Ergebnis die letzte Zahl (2) multipliziert. Das Ergebnis ist dann 20. | Hier werden erst alle drei Zahlen in den Speicher geladen, anschliessend die letzen beiden addiert (4+6) und zum Schluss wird zu diesem Ergebnis die letzte Zahl (2) multipliziert. Das Ergebnis ist dann 20. | ||
{{tag> | {{tag> |