User manual
ASURO - 61
-
9. C für ASURO
9.1.5. Schleifen
Schleifen dienen dazu, Anweisungen mehrmals auszuführen.
In der “while”-Schleife wird eine Bedingung ausgewertet. Ist die Bedingung wahr, so wird der
Anweisungsblock ausgeführt und die Bedingung erneut geprüft, bis diese falsch wird. Dannach
wird das Programm hinter dem Anweisungsblock fortgesetzt.
while( Bedingung)
Anweisungsblock
Beispiel:
#include “asuro.h”
int main(void) {
Init ()
MotorDir(FWD,FWD); // Beide Motoren auf vorwärts
MotorSpeed(120,120); // Beide Motoren etwa halbe Kraft voraus
StatusLED(GREEN); // Status-Leuchtdiode auf grün schalten
while (PollSwitch()==0) { // Solange keine Kollision erfolgte...
SerWrite(“Alles OK!\n”,10); // ... Euphorie verbreiten
}
MotorSpeed(0,0); // Kollision! Sofort anhalten!
StatusLED(RED); // Statusleuchtdiode rot schalten
while (1) {
SerWrite(“Aua!\n”,5); // und weinen!
}
}
Die “for (expr1, epr2, expr3)”-Anweisung ist äquivalent zu :
expr1;
while (expr2) {
Anweisungsblock
expr3;
}
Die “for”-Schleife wird normalerweise als Zählschleife verwendet.
for (i = 0; i < n; i++)
. . .
Beispiel:
#include “asuro.h”
int main(void) {
Init ()
int zaehler; // Variable für’s Zählen deklarieren
for (zaehler=0; zaehler<10; zaehler++) { // zehnmal wiederholen:
SerWrite(“Los geht’s!\n”,12); // “Los geht’s” schicken
}
MotorDir(FWD,FWD); // Beide Motoren auf vorwärts
MotorSpeed(120,120); // Beide Motoren etwa halbe Kraft voraus
while (1) { // Danach nichts mehr machen!
} }