C64 BASIC V2.0: Befehl: FOR
FOR
- Token: 129 / $81 | Abkürzung: fO | ROM Exec: 42818 / $A742
- Typ: Anweisung | Funktion: Programmstruktur
- Syntax: FOR <Variable> = <Start> TO <Limit> [ STEP <Increment>]
Aktion, Hinweise, Tipps, Tricks:
- Dies ist eine spezielle BASIC-Anweisung, mit der Sie eine Variable einfach als Zähler verwenden können.
- Sie müssen bestimmte Parameter angeben: den Namen der Gleitkommavariablen, ihren Startwert, das Zähllimit und den in jedem Zyklus zu addierenden Wert.
Beispiele:
Hier ist ein einfaches BASIC-Programm, das von 1 bis 10 zählt, jede Zahl ausgibt und nach Abschluss mit END endet und keine FOR-Anweisungen verwendet:
100 L = 1 110 PRINT L 120 L = 1 + 1 130 IF L <= 10 THEN 110 140 END
Hier ist das gleiche Programm mit der FOR-Anweisung:
100 FOR L = 1 TO 10 110 PRINT L 120 NEXT L 130 END
Wie Sie sehen, ist das Programm mit der FOR-Anweisung kürzer und leichter verständlich. Bei der Ausführung der FOR-Anweisung werden mehrere Operationen ausgeführt. Der <Start>-Wert wird in die Variable gesetzt, die im Zähler verwendet wird.
Im obigen Beispiel wird ein I in L gesetzt. Bei Erreichen der NEXT-Anweisung wird der <Inkrement>-Wert zur <Variable> addiert. Wenn kein STEP angegeben wurde, wird der <Inkrement>-Wert auf +1 gesetzt. Beim ersten Aufruf von Zeile 120 wird L um 1 addiert, sodass der neue Wert von L 2 ist.
Der Wert der <Variable> wird nun mit dem <Limit> verglichen. Wenn das <Limit> noch nicht erreicht ist, springt das Programm zur Zeile nach der ursprünglichen FOR-Anweisung. In diesem Fall ist der Wert von 2 in L kleiner als das Limit von 10, daher springt das Programm zur Zeile 110.
Schließlich wird der Wert von <Limit> durch die <Variable> überschritten. Zu diesem Zeitpunkt ist die Schleife abgeschlossen und das Programm fährt mit der Zeile nach der NEXT-Anweisung fort.
In unserem Beispiel erreicht der Wert von L den Wert 11 und überschreitet damit den Grenzwert von 10. Das Programm fährt mit Zeile 130 fort. Ist der Wert von <Inkrement> positiv, muss die <Variable> den Grenzwert überschreiten, ist sie negativ, muss sie kleiner als den Grenzwert werden.
Eine Schleife wird immer mindestens einmal ausgeführt.
Beispiele für die FOR…TO…STEP…-Anweisung:
100 FOR L = 100 TO 0 STEP -1 100 FOR L = PI TO 6* {pi} STEP .01 100 FOR AA = 3 TO 3
Befehle | CLOSE, CLR, CMD, CONT, DATA, DEF, DIM, END, FOR, GET, GET#, GOSUB, GOTO, IF, INPUT, INPUT#, LET, LIST, LOAD, NEW, NEXT, ON, OPEN, POKE, PRINT, PRINT#, READ, REM, RESTORE, RETURN, RUN, SAVE, STOP, SYS, VERIFY, WAIT |
Befehle Spezial (Bywords) | FN, GO, NOT, SPC(, TAB(, THEN, TO, STEP |
Arithmetische und logische Operatoren | +, –, *, /, ^, >, =, <, AND, OR |
Funktionen | ABS, ASC, ATN, CHR$, COS, EXP, FRE, INT, LEFT$, LEN, LOG, MID$, PEEK, POS, RIGHT$, RND, SGN, SIN, SQR, STR$, TAN, USR, VAL |
Konstanten und Systemvariablen | Pi, ST, TI, TI$ |