Letztes Update am Sa., 31 Mai 2025 15:22:07 +0200 von Andreas Potthoff
IF
- Token: 139 / $8B | Abkürzung: – | ROM Exec: 43304 / $A928
- Typ: Anweisung | Funktion: Programmstruktur
- Syntax: IF <expression> THEN <line numer>
- Syntax: IF <expression> GOTO <line number>
- Syntax: IF <expression> THEN <statements>
Aktion, Hinweise, Tipps, Tricks:
Diese Anweisung verleiht BASIC seine größte Intelligenz: Sie kann Bedingungen auswerten und je nach Ergebnis unterschiedliche Aktionen ausführen. Auf das Wort IF folgt ein Ausdruck, der Variablen, Strings, Zahlen, Vergleiche und logische Operatoren enthalten kann. Das Wort THEN erscheint in derselben Zeile und wird entweder von einer Zeilennummer oder einer oder mehreren BASIC-Anweisungen gefolgt. Ist der Ausdruck falsch, wird alles nach THEN ignoriert, und die Ausführung wird mit der nächsten Zeilennummer im Programm fortgesetzt. Bei einem True-Ergebnis verzweigt das Programm entweder zur Zeilennummer nach THEN oder führt alle anderen BASIC-Anweisungen in dieser Zeile aus.
Beispiele:
BEISPIEL für eine IF...GOTO...-Anweisung: 100 INPUT "Gib eine Zahl ein"; N 110 IF N <= 0 GOTO 200 120 PRINT "Quadratwurzel=" SQR(N) 130 GOTO 100 200 PRINT "Zahl muss >0 sein" 210 GOTO 100 Dieses Programm gibt die Quadratwurzel einer beliebigen positiven Zahl aus. Die IF-Anweisung dient hier zur Validierung des Ergebnisses der INPUT-Anweisung. Wenn das Ergebnis von N <= 0 wahr ist, springt das Programm zu Zeile 200, und wenn das Ergebnis falsch ist, wird als Nächstes Zeile 120 ausgeführt. Beachten Sie, dass THEN GOTO bei IF...THEN nicht erforderlich ist, da in Zeile 110 GOTO 200 eigentlich THEN GOTO 200 bedeutet.
BEISPIEL FÜR EINE WENN...DANN...-Anweisung: 100 FOR L = 1 TO 100 110 IF RND(1) < .5 THEN X=X+1: GOTO 130 120 Y=Y+1 130 NEXT L 140 PRINT "KOPF=" X 150 PRINT "ZAHL= " Y Die IF-Anweisung in Zeile 110 prüft eine Zufallszahl auf einen Wert kleiner als 0,5. Bei einem Ergebnis von "true" werden alle auf das Wort "THEN" folgenden Anweisungen ausgeführt: Zuerst wird X um 1 erhöht, dann springt das Programm zu Zeile 130. Bei einem Ergebnis von "falsch" springt das Programm zur nächsten Anweisung, Zeile 120.
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$ |