GOTO
DESCRIPTION.
L'instruction GOTO provoquera un saut inconditionnel sans retour vers une ancre.
Le mot clé GOTO est aussi utilisé dans les instructions combinées ON ... GOTO pour un saut inconditionnel selon une valeur.
SYNTAXE.
GOTO ancrea
REMARQUES.
ancre doit être un emplacement du script identifiable par un numéro de ligne ou par une étiquette, label, existante et valide.
Si ancre est un numéro de ligne, indiquée par valeur retournée, la valeur calculée doit se trouver entre parenthèses.
L'instruction GOTO ne doit jamais être utilisée pour sortir définitivement d'une boucle d'instruction FOR / NEXT, REPEAT / UNTIL ou WHILE / ENDWHILE.
Si un test conditionnel introduit par IF, l'instruction THEN peut être omise avant l'instruction GOTO, mais l'instruction ELSE doit bien être présente en cas d'alternative prévue.
L'instruction GOTO, très utile et fortement employée dans les débuts de la programmation pour tous, ne devrait plus jamais être présente dans un script moderne réalisé à l'aide d'un langage de programmation structurelle, donc fait parti le BBC BASIC for SDL 2.0. Ces langages proposent de nombreuses alternatives à l'instruction GOTO qui améliore grandement le déroulement des applications, leur réalisation et leur maintenance future. L'instruction GOTO est maintenue dans le langage BBC BASIC for SDL 2.0 pour la rétrocompatibilité des anciens script, que, dans la mesure du possible, on s'efforcera de moderniser le plus possible.
Bien que le BBC BASIC for SDL 2.0 autorise toujours la numérotation des lignes d'un script, ou leur étiquetage à l'aide d'un label, pour identifier des ancres comme cibles pour les instructions GOTO , GOSUB et RESTORE, l'utilisation des instructions GOTO et GOSUB ne devrait plus être utilisée dans les programmes modernes qui fournissent des instructions pour une programmation dite structurée. Se maintien est surtout dû à un soucis de rétrocompatibilité avec d'anciens scripts.
Rappel : une étiquette, ou label, doit être placée entre parenthèses : ( lab_Nom ) et figurer en premier sur une ligne de programme. Les étiquettes et les variables partageant le même espace de noms ; il faudra être très vigilant à ne pas utiliser un label pouvant être confondu avec l'identifiant d'une variable. Les labels sont de portée globale à l'ensemble du programme et ne peuvent être utilisés dans les modules importés par les instructions INSTALL et CALL. De même que pour la numérotation des lignes, Il est conseillé de les utiliser uniquement à des fins de débogage ou pour la rétrocompatibilité d'anciens programmes.
Voir l'instruction GOSUB pour un saut inconditionnel avec retour.
Voir l'instruction PROC pour définir une procédure personnalisée.
EXEMPLE.
INPUT "Quel est votre age " ; kage
IF kage < 18 GOTO (lab_mineur) ELSE GOTO (lab_majeur)
PRINT "Cette ligne de sera pas affichée."
END
(lab_mineur)
PRINT "Vous etes mineur."
END
(lab_majeur)
PRINT "Vous etes majeur."
END
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.