Problemstellung
Das Problem: Ausgang aus einem Tunnel suchen
Wir betrachten die folgende Problemstellung aus Übungsaufgabe 3 (am besten löst du diese zuerst!): Kara sucht den Anfang eines Tunnels; in diesem Fall ist das also Feld 2a. Der Tunnel kann unterschiedliche Ausmaße haben. Vor dem Tunnel ist vielleicht eine linke Baumreihe (wie hier) oder eine rechte oder er beginnt direkt beidseitig.
Aufgabe
Drei Schüler:innen haben sich überlegt, mit welcher Bedingung man beschreiben kann, dass man noch nicht den Tunneleingang erreicht hat. Mithilfe dieser Bedingung soll eine while
-Schleife gebildet werden. Analysiere die drei Lösungen:
(a) Welche Gedanken hatten die Schüler:innen?
(b) Welche Lösung ist richtig?
(c) Beweise für falsche Lösungen, dass sie nicht richtig sind.
Du kannst eine geeignete Beispielwelt erstellen, in der das Programm nicht das tut, was es soll.
-
Anna:
while not (kara.treeLeft() and kara.treeRight()): kara.move()
-
Benjamin:
while not kara.treeLeft() and not kara.treeRight(): kara.move()
-
Charlie:
while not kara.treeLeft() or not kara.treeRight(): kara.move()
(d) Optional: Findest du eine Beispielwelt, in der eine falsche Lösung trotzdem funktioniert? Welche Besonderheit weisen solche Beispielwelten auf?