Saltar al contenido

¿Qué es DO WHILE en programación?

que es do while en programacion

La sentencia do while es una estructura de repetición o iterativa que se utiliza en muchos lenguajes de programación.

Cuando utilizamos este bucle nos aseguramos a que las instrucciones se ejecuten una vez como mínimo. ¿Qué quiere decir esto?

Pues que ejecutamos primero todo el bloque de instrucciones, y al final siempre comprobaremos la condición para salir.

Dependiendo del lenguaje de programación, se puede escribir así:

do
{
instrucciones;
} while (condicion);

¿Como funciona un do while?

Miremos el ejemplo de código fuente que hemos puesto justo antes de este título.

Como vemos, la instrucción o instrucciones se ejecutan antes de comprobar la condición, y luego se va repitiendo hasta que la condición es falsa.

En muchos lenguajes, esta misma estructura se escribe de manera diferente, aunque el resultado sea el mismo. Un ejemplo sería con repeat until, que se utiliza en lenguajes como Pascal.

repeat
{
instrucciones;
} until (condicion);

Ejemplo de bucle do while

Veamos un ejemplo para entender esta estructura.

Si queremos dibujar los números del 1 al 10, con este bucle se haría así:

do
{
    i++;
    Console.println(i);
} while ( i < 10);

Este ejemplo es de C#, pero se podría usar de manera parecida en C++.

Veamos línea a línea que significa este código. La primera línea nos indica que vamos a ejecutar esta instrucción, es decir, que entrará dentre del bloque de llaves con do.

La segunda línes es de la llave {, sabemos que significa que repetirá todo el bloque que se encuentra dentro de las llaves {}.

Luego tenemos la instrucción que incrementa el valor de la variable i.

En la línea siguiente, mostramos por pantalla el valor de i. Al estar dentro del bloque, veremos el valor que vemos por pantalla se irá incrementa hasta la condición de la línea de debajo.

En la última línea, vemos como se cierra la llave }, además que dentro de los paréntesis tendremos la condición para que se cumpla el bucle. La condición es mientras el número sea más pequeño que 10.

¿Cuál es la diferencia entre do while y el bucle while?

Como hemos visto, con do while siempre ejecutaremos nuestro código una vez. Con while primero debe cumplirse la condición, y luego ejecutará el código, así que es posible que no se ejecute ni una sola vez el código.

El orden del do while sería el siguiente:

  1. Ejecuta el bloque de instrucciones
  2. Evalúa la condición

Para while sería justo al revés:

  1. Evalúa la condición
  2. Ejecuta el bloque de instrucciones

Así que es posible que den resultados diferentes utilizar un código con do while que con while.