bedingte Wiederholung

Manchmal soll eine Sequenz solange wiederholt werden, wie eine bestimmte Bedingung erfüllt ist. Hier übst du, wie du das umsetzen kannst.

Aufgabe1: Saugroboter

Oh je! Dieses Klassenzimmer ist aber staubig. Gut, dass es Saugroboter gibt, die den Dreck ganz automatisch beseitigen.

Manche Modelle nutzen ein Zufallsmuster. Dadurch dass sie lange genug auf beliebigen Wegen durch den Raum fahren, ist irgendwann alles gesaugt. An den Wänden eines Raums drehen diese Saugroboter in einem zufälligen Winkel um.

Aufgabe:

Programmiere den Saugroboter, so dass er das Klassenzimmer zufällig abfährt.

Verbessere die Performanz, indem du etwa den Abprallwinkel optimierst, auf eine flüssige Bewegung achtest oder versuchst, das Zimmer in möglichst kurzer Zeit zu reinigen.

Normalerweise fahren die Roboter zunächst den Rand des Zimmers ab und starten erst danach mit der systematischen fahrt. Setze auch das um.

Tipps:

Lass den Roboter zunächst von einer Seite zur anderen fahren. Sorge dafür, dass er automatisch an der schwarzen Wand stehen bleibt. Dafür brauchst du den „wiederhole bis“ Block und einen „berühre … ?“ Block. Die Wände sind als Objekt umgesetzt.

Sorge dann dafür, dass der Roboter sich um einen zufälligen Winkel dreht und dann wieder seine Fahrt aufnimmt.

Hier klicken, um den Inhalt von snap.berkeley.edu anzuzeigen.


Aufgabe 2:

Oh je! Wie sieht nur die Tafel aus. Jetzt aber schnell wischen kleiner Schulgeist, sonst gibt es noch Ärger mit Frau Weger. Du weißt doch: Auf der Mitteltafel darf man nicht schreiben.

Aufgabe:

Ergänze den Code, sodass der kleine Schulgeist die Tafel wischt.

Füge dazu Bedingungen bei den Wiederholungen hinzu und überlege, mit welchen Sequenzen das Wischen erreicht werden kann.

Tipps:

„Wischen“ bedeutet hier nichts Anderes, als einfach die Tafel weiß zu übermalen.

Hier klicken, um den Inhalt von snap.berkeley.edu anzuzeigen.


Aufgabe 3:

Ohoh, der kleine Schulgeist war wohl etwas unvorsichtig. Jetzt hat ihn der Hausmeister – Herr Krause – entdeckt. Er versucht noch zu entwischen, aber … Sieh selbst.

Aufgabe:

Das vorliegende Programm enthält bereits das animierte Gespräch. Programmiere die Verfolgungsjagd. Sie soll enden, wenn sich beide Objekte berühren.

Wenn du Lust hast, kannst du das Gespräch natürlich auch umprogrammieren.

Tipps:

Du musst bei beiden Objekten etwas in der Programmierung verändern.

Nutze für die Bewegung den Block „gleite zu“ und verwende als Ziel Zufallszahlen.

Hier klicken, um den Inhalt von snap.berkeley.edu anzuzeigen.