Sentencia loop

palabras clave: end, for, loop, while

Sintaxis

[loop_identifier:]
loop
   sequence_of_statements
end loop [loop_identifier];

Explicación

Una sentencia loop ejecuta la secuencia de sentencias anidada repetidamente. Para evitar que la repetición continúe de manera indefinida (bucle infinito) se debe de implementar una condición de finalización, bien como parte de la secuencia de sentencias a ejecutar (usando una sentencia exit, bien mediante la adición de un esquema de iteración (véase sentencia for y sentencia while). Los bucles pueden tener un nombre que los identifique.

Ejemplo

 

Supóngase que X , S son variables de tipo Integer. El siguiente bucle acumula en S una secuencia de valores leídos en X hasta que se introduce un cero. (se muestran dos versiones, una dándole nombre al bucle y la otra sin dárselo)

S := 0;
loop
   Put ("Teclee un valor: ");
   Get (X);
   exit when X = 0;
   S := S + X;
end loop;
S := 0;
Bucle_1: loop
   Put ("Teclee un valor: ");
   Get (X);
   exit Bucle_1 when X = 0;
   S := S + X;
end loop Bucle_1;

Véase