Sie befinden sich hier: Erste Schritte mit dem Programmeditor > Verwenden von Schleifen zum Wiederholen einer Gruppe von Befehlen

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:

For i,0,5,1

  Disp i  À

EndFor

Disp i  Á

À

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:

0&x  À

While x<5

  Disp x  Á

  x+1&x  Â

EndWhile

Disp x  Ã

À

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:

0&x

Loop

  Disp x

  x+1&x

  If x>5  À

    Exit

EndLoop

Disp x  Á

À

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.

 

© 2006 - 2016 Texas Instruments Incorporated