Deutsch English |
DU LERNST HIER... |
wie ein Roboter bestimmte Befehlssequenzen wiederholen kann und wie du mit benannten Programmblöcken (Funktionen) deine Programme besser strukturieren kannst. |
MUSTERBEISPIELE |
from mbrobot import * #from mbrobot_plus 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. |
from mbrobot import * #from mbrobot_plus 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 switsch
|
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ärts fä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-Dupplikation vermeiden. Du musst zwischen der Funktionsdefinition und Funktionsaufruf unterscheiden.
|
ZUM SELBST LÖSEN |
|