Accueil > QBasic > QBasic – Les boucles inconditionnelles

QBasic – Les boucles inconditionnelles

This entry is part 9 of 30 in the series QBasic - Tutoriel
  1. Avec RUN
  2. Avec GOTO
  3. ON GOTO
  4. END

Imaginez que vous soyez fort en colère contre quelqu’un. Après avoir consulté un Marabou Africain,
vous avez appris que pour lui jeter un sort il faudra écrire 987245679137542 fois ‘Il va t’arriver
malheur !’. Malin comme vous l’êtes, vous vous êtes dit, je vais demander à mon ordinateur de le
faire à ma place.

Mais écrire 987245679137542 fois PRINT « Il va t’arriver malheur ! » n’est guère plus
rapide. Nous allons donc utiliser une boucle.


Avec RUN


C’est une méthode qu’un bon programmeur n’aime pas tellement utiliser. Il n’empêche qu’elle marche
correctement. RUN signifie ‘courir’ en Anglais. Ici il n’est nul question de faire courir
l’ordinateur. Dans ce contexte, RUN donne l’ordre d’exécuter le programme depuis le tout début.
Nous pouvons écrire un court programme permettant d’écrire une multitude de fois ‘Il va t’arriver
malheur !’.

PRINT « Il va t’arriver malheur ! »
RUN

Vous pouvez essayer, ça marche très bien. Pour arrêter, appuyez sur CONTROL + PAUSE.


Avec GOTO


Une autre méthode serait d’utiliser GOTO. À l’origine, GOTO ne sert pas à faire des boucles.
Mais dans ce contexte, ça suffira bien.

Pour utiliser GOTO, il faut définir une étiquette. Par exemple, pour une étiquette
que l’on appellera DEBUT, on écrira DEBUT, suivi des doubles points : :

DEBUT: ‘ N’oubliez pas les doubles-points, ils sont indispensables !

Lorque l’ordinateur arrivera à l’instruction GOTO, il ira à l’étiquette spécifiée :

DEBUT: ‘ N’oubliez pas les doubles-points, ils sont indispensables !
PRINT « Il va t’arriver malheur ! »
GOTO DEBUT ‘ Lorsque l’ordinateur arrive à cette ligne,
‘ il remonte à la première ligne

Là aussi ça marche très bien et là aussi, pour arrêter, appuyez sur CONTROL + PAUSE.


ON GOTO


À proprement parler, ON GOTO n’est pas tout à fait une structure inconditionnelle. ON GOTO
est toujours associé d’une part à une variable numérique, et d’autre part à une série de labels (étiquettes).
L’ordinateur va alors tester la valeur de la variable. Si elle vaut 1, l’ordinateur va aller au
premier label spécifié. Si elle vaut 2, il va au deuxième, et ainsi de suite.

INPUT « Entrez un chiffre entre 1 et 3 : « , Rep

ON Rep GOTO LabelUn, LabelDeux, LabelTrois ‘ on effectue un branchement avec ON GOTO
END

LabelUn:
PRINT « Vous avez écris 1″
END

LabelDeux:
PRINT « Vous avez écris 2″
END

LabelTrois:
PRINT « Vous avez écris 3″
END


Si la valeur renvoyée par l’utilisateur n’est pas dans la fourchette (0 ou 4 par exemple), aucun
branchement n’est effectué.

Par contre, si l’utilisateur avait fourni une valeur comprise dans la fourchette, mais non entière,
le branchement aurait été effectué avec l’arrondi. Par exemple, si on avait donné 1.4,
l’arrondi aurrait été 1 et on serait allé au label LabelUn:. Si on avait
donné 1.6, l’arrondi aurrait été 2 et on serait allé au label
LabelDeux:
.


END


END signifie la fin d’un programme. Lorsque l’ordinateur le rencontre, le programme s’arrête.
Il peut être placé n’importe où dans le code.

Series Navigation«QBasic – Entrée de donnéesQBasic – Les boucles conditionnelles»
Categories: QBasic Tags:
  1. Pas encore de commentaire
  1. Pas encore de trackbacks