Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
gf_informatik:computerarchitektur_sca:zusatzaufgaben [2023-09-02 11:22] – [Lösungen] sca | gf_informatik:computerarchitektur_sca:zusatzaufgaben [2023-09-28 19:47] (aktuell) – [Lösungen] sca | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Zusatzaufgaben LMC ====== | ====== Zusatzaufgaben LMC ====== | ||
+ | Empfohlene **Vorgehensweise für alle Aufgaben**: | ||
- | ==== Multiplikation ==== | + | 1) Programmiere das Programm zuerst mit **Python**. Verwende dabei nur diejenigen Elemente, die in ähnlicher Form auch im Befehlssatz des LMC vorkommen, also: |
- | **Ziel:** Die Benutzerin soll nacheinander zwei Zahlen eingeben. Diese werden dann multipliziert. Das Resultat wird ausgegeben und gespeichert. | + | * Variablen mit ganzen Zahlen (z.B. $x = 42$) aber keine Listen |
+ | * Mathematische Operationen: $+$ & $-$ | ||
+ | * while-Schleife, | ||
- | 1) Programmiere | + | 2) Mache einen **Plan**: Wie kannst du das Programm mit dem LMC schreiben? Zum Beispiel: Welche Art von Schleife macht hier Sinn? |
+ | |||
+ | 3) Implementiere es mit dem **LMC**. | ||
+ | |||
+ | ==== Schnapps-Aufgabe ==== | ||
+ | |||
+ | **Ziel:** BenutzerIn gibt Alter ein. LMC bestimmt, was die Person trinken darf und gibt entsprechenden Output aus: | ||
+ | |||
+ | * " | ||
+ | * " | ||
+ | * " | ||
++++Lösung| | ++++Lösung| | ||
+ | < | ||
+ | INP | ||
+ | SUB SZN | ||
+ | BRP ALK | ||
+ | LDA H | ||
+ | OTC | ||
+ | HLT | ||
+ | ALK SUB TWO | ||
+ | BRP SCHN | ||
+ | LDA B | ||
+ | OTC | ||
+ | HLT | ||
+ | SCHN LDA S | ||
+ | OTC | ||
+ | HLT | ||
+ | SZN DAT 16 | ||
+ | TWO DAT 2 | ||
+ | H DAT 72 | ||
+ | B DAT 66 | ||
+ | S DAT 83 | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | ==== Multiplikation ==== | ||
+ | |||
+ | **Ziel:** Die Benutzerin soll nacheinander zwei Zahlen eingeben. Diese werden dann multipliziert. Das Resultat wird ausgegeben und gespeichert. | ||
+ | |||
+ | ++++Lösung Python-Code| | ||
<code python> | <code python> | ||
Zeile 24: | Zeile 65: | ||
++++ | ++++ | ||
- | 2) Mache einen Plan: Wie kannst du das Programm mit dem LMC schreiben? | + | ==== Fibonacci-Folge ==== |
- | 3) Implementiere es mit dem LMC. | + | **Ziel:** Der Benutzer soll eine Zahl $n$ als Input eingeben. Der Code gibt dann die ersten $n$ Zahlen der Fibonacci-Folge aus: $1,1,2,3, |
- | ==== Fibonacci-Folge ==== | ||
- | Gebe die Zahlen der Fibonacci-Folge aus: $1, | ||
==== Ganzzahldivision ==== | ==== Ganzzahldivision ==== | ||
- | Implementiere | + | **Ziel:** Die Benutzerin soll nacheinander zwei Zahlen eingeben. Der Code ermittelt dann die Ganzzahldivision |
- | < | + | ==== Lösungen ==== |
+ | |||
+ | < | ||
++++Weitere Codeideen| | ++++Weitere Codeideen| | ||
Zeile 51: | Zeile 92: | ||
</ | </ | ||
- | |||
- | ==== Lösungen ==== | ||
<nodisp 2> | <nodisp 2> | ||
Zeile 126: | Zeile 165: | ||
ONE DAT 1 | ONE DAT 1 | ||
</ | </ | ||
+ | ++++ | ||
- | </nodisp> | + | ++++Schnapps-Aufgabe| |
+ | <code> | ||
+ | // BenutzerIn gibt Alter ein | ||
+ | // LMC gibt aus: | ||
+ | // H für Himbeersirup | ||
+ | // B für Bier | ||
+ | // S/W für Schnapps/ Whisky | ||
+ | INP // Alter eingeben | ||
+ | SUB SIXTN | ||
+ | BRP ALK // Alter >= 16 -> springe zu Bier oder Schnapps | ||
+ | LDA H // Himbeersirup | ||
+ | OTC | ||
+ | HLT | ||
+ | ALK SUB TWO // Entscheide ob Bier oder Schnapps | ||
+ | BRP SCHN // springe zu Schnapps | ||
+ | LDA B // Bier | ||
+ | OTC | ||
+ | HLT | ||
+ | SCHN LDA S // Schnapps | ||
+ | OTC | ||
+ | HLT | ||
+ | B DAT 66 | ||
+ | H DAT 72 | ||
+ | S DAT 85 | ||
+ | SIXTN DAT 16 | ||
+ | TWO DAT 2 | ||
+ | </code> | ||
+ | </ | ||
+ | ++++ | ||