GOSUB |
Aller au sous-programme |
---|---|
QuickBASIC/QBasic |
Syntaxe
GOSUB ligne1 . . . RETURN [ligne2] |
Paramètres
Nom | Description |
---|---|
ligne1 | Ce paramètre permet d'indiquer le numéro de ligne ou étiquette où commence le sous-programme |
ligne2 | Ce paramètre optionnel permet d'indiquer le numéro de ligne ou une étiquette où le retour du sous-programme s'effectuera |
Description
Cette commande permet d'appeler un sous-programme.
Remarques
- Les procédures SUB et FUNCTION du QBASIC ou QuickBASIC fournissent une alternative plus bien structurée aux sous-programmes GOSUB ... RETURN.
- En plus de RETURN sans paramètre, le QBASIC ou QuickBASIC prend en charge RETURN avec une étiquette de ligne ou un numéro de ligne permettant un retour d'un sous-programme à l'instruction ayant le numéro de ligne ou l'étiquette spécifié, au lieu de retourner à l'instruction après l'instruction GOSUB. Utilisez ce type de retour spécifique à la ligne avec précaution.
- Vous pouvez appeler un sous-programme un certain nombre de fois dans un programme. Vous pouvez également appeler un sous-programme depuis un autre sous-programme. La profondeur à laquelle vous pouvez imbriquer les sous-programmes n'est limitée que par l'espace de pile disponible (vous pouvez augmenter l'espace de pile avec l'instruction CLEAR). Les sous-programmes s'appellant eux-mêmes (sous-programmes récursifs) peuvent facilement manquer d'espace de pile. L'instruction RETURN avec une étiquette de ligne ou un numéro de ligne peut uniquement renvoyer le contrôle à une instruction dans le code au niveau du module et non au code au niveau de la procédure.
- Un sous-programme peut contenir plusieurs instructions RETURN. Les instructions RETURN simples (sans l'option ligne1) dans un sous-programme permettent de ramener QBASIC ou QuickBASIC à l'instruction suivant l'instruction GOSUB la plus récente.
- Les sous-programmes peuvent apparaître n'importe où dans le programme, mais il est recommandé de les distinguer facilement du programme principal. Pour éviter toute entrée par inadvertance dans un sous-programme, faites-le précéder d'une instruction STOP, END ou GOTO dirigeant le contrôle du programme autour du sous-programme.
- La discussion précédente sur les sous-programmes s'applique uniquement aux cibles des instructions GOSUB, pas aux sous-programmes délimités par des instructions SUB. L'entrée et la sortie de blocs SUB avec des instructions GOSUB ... RETURN ne sont pas prises en charge.
Exemple
Voici un exemple d'une utilisation typique de cette instruction :
on obtiendra le résultat suivant :
Fonction sans retour de valeur !Voir également
Langage de programmation - QuickBASIC/QBasic - Référence de procédures et de fonctions - RETURN
Langage de programmation - QuickBASIC/QBasic - Référence de procédures et de fonctions - CALL
Langage de programmation - QuickBASIC/QBasic - Référence de procédures et de fonctions - ON...GOSUB
Langage de programmation - QuickBASIC/QBasic - Référence de procédures et de fonctions - SUB
Langage de programmation - BASICA/GWBASIC - Référence de procédures et fonctions - GOSUB
Dernière mise à jour : Mercredi, le 14 septembre 2016