Schleifen

Im Folgenden werden die unterschiedlichen Schleifentypen beschrieben.

Code

Schleifentyp

Abbruchbedingung

@131

While-Schleife

Schleife solange gleich

@132

While-Schleife

Schleife solange ungleich

@133

While-Schleife

Schleife solange grösser

@134

While-Schleife

Schleife solange grösser oder gleich

@135

While-Schleife

Schleife solange kleiner

@136

While-Schleife

Schleife solange kleiner oder gleich

@141

Repeat-Schleife

Wiederhole bis gleich

@142

Repeat-Schleife

Wiederhole bis ungleich

@143

Repeat-Schleife

Wiederhole bis grösser

@144

Repeat-Schleife

Wiederhole bis grösser oder gleich

@145

Repeat-Schleife

Wiederhole bis kleiner

@146

Repeat-Schleife

Wiederhole bis kleiner oder gleich

@151

For-To-Schleife

 

@161

For-DownTo-Schleife

 

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.