Pascal - Déclaration goto

UNE goto L'instruction en Pascal fournit un saut inconditionnel de goto à une instruction étiquetée dans la même fonction.

NOTE - Utilisation de gotoest fortement déconseillée dans tout langage de programmation car il est difficile de tracer le flux de contrôle d'un programme, ce qui rend le programme difficile à comprendre et à modifier. Tout programme qui utilise un goto peut être réécrit afin qu'il n'ait pas besoin du goto.

Syntaxe

La syntaxe d'un goto La déclaration en Pascal est la suivante -

goto label;
   ...
   ...
label: statement;

Ici, l' étiquette doit être une étiquette entière non signée, dont la valeur peut être comprise entre 1 et 9999.

Représentation schématique

Exemple

Le programme suivant illustre le concept.

program exGoto;
label 1; 
var
   a : integer;

begin
   a := 10;
   (* repeat until loop execution *)
   1: repeat
      if( a = 15) then
      
      begin
         (* skip the iteration *)
         a := a + 1;
         goto 1;
      end;
      
      writeln('value of a: ', a);
      a:= a +1;
   until a = 20;
end.

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

value of a: 10
value of a: 11
value of a: 12
value of a: 13
value of a: 14
value of a: 16
value of a: 17
value of a: 18
value of a: 19

Veuillez noter que -

  • En Pascal, toutes les étiquettes doivent être déclarées avant les déclarations de constantes et de variables.

  • le if et goto Les instructions peuvent être utilisées dans l'instruction composée pour transférer le contrôle hors de l'instruction composée, mais il est illégal de transférer le contrôle dans une instruction composée.