Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
gf_informatik:computerarchitektur_sca:zusatzaufgaben [2023-08-27 19:13] – [Lösungen] scagf_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, if-elif-else: mit Branch-Befehlen umsetzbar
  
-1Programmiere das Programm zuerst mit PythonDabei dürfen nur die mathematischen Operationen $+$ und $-$ verwendet werden.+2Mache 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 einLMC bestimmt, was die Person trinken darf und gibt entsprechenden Output aus: 
 + 
 +   * "H" für Himbeersirup 
 +   * "B" für Bier 
 +   * "S" für Schnaps
  
 ++++Lösung| ++++Lösung|
 +<code>
 +        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
 +</code>
 +++++
 +
 +==== 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,5,8,13,\ldots$. Die beiden Einsen am Anfang dürfen auch ignoriert werden.
  
-==== Zusatzaufgabe: Fibonacci ==== 
  
-Gebe die Zahlen der Fibonacci-Folge aus: $1,1,2,3,5,8,13,\ldots$ 
  
 +==== Ganzzahldivision ====
  
-==== Zusatzaufgabe: Ganzzahldivision ====+**Ziel:** Die Benutzerin soll nacheinander zwei Zahlen eingeben. Der Code ermittelt dann die Ganzzahldivision mit Rest dieser beider Zahlen. Beispiel: $23/5 4$ Rest $3$.
  
-Implementiere die Ganzzahldivision. 
  
 +==== Lösungen ====
  
-<nodisp2> 
  
 +<nodisp2>
  
 ++++Weitere Codeideen| ++++Weitere Codeideen|
Zeile 52: Zeile 92:
  
 </nodisp> </nodisp>
- 
-==== Lösungen ==== 
  
 <nodisp 2> <nodisp 2>
Zeile 81: Zeile 119:
 </code> </code>
 ++++ ++++
 +
 +++++Lösung Fibonacci|
 +<code>
 +LOOP    LDA N
 +        BRZ END
 +        SUB ONE
 +        STO N
 +        LDA X
 +        ADD Y
 +        OUT
 +        STO TEMP
 +        LDA Y
 +        STO X
 +        LDA TEMP
 +        STO Y
 +        BRA LOOP
 +END     HLT
 +X       DAT 1
 +Y       DAT 1
 +TEMP    DAT 0
 +N       DAT 8
 +ONE     DAT 1
 +</code>
 +++++
 +
 +++++Ganzzahldivision|
 +<code>
 +LOOP    LDA X
 +        SUB Y
 +        STO X
 +        BRP CONT
 +        LDA Q
 +        OUT
 +        LDA X
 +        ADD Y
 +        OUT
 +        HLT
 +CONT    LDA Q
 +        ADD ONE
 +        STA Q
 +        BRA LOOP
 +X       DAT 25
 +Y       DAT 5
 +Q       DAT 0
 +ONE     DAT 1
 +</code>
 +++++
 +
 +++++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>
  
 </nodisp> </nodisp>
 +++++
 +
  • gf_informatik/computerarchitektur_sca/zusatzaufgaben.1693163627.txt.gz
  • Zuletzt geändert: 2023-08-27 19:13
  • von sca