ON exp-num GOSUB adresse-1 [,adresse-2] ...
Appelle un sous-programme en fonction de la valeur d’une expression.
Paramètre | Description |
---|---|
exp-num | Expression numérique entière |
adresse-n | Numéro de ligne ou étiquette |
Exemple
10 INPUT "CHOIX (1-5)"; A%
20 IF A%=0 THEN END ELSE IFA%>5 THEN 10
30 ON A% GOSUB 100,110,120,130,140
40 GOTO 10
100 PRINT "1": RETURN
110 PRINT "2": RETURN
120 PRINT "3": RETURN
130 PRINT "4": RETURN
140 PRINT "5": RETURN
Suivant la valeur de la variable A% saisie au clavier, le programme effectue un saut à l’un des sous-programmes des lignes 100 à 140.
Action
L’instruction ON GOSUB permet d’effectuer un saut conditionnel à un sous-programme en fonction de la valeur de exp-num
.
- Si la valeur de
exp-num
est n, le saut s’effectue à la enième adresse indiquée dans la liste ; l’adresse du sous-programme appelé peut être définie par un numéro de ligne ou par une étiquette. - Le cas échéant,
exp-num
est tronquée à sa partie entière. Si la valeur de celle-ci est nulle ou supérieure au nombre d’adresses spécifiées, une erreur 32 est signalée ; si l’adresse sélectionnée n’existe pas, une erreur 60 est produite.
Aucune instruction ne doit suivre ON GOTO dans les lignes à instructions multiples.