LBotics.at

Oft ist es notwendig, dass Anweisungen mehrmals hintereinander ausgeführt werden. Anstatt die Anweisungen, die mehrmals ausgeführt werden sollen, entsprechend oft im Programmcode anzuführen, kann man dazu Schleifen einsetzen.

In der while-Schleife wird der darin enthaltene Programmcode wiederholt ausgeführt, solange eine zuvor festgelegte Bedingung erfüllt ist. Für die Anzahl der Wiederholungen kommt bei der Verwendung einer while-Schleife meist eine Zählvariable zum Einsatz.

Programmbeispiel - Variablen und wiederholtes Ausführen von Anweisungen

Mit diesem Programm soll der Roboter einen Bewegungsablauf (zwei Sekunden vorwärts fahren und dann zwei Sekunden drehen) vier Mal hintereinander ausführen.

#include "evclibrary.h"
int main()
{
// 1. Konfiguration der angeschlossenen Sensoren und Motoren
SET_OUT(OUT_A, OUT_MOTOR);
SET_OUT(OUT_B, OUT_MOTOR);
// 2. Initialisierung des EV3 Brick
EVC_INIT();
// 3. Steuerung des Roboters
int Zaehler = 1;
while (Zaehler<=4)
{
WRITE_OUT(OUT_A, MOTOR_POWER, 50);
WRITE_OUT(OUT_B, MOTOR_POWER, 50);
SLEEP(2000);
WRITE_OUT(OUT_B, MOTOR_STOP, MOTOR_COAST);
SLEEP(2000);
Zaehler = Zaehler + 1;
}
// 4. Programmende
EVC_CLOSE();
return 0;
}
Erklärungen zu diesem Programmbeispiel
Zeile 10: int Zaehler = 1;

Hier wird eine Variable vom Typ Integer definiert und gleichzeitig der Wert 1 zu gewiesen. In Variablen vom Typ Integer können ganzzahlige Werte abgelegt werden.

Die Variable Zaehler dient in diesem Programm dazu, um die Anzahl der Schleifendurchläufe mitzuzählen.

Zeile 11: while (Zaehler<=4) ...

In dieser Zeile wird die Bedingung für die while-Schleife festgelegt. Nach dem Schüsselwort while steht in runden Klammern die Bedingung, wie lange die Schleife läuft.

Der Programmcode, der zwischen den geschwungenen Klammern steht, wird so oft wiederholt ausgeführt, solange der Wert der Variable Zaehler kleiner oder gleich 4 ist.

Zeile 18: Zaehler = Zaehler + 1;

Am Ende der Anweisungen innerhalb der Schleife wird der Wert der Variable Zaehler um eins erhöht. Ist der Wert der Variable Zaehler dann kleiner oder gleich 4, springt das Programm zu Zeile 16 und es werden die Anweisungen innerhalb der Schleife wiederholt ausgeführt.

Ist der Wert der Variable Zaehler größer als 4, wird die Ausführung der Anweisungen in Zeile 23 fortgesetzt.

Die while-Schleife

Die Anweisungen in einer while-Schleife werden ausgeführt, solange die Bedingung, die nach dem Schlüsselwort while steht, erfüllt ist.

Alle Anweisungen, die wiederholt ausgeführt werden sollen, sind mit geschwungenen Klammern zusammengefasst.

while(Bedingung)
{
Anweisung1;
Anweisung2;
...
}