Nachricht für neue Nutzer.
Nachricht für engagierte Nutzer.
Lernpfad Know-How-Computer/KHC Programmieraufgaben Teil 2: Unterschied zwischen den Versionen
Aus ZUM-Unterrichten
KKeine Bearbeitungszusammenfassung Markierung: Quelltext-Bearbeitung 2017 |
KKeine Bearbeitungszusammenfassung Markierung: Quelltext-Bearbeitung 2017 |
||
| Zeile 11: | Zeile 11: | ||
<div style="width: 100%; overflow: hidden;"> | <div style="width: 100%; overflow: hidden;"> | ||
{{Box | {{Box | ||
|1=Auch hier gilt wieder für alle Übungsaufgaben: | |1=Auch hier gilt wieder für alle Übungsaufgaben: | ||
| Zeile 165: | Zeile 16: | ||
* Nach dem Programmende darf der Datenwert, der dann in einer Speicherzelle steht, von dem ursprünglichen Wert abweichen, der vor der Programmausführung in der Zelle stand. | * Nach dem Programmende darf der Datenwert, der dann in einer Speicherzelle steht, von dem ursprünglichen Wert abweichen, der vor der Programmausführung in der Zelle stand. | ||
|3=Kurzinfo}} | |3=Kurzinfo}} | ||
<div style="width: 60%; float: left;"> | |||
{{Box | {{Box | ||
|1=5. Aufgabe "Ist x < y ?" | |1=5. Aufgabe "Ist x < y ?" | ||
| Zeile 286: | Zeile 137: | ||
|2=Tipp anzeigen | |2=Tipp anzeigen | ||
|3=Tipp verstecken}} | |3=Tipp verstecken}} | ||
{{Box | {{Box | ||
| Zeile 295: | Zeile 147: | ||
: Speicherzelle 29 der ggT von x und y, im Beispiel also der Wert 3. | : Speicherzelle 29 der ggT von x und y, im Beispiel also der Wert 3. | ||
; Hinweis | ; Hinweis | ||
: Für dieses Maschinenprogramm sollte der KHC | : Für dieses Maschinenprogramm sollte der KHC mindestens 30 Speicherzellen besitzen. | ||
|3=Üben}} | |3=Üben}} | ||
| Zeile 342: | Zeile 194: | ||
|2=Lösung in Assembler anzeigen | |2=Lösung in Assembler anzeigen | ||
|3=Lösunge in Assembler verstecken}} | |3=Lösunge in Assembler verstecken}} | ||
</div> | |||
<div style="margin-left: 62%;"> | |||
{{Box|1=Programm testen im KHC-Emulator | |||
|2={{KnowHowComputer | |||
|Speicherkonfiguration1=# Alles auf 0 | |||
|Speicherkonfiguration2=# Ist x < y ? | |||
1: isz 21 | |||
2: jmp 4 | |||
3: jmp 7 | |||
4: isz 22 | |||
5: jmp 10 | |||
6: jmp 14 | |||
7: isz 22 | |||
8: jmp 13 | |||
9: jmp 14 | |||
10: dec 21 | |||
11: dec 22 | |||
12: jmp 1 | |||
13: inc 23 | |||
14: stp | |||
21: 5 | |||
22: 7 | |||
23: 0 | |||
|Speicherkonfiguration3=# x - y = ? erweitert | |||
1: isz 23 | |||
2: jmp 4 | |||
3: jmp 7 | |||
4: isz 24 | |||
5: jmp 10 | |||
6: jmp 20 | |||
7: isz 24 | |||
8: jmp 13 | |||
9: jmp 20 | |||
10: dec 23 | |||
11: dec 24 | |||
12: jmp 1 | |||
13: isz 24 | |||
14: jmp 16 | |||
15: jmp 19 | |||
16: inc 23 | |||
17: dec 24 | |||
18: jmp 13 | |||
19: inc 24 | |||
20: stp | |||
23: 3 | |||
24: 5 | |||
|Speicherkonfiguration4=# Kleiner Gauß | |||
1: isz 23 | |||
2: jmp 4 | |||
3: jmp 8 | |||
4: dec 23 | |||
5: inc 24 | |||
6: inc 25 | |||
7: jmp 1 | |||
8: isz 25 | |||
9: jmp 11 | |||
10: stp | |||
11: dec 25 | |||
12: isz 25 | |||
13: jmp 15 | |||
14: jmp 1 | |||
15: inc 23 | |||
16: dec 25 | |||
17: jmp 12 | |||
18: 0 | |||
19: 0 | |||
20: 0 | |||
21: 0 | |||
22: 0 | |||
23: 4 | |||
24: 0 | |||
25: 0 | |||
|Speicherkonfiguration5=# x * y = ? | |||
1: isz 23 | |||
2: jmp 4 | |||
3: stp | |||
4: isz 24 | |||
5: jmp 7 | |||
6: jmp 11 | |||
7: dec 24 | |||
8: inc 25 | |||
9: inc 22 | |||
10: jmp 4 | |||
11: isz 22 | |||
12: jmp 14 | |||
13: jmp 17 | |||
14: dec 22 | |||
15: inc 24 | |||
16: jmp 11 | |||
17: dec 23 | |||
18: jmp 1 | |||
19: 0 | |||
20: 0 | |||
21: 0 | |||
22: 0 | |||
23: 2 | |||
24: 3 | |||
25: 0 | |||
|nohelp=true | |||
|Speichergroesse=25 | |||
}} | |||
|3=Experimentieren | |||
}} | |||
{{Box|1=ggT-Programm im KHC-Emulator | |||
|2={{KnowHowComputer | |||
|Speicherkonfiguration1=# Alles auf 0 | |||
|Speicherkonfiguration2=# ggT von x und y | |||
1: isz 27 | |||
2: jmp 4 | |||
3: jmp 7 | |||
4: isz 28 | |||
5: jmp 10 | |||
6: jmp 14 | |||
7: isz 28 | |||
8: jmp 20 | |||
9: stp | |||
10: dec 27 | |||
11: dec 28 | |||
12: inc 29 | |||
13: jmp 1 | |||
14: isz 29 | |||
15: jmp 17 | |||
16: jmp 1 | |||
17: inc 28 | |||
18: dec 29 | |||
19: jmp 14 | |||
20: isz 29 | |||
21: jmp 23 | |||
22: jmp 1 | |||
23: inc 27 | |||
24: dec 29 | |||
25: jmp 20 | |||
26: 0 | |||
27: 9 | |||
28: 6 | |||
29: 0 | |||
30: 0 | |||
|nohelp=true | |||
|Speichergroesse=30 | |||
}} | |||
|3=Experimentieren | |||
}} | |||
</div> | </div> | ||
</div> | </div> | ||
Version vom 19. Juli 2025, 12:30 Uhr
Anspruchsvollere Programmieraufgaben für Könner
Hier kommen ein paar weitere Programmieraufgaben, die schon etwas anspruchsvoller sind. Entsprechend länger und unübersichtlicher sind die Maschinenprogramme. Daher macht es Sinn, erst ein Assemblerprogramm zu schreiben. Auch dieses kann man mit Stift und Streichhölzern erst mal von Hand auf dem Papier testen. Anschließend kann man es in die KHC-Maschinensprache übersetzen, um es z.B. im KHC-Emulator laufen zu lassen.
