Letztes Update am Sa., 31 Mai 2025 10:23:31 +0200 von Andreas Potthoff
ON
- Token: 145 / $91 | Abkürzung: – | ROM Exec: 43339 / $A94B
- Typ: Anweisung | Funktion: Programmstruktur
- Syntax: ON <variable> GOTO <line number>[,<line number>]…
- Syntax: ON <variable> GOSUB <line number>[,<line number>]…
Aktion, Hinweise, Tipps, Tricks:
Die ON-Anweisung dient dazu, abhängig vom Wert einer Variable zu einer von mehreren vorgegebenen Zeilennummern zu gelangen. Der Wert der Variablen kann zwischen null und der angegebenen Zeilenanzahl liegen. Ist der Wert nicht ganzzahlig, wird der Nachkommateil weggelassen. Beispiel: Wenn der Variablenwert 3 ist, führt ON zur dritten Zeilennummer in der Liste.
Ist der Variablenwert negativ, erscheint die BASIC-Fehlermeldung „?ILLEGAL QUANTITY“. Ist die Zahl null oder grer als die Anzahl der Einträge in der Liste, ignoriert das Programm die Anweisung und fährt mit der Anweisung nach der ON-Anweisung fort. ON ist eine wenig genutzte Variante der IF…THEN…-Anweisung. Anstatt viele IF-Anweisungen zu verwenden, die das Programm jeweils zu einer bestimmten Zeile schicken, kann eine ON-Anweisung eine Reihe von IF-Anweisungen ersetzen. Im ersten Beispiel wird Ihnen auffallen, dass die eine ON-Anweisung vier IF…THEN…-Anweisungen ersetzt.
Beispiele:
ON -(A=7)-2*(A=3)-3*(A<3)-4*(A>7)GOTO 400,900,1000,100 ON X GOTO 100,130,180,220 ON X+3 GOSUB 9000,20,9000 100 ON NUM GOTO 150,300,320,390 500 ON SUM/2 + 1 GOSUB 50,80,20
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$ |