Una sentencia while establece un esquema de iteración para un bucle (sentencia loop) asociado que hace que éste se repita
mientras la condición de control (una expresión booleana) sea verdadera.
[loop_identifier:] while condición loop sequence_of_statements
end loop [loop_identifier];
condición ::= boolean_expression
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.
S := 0; Put ("Teclee un valor: "); Get (X); while X /= 0 loop S := S + X; Put ("Teclee un valor: "); Get (X); end loop;