Operador cíclico Do

Este bucle es similar al bucle while, pero su condición se comprueba después del cuerpo del bucle. Por ello, las sentencias controladas deben ejecutarse al menos una vez.

Se utilizan dos palabras clave, do y while, para describir el bucle:

do
  loop body
while ( condition ) ;

Así, el encabezado del bucle está separado, y después de la condición lógica entre paréntesis debe haber un punto y coma. La condición no puede omitirse. Cuando se convierte en falsa, el bucle sale.

Las variables incluidas en la condición deben definirse antes del bucle.

El cuerpo del bucle es una sentencia simple o compuesta.

En el siguiente ejemplo se calcula una secuencia de números empezando por 1, en la que cada número siguiente se obtiene multiplicando el anterior por la raíz cuadrada de dos, la constante predefinida M_SQRT2 (StmtLoopsDo.mq5).

double d = 1.0;
do
{
   Print(d);
   d *= M_SQRT2;
}
while(d < 100.0);

El proceso termina cuando el número supera 100.