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:28] – [Zusatzaufgaben LMC] 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: | + | Empfohlene |
- | 1) Programmiere das Programm zuerst mit Python. Verwende dabei nur diejenigen Elemente, die in ähnlicher Form auch im Befehlssatz des LMC vorkommen, also: | + | 1) Programmiere das Programm zuerst mit **Python**. Verwende dabei nur diejenigen Elemente, die in ähnlicher Form auch im Befehlssatz des LMC vorkommen, also: |
* Variablen mit ganzen Zahlen (z.B. $x = 42$) aber keine Listen | * Variablen mit ganzen Zahlen (z.B. $x = 42$) aber keine Listen | ||
Zeile 9: | Zeile 9: | ||
* while-Schleife, | * while-Schleife, | ||
- | 2) Mache einen Plan: Wie kannst du das Programm mit dem LMC schreiben? | + | 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. | + | 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| | ||
+ | < | ||
+ | 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 ==== | ==== Multiplikation ==== | ||
Zeile 36: | Zeile 67: | ||
==== Fibonacci-Folge ==== | ==== Fibonacci-Folge ==== | ||
- | **Ziel:** Der Benutzer soll eine Zahl $n$ als Input eingeben. Der Code gibt dann die ersten $n$ Zahlen der Fibonacci-Folge aus: $1, | + | **Ziel:** Der Benutzer soll eine Zahl $n$ als Input eingeben. Der Code gibt dann die ersten $n$ Zahlen der Fibonacci-Folge aus: $1, |
+ | |||
==== Ganzzahldivision ==== | ==== Ganzzahldivision ==== | ||
Zeile 134: | Zeile 167: | ||
++++ | ++++ | ||
- | </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> | ||
+ | </ | ||
+ | ++++ | ||