Verwenden von Schleifen zum Wiederholen einer Gruppe von Befehlen
Um dieselbe Gruppe von Befehlen nacheinander zu wiederholen, verwenden Sie eine der Schleifenstrukturen. Es stehen mehrere Schleifentypen zur Verfügung. Jeder Typ bietet eine andere Möglichkeit, die Schleife über einen bedingten Test zu verlassen.
Schleifen und schleifenbezogene Befehle finden Sie in den Programmeditor-Menüs Steuerung (Control) und Übertragungen (Transfers).
Wenn Sie eine der Schleifen-Strukturen einfügen, wird die entsprechende Vorlage an der Cursorposition eingefügt. Sie können dann damit beginnen, die Befehle einzugeben, die innerhalb der Schleife ausgeführt werden.
For...EndFor-Schleifen
Eine For...EndFor-Schleife verwendet einen Zähler, um die Anzahl der Schleifenwiederholungen zu kontrollieren. Die Syntax des Befehls For lautet:
Hinweis: Der Endwert kann kleiner sein als der Anfangswert, wenn die Erhöhung negativ ist.
| For | Variable, | Anfang, | Ende [, | Erhöhung] |
|
|
À |
Á |
 |
à |
|
À |
Variable als Zähler |
|
Á |
Zählerwert bei der ersten Ausführung von For |
|
 |
Verlässt die Schleife, wenn Variable diesen Wert überschreitet |
|
à |
Wird dem Zähler bei jeder Wiederholung von For hinzugefügt (Wenn dieser optionale Wert ausgelassen wird, ist die Erhöhung 1.) |
Wenn For ausgeführt wird, wird der Wert Variable mit dem Wert Ende verglichen. Wenn hierbei Variable nicht höher ist als Ende, wird die Schleife ausgeführt; anderenfalls springt die Steuerung zu dem Befehl, der auf EndFor folgt.
Hinweis: Der Befehl For erhöht den Zähler Variable automatisch, sodass die Funktion / das Programm die Schleife nach einer bestimmten Anzahl an Wiederholungen verlassen kann.
Am Ende der Schleife (EndFor) springt die Steuerung zurück zum Befehl For, wo der Wert Variable erhöht und mit Ende vergleichen wird.
Beispiel:
|
À |
Zeigt 0, 1, 2, 3, 4 und 5 an. |
|
Á |
Zeigt 6 an. Wenn Variable auf 6 erhöht wird, wird die Schleife nicht mehr ausgeführt. |
Hinweis: Wenn die Zählervariable nach Beendigung der Funktion / des Programms nicht gespeichert werden muss, können Sie die Variable als lokal festlegen.
While...EndWhile-Schleifen
Eine While...EndWhile-Schleife wiederholt einen Block von Befehlen so lange, wie eine festgelegte Bedingung wahr ist. Die Syntax des Befehls While lautet:
While Bedingung
Während der Ausführung von While wird die Bedingung ausgewertet. Wenn die Bedingung wahr ist, wird die Schleife ausgeführt; anderenfalls springt die Steuerung zu dem Befehl, der auf EndWhile folgt.
Hinweis: Der Befehl While ändert nicht automatisch die Bedingung. Sie müssen Befehle einfügen, die es der Funktion / dem Programm ermöglichen, die Schleife zu verlassen.
Am Ende der Schleife (EndWhile) springt die Steuerung zurück zum Befehl While, wo die Bedingung erneut ausgewertet wird.
Um die Schleife beim ersten Mal ausführen zu können, muss die Bedingung am Anfang wahr sein.
| • | Alle Variablen, auf die in der Bedingung Bezug genommen wird, müssen vor dem Befehl While eingegeben werden. (Sie können die Werte in die Funktion bzw. das Programm einbauen oder den Benutzer zur Eingabe der Werte auffordern.) |
| • | Die Schleife muss Befehle enthalten, die die Werte in der Bedingung ändern und so die Bedingung letztendlich unwahr machen. Anderenfalls wäre die Bedingung immer wahr und die Funktion / das Programm könnte die Schleife nicht verlassen (Endlosschleife). |
Beispiel:
|
À |
Stellt x anfänglich ein. |
|
Á |
Zeigt 0, 1, 2, 3 und 4 an. |
|
 |
Erhöht x. |
|
à |
Zeigt 5 an. Wenn x auf 5 angewachsen ist, wird die Schleife nicht mehr ausgeführt. |
Loop...EndLoop-Schleifen
Loop...EndLoop erstellt eine Endlosschleife, die unendlich wiederholt wird. Der Befehl Loop enthält keine Argumente.
Typischerweise fügen Sie Befehle in die Schleife ein, die es dem Programm ermöglichen, die Schleife zu verlassen. Häufig verwendete Befehle hierfür sind: If, Exit, Goto und Lbl (Marke). Beispiel:
|
À |
Ein If-Befehl überprüft die Bedingung. |
|
Á |
Verlässt die Schleife und springt hierher, wenn x auf 6 anwächst. |
Hinweis: Mit dem Befehl Exit wird die aktuelle Schleife verlassen.
In diesem Beispiel kann sich der If-Befehl an einer beliebigen Stelle in der Schleife befinden.
|
Wenn der If-Befehl: |
wird die Schleife: |
|
am Anfang der Schleife ist |
nur ausgeführt, wenn die Bedingung wahr ist. |
|
am Ende der Schleife ist |
mindestens ein Mal ausgeführt und nur wiederholt, wenn die Bedingung wahr ist. |
Der Befehl If kann auch den Befehl Goto verwenden, um die Programmsteuerung zu einem bestimmten Lbl (Marke)-Befehl zu übertragen.
Sofortiges Wiederholen einer Schleife
Der Befehl Cycle überträgt die Programmsteuerung sofort an die nächste Wiederholung der Schleife (bevor die aktuelle Wiederholung beendet ist). Dieser Befehl funktioniert bei For...EndFor, While...EndWhile und Loop...EndLoop.
Lbl- und Goto-Schleifen
Obwohl die Befehle Lbl (Marke) und Goto keine ausschließlichen Schleifenbefehle sind, können sie benutzt werden, um eine Endlosschleife zu erzeugen. Beispiel:
Wie bei Loop...EndLoop muss die Schleife Befehle enthalten, die es der Funktion / dem Programm ermöglichen, die Schleife zu verlassen.