while ( condición ){
    sentencia ;
    ...
}

La sentencia LOOP equivale a while(1) o lo que es lo mismo un bucle infinito.

La sentencia while (mientras) es una sentencia que implementa un bucle, es decir, que es capaz de repetir un grupo de sentencias un número determinado de veces.

Para implementar este bucle se debe especificar entre paréntesis la condición que se debe cumplir para que se ejecute el grupo de sentencias a continuación de la palabra reservada while. Tras especificar esta condición en el bloque "{}", se pondrán todas las sentencias que se necesita que se repitan y, finalmente.

Cuando se ejecute una sentencia while se realizará la comprobación que se especifica y, si ésta resulta cierta, se ejecutarán las sentencias interiores; en caso contrario, se continuará el programa saldrá del bucle.

Si se han ejecutado las sentencias interiores (lo que se denomina realizar una iteración del bucle), se volverá a comprobar la condición y, si ésta vuelve a ser cierta, se realizará otra iteración (se volverán a ejecutar las sentencias interiores). Este proceso se repetirá hasta que, al comprobarse la condición del while, ésta resulte falsa.

Si según se ejecuta una sentencia while la condición resulta falsa directamente, entonces no se ejecutarán las sentencias interiores ninguna vez.


MAIN_PROGRAM_CDIV
BEGIN_PROGRAM
    x=0;
    while (x<320){
        x=x+10;
        FRAME;
    }
END_PROGRAM

En este ejemplo se pondrá la variable local x (coordenada x del proceso) a cero y después, mientras x sea menor que 320, se le sumarán 10 a x y se dará un FRAME.

Una sentencia break dentro de un bucle while lo finalizará de forma inmediata, continuando el programa por la sentencia siguiente a dicho bucle.

Una sentencia continue dentro de un bucle while forzará al programa a comprobar la condición inicial inmediatamente y, si ésta es cierta, volver a ejecutar las sentencias interiores desde el principio (tras el while). Si la condición resulta falsa, la sentencia continue finalizará el bucle.

Las sentencias interiores a un bucle while pueden ser tantas como se quieran y de cualquier tipo, incluyendo, por supuesto, nuevos bucles while.


Ver: Sintaxis