Name
FOR

Syntax
FOR zähler = beginn  TO ende [ STEP schrittweite ]
...
NEXT zähler

Aufklappen Wertebereiche
zähler Gültiger Variablenname, Typ numerisch (*)
beginn, Typ real
ende, Typ real
schrittweite, Typ real

(*) Nur lokale, kein globaler Variablenname zulässig.

Aufklappen Erläuterung
Führt die Befehle zwischen FOR...TO...STEP und NEXT so oft aus, bis der zähler den Wert ende erreicht hat.

Zunächst wird am Beginn der Schleife mit FOR der Variablen zähler der Wert beginn zugewiesen und sogleich geprüft, ob sie damit die Zielbedingung ende überschritten hat. Wenn nicht, also wenn mindestens gilt beginn=ende, werden die folgenden Befehle bis NEXT abgearbeitet.
Nach jedem Durchlauf der Schleife wird mit NEXT der Variablen zähler der Wert schrittweite (=1, wenn schrittweite nicht angegeben) hinzuaddiert. Dann erfolgt der Rücksprung zu FOR...TO, wo nun wieder das erreichen des Wertes ende geprüft wird. Ist dieser erreicht oder überschritten, wird zu dem nächsten Befehl nach dem NEXT-Bestandteil verzweigt. Die Schleife ist beendet.
Wichtig ist, dass sich die Variable zähler vollwertig ist. D.h., dass sie Bestandteil von Ausdrücken und Berechnungen sein kann, sowie innerhalb der Schleife zusätzlich zu seiner automatischen Veränderung mit NEXT neu zugewiesen werden kann.

Ist schrittweite ein negativer Wert, wird zähler eben nicht erhöht, sondern erniedrigt. Der Zielwert ende muss dann auch kleiner oder gleich als beginn sein, wenn die Schleife durchlaufen werden soll.

Aufklappen Beispiel
Beispiel 1:
FOR anzahl=1 TO 5
 BLOCK 0.3,0.3,3.5
 ADDX 7.5
 NEXT anzahl


Führt 5 Schleifendurchgänge aus (mit anzahl=1 bis anzahl=5).

Beispiel 2:
FOR x=0 TO 1 STEP 0.3
 FOR y=0 TO 1
  CIRCLE2 x,y,0.04
  NEXT y
 NEXT x

Aufklappen Besonderheiten
Schleifen können ineinander verschachtelt werden, jedoch kann jede Schleife erst erhöht/erniedrigt oder beendet werden, wenn die in ihr erhaltenen Schleifen bereits beendet wurden.

Schleifen dürfen für die Abarbeitung von Unterprogrammen (intere wie externe) verlassen werden.

Aufklappen Tipps und Tricks
Um eine Schleife vorzeitig zu beenden sollte man innerhalb der Schleife den Wert von zähler auf ende+schrittweite setzen statt diese z.B. mit GOTO zu verlassen.

Hingegen hat eine Veränderung von schrittweite während des Schleifendurchlaufs keine Auswirkung auf Erhöhung/Erniedrigung von zähler mit NEXT.

Nach dem Ende der Schleife ist der letzte Wert in der Variablen zähler noch enthalten. In Beispiel 1 könnte man so z.B. die Koordinatentransformationen mit DEL anzahl-1 rückgängig machen.
Dabei ist zu beachten, dass der Variablen am Ende mit NEXT noch einmal schrittweite hinzugerechnet wird. Beim vorletzten Durchlauf ist anzahl=5 und demnach am Ende der Schleife anzahl=6.
Der Wert der Zählvariablen ist aber nicht immer ende+schrittweite sondern beginn + ( INT((ende - beginn) / schrittweite) + 1) * schrittweite