Im folgenden Programmbeispiel steht das Unterprogramm ab Zeile 1 00. Es wird zweimal
aufgerufen.
10 PRINT "ERSTER AUFRUF"
Die END Anweisung in Zeile 60 verhindert, dass der Programmablauf nach dem zweiten
Unterprogrammablauf nach dem zweiten Unterprogrammaufruf in Zeile 1 00 fortgesetzt
wird. Der Computer wuerde sonst auf das RETURN in Zeile 1 30 stossen, ohne dass vorher
das Unterprogramm aufgerufen wurde. Dieses haette dann eine Fehlermeldung zur Folge.
ON/GOTO
Durch die ON/GOTO Anweisung kann man aufgrund des Wertes einer Variablen zu
bestimmten Zeilennummern verzweigen. In einem Programm kann z. B. folgende Zeile
auftreten.
50 ON X GOTO 100, 110, 120, 130
Bei diesem Beispiel haengt es von der Variablen X ab, in welcher Zeile das Programm
fortgesetzt wird. Ist X gleich eins, so verzweigt das Programm zur Zeile 1 00. Bei einer
zwei springt das Programm zu Zeile 110 usw .
Hinter dem ON/GOTO-Befehl koennen so viele Zeilennummern stehen, wie in eine
Basic-Programmzeile passen. Der maximale Wert der Variablen richtet sich dann nach
der Anzahl der Zeilennummern. Bei der Variablen muss es sich um eine numerische
Variable handeln. Stringvariablen akzeptiert der Computer hierbei nicht.
Beispielprogramm:
10 PRINT : PRINT " 1 : ZEILE 100 "
20 GOSUB 100
30 PRINT " ZWEITER AUFRUF
40 GOSUB 100
50 PRINT "ENDE DES PROGRAMMES
60 END
100 FOR T=l TO 3
110 PRINT "DIES IST DAS UNTERPROGRAMM"
<
120 NEXT T
130 RETURN
20 PRINT " 2 : ZEILE 200 "
30 PRINT " 3 : ZEILE 300 "
40 PRINT " 4 : ZEILE 400 "
50 PRINT " 5 : ZEILE 500 "
60 PRINT " GEBEN SIE EINE ZAHL VON 1 BIS 5 EIN"
70 INPUT X
80 IF X<1 OR X>5 THEN PRINT "UNGUELTIGE EINGABE" : GOTO 10
90 ON X GOTO 100, 200, 300, 400, 500
100 PRINT " ZEILE 100 " : GOTO 10
200 PRINT " ZEILE 200 " : GOTO 10
300 PRINT " ZEILE 300 " : GOTO 10
400 PRINT " ZEILE 400 " : GOTO 10
500 PRINT " ZEILE 500" : GOTO 10