Schleifen
Im Folgenden werden die unterschiedlichen Schleifentypen beschrieben.
Code |
Schleifentyp |
Abbruchbedingung |
---|---|---|
@131 |
Schleife solange gleich | |
@132 |
Schleife solange ungleich | |
@133 |
Schleife solange grösser | |
@134 |
Schleife solange grösser oder gleich | |
@135 |
Schleife solange kleiner | |
@136 |
Schleife solange kleiner oder gleich | |
@141 |
Wiederhole bis gleich | |
@142 |
Wiederhole bis ungleich | |
@143 |
Wiederhole bis grösser | |
@144 |
Wiederhole bis grösser oder gleich | |
@145 |
Wiederhole bis kleiner | |
@146 |
Wiederhole bis kleiner oder gleich | |
@151 |
| |
@161 |
|
Eine Verschachtelung der Schleifen ist grundsätzlich möglich.
While-Schleife
Befehl | @13<n> | mit 1 <= n <= 6 |
Parameter 1 | R<m> | Wert mit dem verglichen wird |
Parameter 2 | K oder R<k> | Vergleichswert |
Parameter 3 | K | Sprungziel für den Fall, dass die Bedingung nicht erfüllt ist |
Die While-Schleife wird solange ausgeführt, wie die Bedingung erfüllt ist. Dabei findet die Überprüfung am Schleifenanfang statt. Wenn die Bedingung nicht oder nicht mehr erfüllt ist, wird zu der angegebenen Zeile gesprungen (Parameter 3).
Am Ende der While-Schleife muss ein unbedingter Sprung (@100) programmiert werden. Dabei ist als Sprungziel die Zeilennummer der While-Schleife anzugeben.
Mit <n> wird die Abbruchbedingung der Schleife spezifiziert.
Beispiel 1:
N100 R6=4
N200 @131 R6 K4 K600 (K600 is the target of the jump, when the condition is no longer satisfied)
N210 ...
N220 @100 K-200
N600 ...
N5000 M30
Solange R6 = 4 ist, wird die Schleife (Zeile 200 bis 220) wiederholt. Wenn die Bedingung nicht mehr erfüllt ist, wird zu der Zeile 600 gesprungen.
Repeat-Schleife
Befehl | @14<n> | mit 1 <= n <= 6 |
Parameter 1 | R<m> | Wert mit dem verglichen wird |
Parameter 2 | K oder R<k> | Vergleichswert |
Parameter 3 | K | Sprungziel zum Schleifenanfang |
Bei der Repeat-Schleife erfolgt die Abfrage am Ende der Schleife. D.h. die Schleife wird mindestens einmal durchlaufen. Erst wenn die Bedingung erfüllt ist, wird die Schleife beendet und mit dem Programm fortgefahren.
Beispiel 2:
N200 ...
N210 ...
N300 @141 R6 K25 K200
Die Schleife wird solange wiederholt, bis R6 = 25 ist. Die zweite Konstante in Zeile 300 gibt das Sprungziel (Schleifenanfang) an.
For-To-Schleife
Befehl | @151 <Variable> <Wert> <Konstante> |
Die For-To-Schleife ist eine Zählschleife, die solange ausgeführt wird, bis Variable gleich Wert ist. Dabei findet die Überprüfung am Anfang der Schleife statt. Falls die Bedingung erfüllt ist, wird zu der unter Konstante angegebenen Zeile gesprungen.
Am Ende der Schleife muss die Variable inkrementiert (@620) und mit einem unbedingten Sprung an den Schleifenanfang gesprungen werden.
Beispiel 3:
N190 R6=0
N200 @151 R6 K20 K400
N210 ...
N290 @620 R6 (increment R6)
N300 @100 K-200
For-Downto-Schleife
Befehl |
@161 <Variable> <Wert> <Konstante> |
Die For-Downto-Schleife ist eine Zählschleife. Die Verhaltensweise ist vergleichbar mit der For-To-Schleife. Es besteht lediglich der Unterschied, dass die Variable am Schleifenende um 1 dekrementiert (@621) wird.