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 194: | 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}} | ||
=====Schaffst du das auch alleine?===== | |||
Hier kommen Aufgaben, zu denen es in diesem Lernpfad ganz bewusst keine Tipps und keine Lösungen gibt. Bist du so fit und schaffst es auch ohne Hilfe, diese KHC-Maschinenprogramme zu schreiben? Um dein Programm zu testen, verwende am besten den KHC-Emulator mit den 40 Speicherzellen in diesem Kapitel. | |||
{{Box | {{Box | ||
|1=10. Aufgabe "x | |1=10. Aufgabe "x nach y kopieren" | ||
|2=Kopiere den Inhalt von Zelle x so nach Zelle y, dass nach dem Programmende sowohl in x als auch in y der ursprüngliche Wert von x steht. | |||
; Vor dem Programmstart steht | |||
: in Speicherzelle x ein beliebiger Wert, z.B. der Wert 4, und <br />in den Speicherzellen y der Wert 0. | |||
; Nach dem Programmende steht | |||
: in den Speicherzellen x und y der ursprüngliche Wert von x, also im Beispiel der Wert 4. | |||
|3=Üben}} | |||
{{Box | |||
|1=11. Aufgabe "x verdoppeln" | |||
|2=Verdopple den Wert in Zelle x. | |||
; Vor dem Programmstart steht | |||
: in Speicherzelle x ein beliebiger Wert, z.B. der Wert 5. | |||
; Nach dem Programmende steht | |||
: in Speicherzellen x das Doppelte seines ursprünglichen Wertes, im Beispiel also der Wert 10. | |||
|3=Üben}} | |||
{{Box | |||
|1=12. Aufgabe "x halbieren mit Rest" | |||
|2=Berechne die Hälfte von x als ganze Zahl mit Rest. Beispiel: 7 / 2 = 3 Rest 1 | |2=Berechne die Hälfte von x als ganze Zahl mit Rest. Beispiel: 7 / 2 = 3 Rest 1 | ||
; Vor dem Programmstart steht | ; Vor dem Programmstart steht | ||
: in Speicherzelle | : in Speicherzelle x ein beliebiger Wert, z.B. der Wert 7, und <br />in den Speicherzellen y und z der Wert 0. | ||
; Nach dem Programmende steht | ; Nach dem Programmende steht | ||
: in Speicherzelle | : in Speicherzelle y die Hälfte des ursprünglichen x-Wertes, abgerundet auf eine ganze Zahl, im Beispiel also der Wert 3 und<br /> in Speicherzelle z der Divisionsrest, im Beispiel also der Wert 1, denn 7 / 2 = 3 Rest 1. | ||
|3=Üben}} | |3=Üben}} | ||
| Zeile 313: | Zeile 333: | ||
{{Box|1= | {{Box|1=Programm Testen im KHC-Emulator | ||
|2={{KnowHowComputer | |2={{KnowHowComputer | ||
|Speicherkonfiguration1=# Alles auf 0 | |Speicherkonfiguration1=# Alles auf 0 | ||
| Zeile 348: | Zeile 368: | ||
30: 0 | 30: 0 | ||
|nohelp=true | |nohelp=true | ||
|Speichergroesse= | |Speichergroesse=40 | ||
}} | }} | ||
|3=Experimentieren | |3=Experimentieren | ||
| Zeile 355: | Zeile 375: | ||
</div> | </div> | ||
</div> | </div> | ||
{{Fortsetzung| | {{Fortsetzung| | ||
Version vom 6. August 2025, 10:03 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.
