Turbo Pascal – Branchements
- Turbo Pascal – Introduction au Turbo Pascal
- Turbo Pascal – Ecrire sur l’écran
- Turbo Pascal – Un peu de maths
- Turbo Pascal – Les commentaires
- Turbo Pascal – Les variables
- Turbo Pascal – Les constantes
- Turbo Pascal – Entrée de données
- Turbo Pascal – Structure conditionnelle
- Turbo Pascal – Les cas
- Turbo Pascal – Branchements
- Turbo Pascal – Les boucles
- Turbo Pascal – Procédures et fonctions
- Turbo Pascal – Les unités
- Turbo Pascal – Les tableaux
- Turbo Pascal – Les maths
- Turbo Pascal – Le traitement du texte
- Turbo Pascal – Affichage du texte
- Turbo Pascal – Le son
- Turbo Pascal – Graphismes
- Turbo Pascal – L’unité Graph et le texte
- Turbo Pascal – Les types personalisés
- Turbo Pascal – Les pointeurs
- Turbo Pascal – Les objets
- Turbo Pascal – Les ensembles
Un branchement peut être comparé à un pont. À chaque fois que le programme en rencontre un, il
va faire un pont de ce branchement jusqu’au label qui lui est indiqué.
Un branchement est donc définit par un label. Un label peut être un identificateur de votre choix.
Cependant, sa syntaxe doit répondre au même rêgles que celles énoncées pour les variables.
Le label peut aussi être un numéro (old school, façon Basic).
Tout label doit être déclaré préalablement en tête du programme, juste après program,
à l’aide du mot-clef label. Si il y en à plusieurs, il seront séparés par des virgules.
Dans le programme, le label est toujours suivit des doubles points (:) :
program Branchmt;label Debut, Milieu, Fin; { Déclaration de 3 labels. N’oubliez pas le ; }
begin
Debut: { Label Debut }
writeln(’Ceci est le début du programme’);Milieu: { Label Milieu }
writeln(’Ceci est le milieu du programme’);Fin: { Label Fin }
writeln(’Ceci est la fin du programme’);
end.
L’instruction GOTO
Maintenant, pour aller à ses labels, il faut utiliser l’instruction goto suivie du label
chosi, comme en Basic (en fait, tout est pareil. La seul chose en plus, c’est la déclaration des
labels).
L’exemple suivant illustre certaines des choses vues précedemment :
program Branchmt;label Debut, Milieu, Fin; { Déclaration de 3 labels. N’oubliez pas le ; }
var Ou : Integer;
begin
writeln(’Où voulez-vous aller ?’);
writeln(’ 1 – Au début’);
writeln(’ 2 – Au milieu’);
writeln(’ 3 – À la fin’);
read(Ou);if Ou = 1 then goto Debut; { Selon la séléction, on effectue }
if Ou = 2 then goto Milieu; { le branchement correspondant }
if Ou = 3 then goto Fin;Debut: { Label Debut }
writeln(’Ceci est le début du programme’);Milieu: { Label Milieu }
writeln(’Ceci est le milieu du programme’);Fin: { Label Fin }
writeln(’Ceci est la fin du programme’);
end.
On aurait pu améliorer un peu :
program Branchmt;label Debut, Milieu, Fin, Boucle;
var Ou : Integer;
begin
writeln(’Où voulez-vous aller ?’);
writeln(’ 1 – Au début’);
writeln(’ 2 – Au milieu’);
writeln(’ 3 – À la fin’);
Boucle: read(Ou);if Ou = 1 then goto Debut
else if Ou = 2 then goto Milieu
else if Ou = 3 then goto Fin
else goto Boucle; { Retour au ‘Read’ si aucune
condition n’a été remplie }Debut:
writeln(’Ceci est le début du programme’);Milieu:
writeln(’Ceci est le milieu du programme’);Fin:
writeln(’Ceci est la fin du programme’);
end.