Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
gf_informatik:assembler:aufgaben_d [2024-06-07 13:33] – angelegt hof | gf_informatik:assembler:aufgaben_d [2024-06-07 13:37] (aktuell) – hof | ||
---|---|---|---|
Zeile 5: | Zeile 5: | ||
**Ziel:** einen Countdown (10 bis 0) mit dem LMC programmieren. | **Ziel:** einen Countdown (10 bis 0) mit dem LMC programmieren. | ||
- | Dokumentiere die Aufgabe auf OneNote. Mache dazu eine neue Seite. | + | Dokumentiere die Aufgabe, z.B. auf OneNote. Mache dazu eine neue Seite. |
- | 1) Programmiere zuerst den Countdown mit Python mit einer *while-*Schleife. Es sollen also einfach der Reihe nach die Zahlen von 10 bis 0 ausgegeben werden. Füge den Code als Screenshot in die Dokumentation ein. | + | 1) Programmiere zuerst den Countdown mit Python mit einer `while`-Schleife. Es sollen also einfach der Reihe nach die Zahlen von 10 bis 0 ausgegeben werden. Füge den Code als Screenshot in die Dokumentation ein. |
++++Lösungen| | ++++Lösungen| | ||
Zeile 55: | Zeile 55: | ||
++++ | ++++ | ||
- | 4) Am Code von der letzten Aufgabe ist etwas sehr mühsam: Man muss immer zuerst die beiden Zahlen (Startwert 10 und Schrittgrösse 1) von Hand in den Speicher schreiben. Ansonsten gibt der Code keinen Countdown aus. Hier gibt es einen Ausweg: Mithilfe des Keywords | + | 4) Am Code von der letzten Aufgabe ist etwas sehr mühsam: Man muss immer zuerst die beiden Zahlen (Startwert 10 und Schrittgrösse 1) von Hand in den Speicher schreiben. Ansonsten gibt der Code keinen Countdown aus. Hier gibt es einen Ausweg: Mithilfe des Befehls |
< | < | ||
... | ... | ||
Zeile 79: | Zeile 79: | ||
++++ | ++++ | ||
- | 5) Im Befehl `BRP 1` geben wir an, dass wir (falls Akkumulator ≥0) zu Zeile 1 des Programms springen wollen. Diese Notation wird bei etwas komplexeren Codes schnell mühsam. Denn wenn sich der Code ändert, *ändern sich auch die Zeilenreferenzen*. Passt man also seinen Code an, muss man ständig die Zeilenreferenzen überprüfen und gegebenenfalls anpassen. Dieses Problem umgehen kann man mit **Sprung-Instruktionen**: | + | 5) Im Befehl `BRP 1` geben wir an, dass wir (falls Akkumulator ≥0) zu Zeile 1 des Programms springen wollen. Diese Notation wird bei etwas komplexeren Codes schnell mühsam. Denn wenn sich der Code ändert, *ändern sich auch die Zeilenreferenzen*. Passt man also seinen Code an, muss man ständig die Zeilenreferenzen überprüfen und gegebenenfalls anpassen. Dieses Problem umgehen kann man mit **Labels**: |
- | Kennzeichne eine Zeile Code, du der du springen möchtest, mit einem Keyword, z.B. wird Zeile 1 im Code hier von `OUT` zu `LOOP OUT`. Mit `< | + | Kennzeichne eine Zeile Code, du der du springen möchtest, mit einem Label, z.B. wird Zeile 1 im Code hier von `OUT` zu `LOOP OUT`. Mit `< |
Implementiere dies in deinem Code. Screenshot in Dokumentation einfügen. | Implementiere dies in deinem Code. Screenshot in Dokumentation einfügen. | ||
Zeile 134: | Zeile 134: | ||
**Ziel:** Die Benutzerin soll nacheinander zwei Zahlen eingeben. Es soll dann die grössere der beiden Zahlen ermittelt und ausgegeben werden. | **Ziel:** Die Benutzerin soll nacheinander zwei Zahlen eingeben. Es soll dann die grössere der beiden Zahlen ermittelt und ausgegeben werden. | ||
- | 1) Programmiere das Programm zuerst mit Python. Verwende dazu eine if-else-Verzweigung. | + | 1) Programmiere das Programm zuerst mit Python. Verwende dazu eine `if`-`else`-Verzweigung. |
++++Lösung| | ++++Lösung| | ||
Zeile 196: | Zeile 196: | ||
===== Lösungen ===== | ===== Lösungen ===== | ||
- | < | + | < |
++++Lösungen| | ++++Lösungen| | ||