Übungen

Aufgabe 1: Einfacher Vergleich: "Echt größer"

Wir nehmen an, in den Speicherstellen mit Adressen 20 und 21 liegen zwei Zahlen. Schreibe ein Programm, dass in Speicherzelle 25 eine 1 schreibt, wenn die Zahl bei Adresse 20 echt größer ist als die bei Adresse 21, sonst soll in Speicherzelle 25 eine 0 stehen.
Wir schreiben die Bedingung als [20] > [21], wobei die eckigen Klammern um die Zahlen andeuten sollen, dass hier nicht die Zahlen 20 und 21 gemeint sind, sondern die Zahlen, die an den entsprechenden Adressen gespeichert sind.

Aufgabe 2: Ein etwas aufwändigerer Vergleich: "Größer oder gleich"

Ändere das Programm aus Aufgabe 1 so ab, dass in Speicherzelle 25 die 1 bereits dann steht, wenn die beiden Zahlen gleich groß sind. Also Bedingung: [20]>=[21]
Was so einfach klingt, ist bei JOHNNY deshalb nicht einfach, weil es keinen Unterschied macht, ob man zwei gleich große Zahlen voneinander subtrahiert (Ergebnis: 0) oder eine größere von einer kleineren Zahl (Ergebnis: ebenfalls 0). Da wir es jedoch nur mit ganzen Zahlen zu tun haben, der kleinste Abstand zwischen zwei verschiedenen Zahlen also 1 ist, gibt es einen einfachen Trick, um das Problem trotzdem zu lösen.

Aufgabe 3: Luxus-Vergleich

Wir wollen nun die beiden Aufgaben quasi kombinieren. Das Ergebnis in Speicherzelle 25 soll folgende Werte annehmen:

Aufgabe 4: Multiplikation mit festem Faktor

Schreibe ein Programm, das die Inhalte der Speicherstellen 10 mit der Zahl 4 multipliziert. Das Ergebnis soll nachher in der Speicherstelle Nummer 12 gespeichert sein:
[12]:=[10] * 4

Aufgabe 5: Multiplikation mit variablem Faktor

Schreibe ein Programm, das die Inhalte der Speicherstellen 10 mit dem Inhalt der Speicherstelle 11 multipliziert. Das Ergebnis soll nachher in der Speicherstelle Nummer 12 gespeichert sein:
[12]:=[10] * [11]

Tipp: Der Inhalt der Speicherstelle 11 darf am Ende der Berechnung ruhig den Wert 0 haben.

Aufgabe 6: Test eines Spezialfalls

Teste das Programm aus Aufgabe 2 für die beiden Fälle, dass [10]=0 bzw. dass [11]=0 ist. Falls das Programm für diesen Fall nicht korrekt funktioniert, ändere es entsprechend ab.

Aufgabe 7: Division teilbarer Zahlen

Wir nehmen an, in den Speicherstellen 10 und 11 stehen zwei Zahlen, wobei [10] durch [11] teilbar ist. Schreibe ein Programm, das den Inhalte der Speicherstellen 10 durch denjenigen in Speicherzelle 11 dividiert. Das Ergebnis soll nachher in der Speicherstelle Nummer 12 gespeichert sein:
[12]:=[10] / [11]

Aufgabe 8: Ganzzahlige Division mit Rest

In der Grundschule haben wir gelernt wie man Zahlen mit Rest dividiert:
"In die Zahl 17 passt die Zahl 3 genau 5 mal hinein und es bleibt ein Rest von 2."
Wir nehmen an, in den Speicherstellen 10 und 11 stehen zwei beliebige Zahlen. Schreibe ein Programm, das den Inhalte der Speicherstellen 10 durch denjenigen in Speicherzelle 11 ganzzahlig mit Rest dividiert. Das Ergebnis soll nachher in der Speicherstelle Nummer 12 gespeichert sein:
[12]:=[10] // [11] ("//": Symbol für ganzzahlige Division)
[13]:=[10] % [11] ("%": Symbol für Rest bei der ganzzahligen Division)

X

Fehler melden

X

Suche