Estructura do - while

La estructura do-while en C++ es una estructura de control de flujo iterativa que permite ejecutar un bloque de código de manera repetitiva al menos una vez, y luego evaluar una condición booleana para determinar si se debe continuar con las iteraciones. Es una herramienta útil para situaciones en las que se requiere ejecutar un código al menos una vez, independientemente del valor inicial de la condición.

Sintaxis:

C++
do {
  // Bloque de instrucciones a ejecutar
} while (condicion);

Explicación:

  1. Bloque de instrucciones: Es el conjunto de instrucciones que se ejecutan repetidamente. Puede contener cualquier instrucción válida de C++, como declaraciones de variables, asignaciones, llamadas a funciones, operaciones aritméticas, etc.

  2. Condición: Se evalúa una expresión booleana al final del bucle. Si la expresión es true, se ejecuta nuevamente el bloque de instrucciones. Si la expresión es false, se termina el bucle y la ejecución continúa con la siguiente instrucción después del bucle.

Ejemplo 1: Solicitar un número al usuario hasta que ingrese un valor válido:

C++
int numero;

do {
  std::cout << "Ingrese un número positivo: ";
  std::cin >> numero;
} while (numero <= 0);

std::cout << "Número ingresado válido: " << numero << std::endl;

Explicación:

  • Se solicita al usuario que ingrese un número en la variable numero.
  • Se ejecuta el bloque de instrucciones dentro del do-while.
  • Dentro del bloque, se verifica si el valor de numero es menor o igual que 0.
  • Si numero es menor o igual que 0, se vuelve a solicitar al usuario que ingrese un número (el bucle se repite).
  • Si numero es un número positivo, la condición se vuelve false y el bucle termina.
  • Finalmente, se imprime el número ingresado válido en la consola.

Ejemplo 2: Jugar un juego de adivinanzas:

C++
int numeroSecreto = 23;
int numeroIngresado;

do {
  std::cout << "Adivina el número secreto (entre 1 y 100): ";
  std::cin >> numeroIngresado;

  if (numeroIngresado < numeroSecreto) {
    std::cout << "El número ingresado es demasiado bajo. Inténtalo de nuevo.\n";
  } else if (numeroIngresado > numeroSecreto) {
    std::cout << "El número ingresado es demasiado alto. Inténtalo de nuevo.\n";
  }
} while (numeroIngresado != numeroSecreto);

std::cout << "¡Felicidades! Adivinaste el número secreto: " << numeroSecreto << std::endl;

Explicación:

  • Se define un numeroSecreto con un valor aleatorio.
  • Se declara una variable numeroIngresado para almacenar el número ingresado por el usuario.
  • El bucle do-while se ejecuta hasta que el usuario adivine el numeroSecreto.
  • Dentro del bucle, se solicita al usuario que ingrese un número.
  • Se compara el numeroIngresado con el numeroSecreto.
  • Si el numeroIngresado es menor que el numeroSecreto, se indica que el número es demasiado bajo y se le pide al usuario que intente nuevamente.
  • Si el numeroIngresado es mayor que el numeroSecreto, se indica que el número es demasiado alto y se le pide al usuario que intente nuevamente.
  • Si el numeroIngresado es igual al numeroSecreto, el bucle termina y se muestra un mensaje de felicitación al usuario.

Puntos importantes:

  • La estructura do-while garantiza que el bloque de instrucciones se ejecute al menos una vez, incluso si la condición inicial es false.
  • Se puede utilizar una sentencia break dentro del bucle para salir prematuramente del ciclo.
  • La estructura do-while es útil para situaciones en las que se desea realizar una acción inicial y luego evaluar una condición para determinar si se deben realizar iteraciones adicionales.


Comentarios

Entradas más populares de este blog

Generación de números aleatorios

Paso de parámetros en funciones

STL de C++