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:17] – [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.
  
-==== Fibonacci-Folge ==== 
  
-Gebe die Zahlen der Fibonacci-Folge aus: $1,1,2,3,5,8,13,\ldots$ 
  
 ==== Ganzzahldivision ==== ==== Ganzzahldivision ====
  
-Implementiere die 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$.
  
  
-<nodisp2>+==== Lösungen ====
  
 +
 +<nodisp2>
  
 ++++Weitere Codeideen| ++++Weitere Codeideen|
Zeile 51: Zeile 92:
  
 </nodisp> </nodisp>
- 
-==== Lösungen ==== 
  
 <nodisp 2> <nodisp 2>
Zeile 105: Zeile 144:
 ++++ ++++
  
-</nodisp>+++++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>
 +++++
  
  • gf_informatik/computerarchitektur_sca/zusatzaufgaben.1693163875.txt.gz
  • Zuletzt geändert: 2023-08-27 19:17
  • von sca