Vous pouvez utiliser [Prog] en tant qu'instruction dans un programme afin de
déclencher l'exécution d'un programme écrit à un autre emplacement. On
appelle sous-programme un programme qui s'exécute au sein d'un autre.
Faire appel à un sous-programme est utile notamment dans les cas
suivants :
l pour utiliser un programme déjà écrit dans un programme nouveau.
l pour des raisons de clarté, lorsque le sous-programme représente un
calcul long ou compliqué, qu'il vaut mieux séparer du reste.
l Lorsque la même procédure/calcul est utilisé plusieurs fois au sein d'un
programme.
Attention : si vous avez des instructions Goto dans un programme ou dans
un sous-programme, vérifiez bien qu'elles s'adressent à des Lbl situés dans
le même programme ou sous-programme.
Ex :
On a un programme Prog 0 qui calcule une valeur X à partir de divers
paramètres.
Dans le programme 1 on a les instructions suivantes :
Prog 0 : X+1→A
Lorsque le programme rencontre l'instruction Prog 0, il exécute le
programme Prog 0 dans son intégralité, puis il revient à Prog 1 chercher
l'instruction suivante : il met alors la valeur de X+1 dans la mémoire
temporaire A.
Exemple récapitulatif : le jeu du nombre mystère
Le principe du jeu est le suivant : la calculatrice génère un nombre entre 1 et
999 et vous avez 12 tentatives pour le découvrir.
Nous allons programmer ce jeu dans Prog 0 en utilisant un sous-
programme, Prog 1, pour tous les préparatifs du jeu.
On utilisera les variables suivantes :
l A pour le compteur des 12 tentatives.
l N le nombre à découvrir.
l X la valeur proposée par l'utilisateur.
Pour chaque valeur de A non nulle on demande une valeur de X.
l Si X=N, c'est gagné et on propose de rejouer.
l Si X>N, on affiche « Trop grand » et on demande une nouvelle valeur de
X. Sinon c'est que X est trop petit, et on redemande aussi une nouvelle
valeur de X.
Si A=0, vous avez perdu et on vous propose de rejouer.
Prog 1 assigne la valeur 12 à A et génère un nombre entier compris entre 0
et 999 à l'aide de Ran# (nombre aléatoire entre 0 et 0,999) et de Int (partie
entière).
On écrit Prog 1 :
12"A:Int (Ran# x1000+1)"N
Copyright © Lexibook 007
5