1. Aufgabe "x + y = ?"
Berechne die Summe zweier Zahlen x und y.
- Vor dem Programmstart steht
- in Speicherzelle 7 ein beliebiger Wert x, z.B. der Wert 5 und
in Speicherzelle 8 ein beliebiger Wert y, z.B. der Wert 4.
- Nach dem Programmende steht
- in Speicherzelle 7 die Summe x + y, im Beispiel also der Wert 9.
Das Beispielprogramm "Von x auf 0" kann als Grundlage für dieses Programm verwendet werden.
Pseudocode für das Programm "x + y = ?":
solange nicht y = 0 wiederhole
erhöhe x um 1
verringere y um 1
solange_ende
2. Aufgabe "x - y = ? für x >= y"
Berechne die Differenz zweier Zahlen x und y, wobei vorausgesetzt wird, dass y nicht größer als x ist, das Ergebnis also nicht negativ werden kann. (Eine Subtraktionsaufgabe, bei der das Ergebnis auch negativ werden darf, findest du im Kapitel Lernpfad Know-How-Computer/KHC Programmieraufgaben Teil 2 in der 6. Aufgabe.)
- Vor dem Programmstart steht
- in Speicherzelle 7 ein beliebiger Wert x, z.B. der Wert 5 und
in Speicherzelle 8 ein beliebiger Wert y, der aber nicht größer als x sein darf, hier z.B. der Wert 3.
- Nach dem Programmende steht
- in Speicherzelle 7 die Differenz x - y, im Beispiel also der Wert 2.
Das Programm aus der 1. Aufgabe "x + y =?" kann als Grundlage für dieses Programm verwendet werden.
3. Aufgabe "Ist x ungerade?"
Entscheide, ob der Wert x in Speicherzelle 12 gerade oder ungerade ist.
- Vor dem Programmstart steht
- in Speicherzelle 12 ein beliebiger Wert x, z.B. der Wert 3 und
in Speicherzelle 13 der Wert 0.
- Nach dem Programmende steht
- in Speicherzelle 13 der Wert 1, wenn der ursprüngliche Wert x eine ungerade Zahl war.
Wenn x gerade war, steht in Speicherzelle 13 weiterhin der Initialisierungswert 0.
Im Beispiel steht also am Ende in Speicherstelle 13 eine 1.
Lösungsidee: Während x schrittweise bis auf 0 heruntergezählt wird, wird der Wert in y ebenso schrittweise zwischen 0 und 1 hin- und hergeschaltet.
Pseudocode für das Programm "Ist x ungerade?":
solange nicht x = 0 wiederhole
wenn y = 0
dann erhöhe y um 1
sonst verringere y um 1
wenn_ende
verringere x um 1
solange_ende
4. Aufgabe "Ist x = y ?"
Entscheide, ob die Werte x und y, die in zwei verschiedenen Speicherzellen stehen, gleich sind oder nicht.
- Vor dem Programmstart steht
- in Speicherzelle 21 ein beliebiger Wert x, z.B. der Wert 5 und
in Speicherzelle 22 ein beliebiger Wert y, z.B. der Wert 3.
- Nach dem Programmende steht
- in Speicherzelle 23 der Wert 1, wenn die ursprünglichen Werte x und y gleich waren, andernfalls steht
in Speicherzelle 23 weiterhin der Initialisierungswert 0.
x und y werden beide in einer Schleife heruntergezählt, solange dies möglich ist, solange also beide größer als 0 sind. Dabei müssen vor jedem Schleifendurchgang vier Fälle unterschieden werden:
- x>0 und y>0: Dann x und y beide verringern und Schleife wiederholen
- x=0 und y=0: Dann z=1 setzen und fertig
- x>0 und y=0: Dann z=0 lassen und fertig
- x=0 und y>0: Dann z=0 lassen und fertig
Da der Befehl isz nicht den Inhalt von zwei Zellen gleichzeitig überprüfen kann, muss dies hintereinander geschehen. Hat man als erstes z.B. den Inhalt von x überprüft, so erhält man zunächst zwei Fälle: x=0 und x>0. Anschließend muss man in beiden Fällen getrennt von einander auch noch den Inhalt von y mit dem Befehl isz y zu überprüfen.
Hinweis
Diese Grafik gibt es im
Anhang auch als taktile Schwellpapier-Kopiervorlage mit Braillebeschriftung.