Python Online | Home   . |
DU LERNST HIER... |
wie ein Roboter bestimmte Befehlssequenzen wiederholen kann und wie du mit benannten Programmblöcken (Funktionen) deine Programme besser strukturieren kannst. |
MUSTERBEISPIELE |
Programm: from grobot import * repeat 4: forward() delay(2000) left() delay(550) stop() Führe das Programm zuerst im Simulationsmodus aus. Im Realmodus musst du eventuell die Zeit beim Linksdrehen anpassen. Im Unterschied zur Simulation, bei der der Roboter ein Quadrat ganz exakt abfahren kann, ist es beim realen Roboter schwierig, exakt geradeaus zu fahren und exakt in einem rechten Winkel abzubiegen. Dies entspricht der Wirklichkeit, denn kein Auto wird bei starrer Radstellung, d.h. blockierter Steuerung, je exakt geradeaus fahren, man muss immer wieder regulierend eingreifen. Deswegen sind Roboter mit Sensoren ausgerüstet, die ihnen helfen, diese Ungenauigkeiten zu korrigieren. Verwende also nicht zu viel Zeit, um dem Roboter ein exaktes Quadrat fahren beizubringen. |
Programm: from grobot import * repeat: forward() delay(2000) backward() delay(2000) left() delay(550) Hier ist es nützlich zu wissen, wie man ein laufendes Programm abbrechen kann: Am einfachsten geht es mit Schliessen des Terminalfensters. Du kannst ein Programm auch durch gleichzeitiges Drücken von ENTER und DOWN auf dem EV3-Brick abbrechen. Dabei wird aber auch das BrickGate-Programm beendet und muss erneut mit dem ENTER-Button gestartet werden. |
Beispiel 3: Programme mit eigenen Funktionen strukturieren Eine Funktionsdefinition beginnt immer mit dem Schlüsselwort def, darauf folgen ein Funktionsname, eine Parameterklammer und ein Doppelpunkt. Die Anweisungen im Funktionskörper sind eingerückt. Im Hauptprogramm wird die Funktion aufgerufen. In deinem Beispiel definierst du eine Funktion blink(), die das einmalige aufleuchten der roten LED bewirkt. Im Hauptprogramm macht der Roboter eine ähnlich Bewegung wie im vorhergehenden Beispiel. Bevor er rückwärtsfährt hält er an, Blinkt zweimal und fährt rückwärts zum Ausgangspunkt.
|
MERKE DIR... |
Um ein Programmblock n mal zu wiederholen, verwendest du eine repeat-Schleife: Um ein Programmblock endlos zu wiederholen, verwendest du eine Endlos-Schleife: Mit Funktionen kannst du deine Programme besser strukturieren und Code-Duplikation vermeiden. Du musst zwischen der Funktionsdefinition und Funktionsaufruf unterscheiden.
|
ZUM SELBST LÖSEN |
|
ZUSATZSTOFF: WHILE-SCHLEIFE |
Anstelle der repeat-Schleife kannst du eine while-Schleife verwenden, um Programmblöcke zu wiederholen. Die while-Struktur kommt praktisch in alle Programmiersprachen vor und kann für jede Art von Wiederholung verwendet werden. Sie ist aber etwas komplizierter als repeat, da sie Variablen benötigt. Die while-Schleife wird insbesondere dann mit Vorteil verwendet, wenn die Anzahl der Wiederholungen nicht bekannt ist. Die Wiederholung ist durch eine Bedingung festgelegt. |
|
ZUM SELBST LÖSEN |
|
![]() |
![]() |
![]() |