Franz Pucher / Hardwarenahe Programmierung

You are viewing an older revision! See the latest version

Aufgaben Wiederholbefehle

Scratch Bertl

Erntezeit mit Schleifen

1. Verändern Sie Ihr Programm für die Erntezeit so, dass das Bühnenbild (Stage) stage5-1 harvester.png alle Beeper erntet (also alle aufhebt). 2. Verändern Sie Ihr Programm für die Erntezeit so, dass das Bühnenbild (Stage) stage5-1 harvester.png so bearbeitet, dass an jeder Stelle des Feldes genau zwei Beeper liegen bleiben.

  • 3. Komplexes Projekt: Erntezeit Schreiben Sie ein neues Programm für die Erntezeit so, dass das Bühnenbild (Stage) stage5-1 harvester.png alle Beeper erntet (also alle aufhebt), wobei der Roboter Bertl an einer beliebigen Position (z.B.: 5, 3) startet.
    Anm.: Wenden Sie die schon füher besprochene Technik der stufenweise Verfeinerung (engl. stepwise refinement) an und verwenden Sie mehrere Funktionen zur Lösung dieser Aufgabe.

Die folgenden Projekte beinhalten unterschiedliche Stages (Bühnenbilder), die alle bearbeitet werden sollen:

4. beeper_fence (dt. Lattenzaun):
4a. Der Roboter Bertl befindet sich irgendwo in der Welt und schaut nach unten (Süden). Zwischen Bertl und der südlichen Grenzmauer befindet sich an jeder Ecke ein Beeper. Es ist derzeit kein Beeper auf der Position auf der sich Bertl befindet. Schreiben Sie die Funktion clearAllBeeperToTheWall(), die alle Beeper bis zur südlichen Wand aufhebt. Testen Sie Ihr Programm mit anderen Positionen und Anzahl Beeper.

Mit der nächsten stage5-5.png befindt sich in der Initial Situation auf einem Beeper. Funktioniert Ihre Funtion clearAllBeeperToTheWall() noch immer? Wie haben Sie Ihre Funktion zu ändern (bzw. wo?)?

Mit der nächsten stage5-7.png befindet sich eine beliebige Anzahl (0 .. 5) Beeper an den Ecken. Was ist nun zu tun? Ändern Sie Ihre Funktion clearAllBeeperToTheWall(), sodass er wieder alle Beeper bis zur südlichen Mauer aufhebt.

Bertl soll in den einzelnen Stages (Bühnenbilder) jeweils die Mauern überspringen, wobei er nicht weiß wie weit diese voneinander entfernt sind. Verwenden Sie den REPEAT-Befehl mit 10 Durchläufen, wobei im Schleifenkörper Ihr Algorithmus abgearbeitet werden soll. Laden Sie Ihre Ergebnisse ins Studio: Hürdenlauf


All wikipages