Erkundung - Kara trifft Entscheidungen

Das Problem: Ein Kleeblatt suchen

Kara steht vor ihrem/seinem Bau und möchte das Kleeblatt, das sich irgendwo im Bau befindet, nach draußen befördern.

Karawelt - vorher:

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

Karawelt - nachher:

Kara und seine Welt - nachher

Kara soll hier im Vorfeld nicht wissen, wo sich das Kleeblatt befindet. Kara muss also in den Bau hineingehen und je nach vorgefundener Situation entscheiden, wie es weitergehen soll. Hierzu muss Kara in der Lage sein zu überprüfen, ob sie/er sich auf einem Kleeblatt befindet.

Aufgabe 1: Ein Lösungsverfahren entwickeln

Hier ist ein Lösungsverfahren mit Fallunterscheidungen vorskizziert:

Schritt weitergehen
WENN auf einem Kleeblatt:
    Kleeblatt aufheben
    rechts drehen
    rechts drehen
    Schritt weitergehen
SONST:
    Schritt weitergehen
    WENN auf einem Kleeblatt:
        ...
    SONST:
        ...
Kleeblatt hinlegen

Überlege dir, wie es weitergehen könnte. Ergänze hierzu die fehlenden Teile. Achte auf die Einrückungen, um die verschiedenen Fälle deutlich zu unterscheiden.

Aufgabe 2: Ein Lösungsverfahren in Python formulieren

Das Lösungsverfahren soll jetzt in der zur Steuerung von Kara verwendeten Programmiersprache (Python) formuliert werden. Ergänze den folgenden Quelltext und teste, ob das Programm das Gewünschte leistet. Beachte, dass du alle drei Fälle testen musst. Achte auch hier besonders auf korrekte Einrückungen.

kara.move()
if kara.onLeaf():
    kara.removeLeaf()
    ...
else:
    kara.move()
    if kara.onLeaf():
        kara.removeLeaf()
        ...
    else:
        kara.move()
        ...
kara.putLeaf()

Aufgabe 3: Ein Lösungsverfahren überprüfen

Leistet das folgende Lösungsverfahren auch das Gewünschte? Überprüfe das zunächst, indem du es selbst (z.B. auf dem Papier) durchspielst. Übersetze das Lösungsverfahren anschließend in die Programmiersprache Python und teste das entsprechende Python-Programm.

Schritt weitergehen
WENN auf einem Kleeblatt:
    Kleeblatt aufheben
    rechts drehen
    rechts drehen
SONST:
    Schritt weitergehen
    WENN auf einem Kleeblatt:
        Kleeblatt aufheben
        rechts drehen
        rechts drehen
    SONST
        Schritt weitergehen
        Kleeblatt aufheben
        rechts drehen
        rechts drehen
        Schritt weitergehen
    Schritt weitergehen
Schritt weitergehen
Kleeblatt hinlegen
X

Fehler melden

X

Suche