Accueil > Turbo Pascal > Turbo Pascal – Branchements

Turbo Pascal – Branchements

This entry is part 10 of 24 in the series Turbo Pascal - Tutoriel
  1. L’instruction GOTO

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.

Series Navigation«Turbo Pascal – Les casTurbo Pascal – Les boucles»
Categories: Turbo Pascal Tags:
  1. Pas encore de commentaire
  1. Pas encore de trackbacks