Es una estructura que se encuentra prácticamente en cualquier lenguaje de programación de alto nivel. A diferencia de las estructuras for y while, en las cuales las condiciones se evalúan al principio del ciclo, en ésta se evalúan al final. Esto quiere decir que el ciclo se debe ejecutar por lo menos una vez. La estructura es adecuada cuando no sabemos el número de veces que se debe repetir un ciclo, pero conocemos que se debe ejecutar por lo menos una vez. Es decir, se ejecuta el conjunto de instrucciones una vez, y luego cada vez que corresponde iniciar nuevamente el ciclo se evalúan las condiciones, siempre al final del conjunto de instrucciones. Si el resultado es verdadero (diferente de cero) se continúa con la ejecución, de otra forma se detiene. El diagrama de flujo es el siguiente:
P representa la condición inicial y debe tener un valor verdadero (diferente de cero) para que el conjunto de instrucciones se pueda volver a ejecutar. Siempre debe existir un enunciado dentro del ciclo que afecte la condición, para que éste no se repita de manera infinita.
EJEMPLOS
1) Escribe un diagrama de flujo y el correspondiente programa en C que, al recibir como datos los salarios de los profesores de una universidad, obtenga tanto la nómina como el promedio de los salarios.