Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
You are viewing an older revision! See the latest version
Aufgaben Wiederholbefehle
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