Pascal - declaración goto

UN goto declaración en Pascal proporciona un salto incondicional de goto a una declaración etiquetada en la misma función.

NOTE - Uso de gotoLa declaración se desaconseja en cualquier lenguaje de programación porque dificulta el seguimiento del flujo de control de un programa, lo que hace que el programa sea difícil de entender y de modificar. Cualquier programa que use un goto se puede reescribir para que no necesite el goto.

Sintaxis

La sintaxis de un goto declaración en Pascal es la siguiente:

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

Aquí, la etiqueta debe ser una etiqueta de entero sin signo, cuyo valor puede ser de 1 a 9999.

Diagrama de flujo

Ejemplo

El siguiente programa ilustra el concepto.

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.

Cuando se compila y ejecuta el código anterior, produce el siguiente resultado:

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

Tenga en cuenta que -

  • En Pascal, todas las etiquetas deben declararse antes que las declaraciones de constantes y variables.

  • los if y goto Las declaraciones pueden usarse en la declaración compuesta para transferir el control fuera de la declaración compuesta, pero es ilegal transferir el control a una declaración compuesta.