Einstieg - Kara lernt zählen

Das Problem: Kleeblätter zählen

Kara soll alle Kleeblätter auf dem Weg zu einem Baum einsammeln und sie vor dem Baum der Reihe nach auslegen.

Beispiel: Karawelt - vorher / nachher:

Kara und seine Welt - vorher Kara und seine Welt - nachher

Die Schwierigkeit besteht hier darin, dass Kara die eingesammelten Kleeblätter zählen muss und sich die Anzahl merken muss, bevor sie/er die Kleeblätter wieder auslegen kann.

Ein Algorithmus zur Lösung des Problems

Zur Formulierung eines Algorithmus wird hier eine Variable zaehler eingeführt.

setze zaehler auf 0
SOLANGE nicht vor einem Baum:
    einen Schritt weitergehen
    WENN auf einem Kleeblatt:
        erhöhe zaehler um 1
        Kleeblatt aufheben
...    

Aufgabe 1

(a) Welche Rolle spielt die Variable zaehler hier?

(b) Wie könnte man den Algorithmus zur Lösung des Problems fortsetzen?

Ein Programm zur Lösung des Problems

Der Algorithmus wird jetzt in ein Programm übersetzt.

zaehler = 0
while not kara.treeFront():
    kara.move()
    if kara.onLeaf():
        zaehler = zaehler + 1
        kara.removeLeaf()
...

Aufgabe 2

(a) Was bewirken die Anweisungen zaehler = 0 bzw. zaehler = zaehler + 1?

(b) Versuche, das Programm fertigzustellen.

Aufgabe 3

Kara soll jetzt alle Blätter auf dem Weg zum Baum einsammeln und anschließend die doppelte Anzahl von Blättern vor dem Baum auslegen.

Wie kann man dieses Problem lösen? Kannst du auch verschiedene Algorithmen zur Lösung des Problems angeben?

X

Fehler melden

X

Suche