La estructura do while traducida al español "hacer mientras", es un ciclo repetitivo con la diferencia que evalúa la condición al final y no al principio como el while. La sentencia dentro del ciclo se ejecuta mientras la expresión sea verdadera.
Si la sentencia siempre es verdadera y no cambia, se ejecutará indefinidamente provocando un ciclo o bucle infinito.
1.- Ciclo do while (hacer mientras)
Las variables a utilizarse (contador, acumulador) deben inicializarse antes del ciclo o durante el ciclo ya que la evaluación de la condición es realizada al final.
Hay que estar atento al modificar los valores de las variables dentro de bucle, la actualización de estos valores nos garantiza que en un momento la condición será falsa y terminará su ejecución.
2.- Estructura en flujograma o diagrama de flujo
3.- Estructura en pseudocódigo y código C/C++
4.- Ejemplos
El contador está antes del cout, esto nos permite imprimir del 1 al 10, si el contador estuviese abajo del cout presentará en pantalla del 0 al 9, pos técnicamente no está mal porque imprime diez dígitos pero el ejercicio es imprimir del 1 hasta el 10.
5.- Otros ejemplos
Dados 10 números enteros que se introducirán por teclado, calcular la suma de los números pares, cuántos números pares existen y la media aritmética de los números impares.
Análisis
Este ejercicio es similar a uno resuelto anteriormente, con el ciclo while, ver ejercicio, la única diferencia es obtener la media aritmética o también conocido como promedio.
Necesitaremos tres contadores, uno general para todo el ciclo, y los otros para controlar el número de par e impar, también dos acumuladores para sumar dichos números, al final del ciclo obtener su promedio o media.
El promedio en este caso nos presenta sin decimales esto se debe porque dividimos utilizando tipos de datos int, si queremos con decimales solo cambiar el tipo de dato a double o float.
Para lograr esa presentación de los datos se usó una secuencia de escape "\t", esto nos da una tabulación o espaciado.
Obtener: Link del código
Si tienes dudas o preguntas, adelante comenta y responderé !