do{ sentencia ; ... }while ( condición );
La sentencia do (do {...} while( ... );) 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 comenzar con la palabra reservada do, seguida de las sentencias que se quieren repetir una o más veces y el final de la sentencia se determinará poniendo la palabra reservada while seguida de la condición que se debe cumplir para que se de por finalizada la sentencia.
Cuando se ejecute una sentencia do se ejecutarán primero las sentencias interiores (las que están entre el do y el while) y, tras hacerlo, se comprobará la condición especificada en el while y si ésta continúa siendo verdadera, se volverán a ejecutar las sentencias interiores. El proceso se repetirá hasta que la condición del while resulte falsa, continuando entonces la ejecución del programa tras esta sentencia.
Cada vez que se ejecutan las sentencias interiores se dice que se ha realizado una iteración del bucle. La sentencia do ... while (literalmente traducida como hacer ... mientras (se cumpla la condición)) siempre ejecutará las sentencias interiores al menos una vez, ya que comprueba la condición siempre tras ejecutarlas.
MAIN_PROGRAM_CDIV BEGIN_PROGRAM x=0; do{ x=x+10; FRAME; }while(x<320); END_PROGRAM
En este ejemplo se pondrá la variable local x (coordenada x del proceso) a cero y, después, se le sumarán 10 a x y se dará un FRAME hasta que x sea un número mayor que 320.
Una sentencia break dentro de un bucle do lo finalizará de forma inmediata, continuando el programa por la sentencia siguiente a dicho bucle.
Una sentencia continue dentro de un bucle do forzará al programa a realizar la comprobación del while inmediatamente y, si ésta es verdadero, volverá a ejecutar las sentencias interiores desde el principio (tras la palabra reservada do). Si la condición resulta falsa, la sentencia continue finalizará el bucle.
Las sentencias interiores a un bucle do pueden ser tantas como se quieran y de cualquier tipo incluyendo, por supuesto, nuevos bucles do.
Ver: Sintaxis