Programación 1º – UD4 – Estructura do-while

Programación 1º – UD4 – Estructura do-while

¿Qué es un bucle do-while?

Un bucle do-while es una estructura de repetición en la que el código se ejecuta al menos una vez, y luego se repite mientras se cumpla una condición.

¿Cómo funciona?

  1. Primero se ejecuta el código del bucle (sí o sí, al menos una vez).
  2. Después se evalúa la condición.
  3. Si la condición es verdadera, se vuelve a repetir.
  4. Si la condición es falsa, el bucle termina.

¿Cuándo usarlo?

Cuando necesitas que algo se haga mínimo una vez, antes de comprobar si debe repetirse. Ejemplo clásico: un menú de opciones que debe mostrarse al usuario al menos una vez.

Estructura del bucle do-while:

do {
// Instrucciones que se ejecutan
} while (condición);

La condición va después del bloque, por eso siempre se ejecuta al menos una vez

Ejemplo

int numero = 1;
do {
System.out.println("Número: " + numero);
numero++;
} while (numero <= 3);

¿Qué imprime?

Número: 1
Número: 2
Número: 3

⚠️ Cuidado: ¡puede volverse infinito!

Si la condición nunca cambia a falsa, el bucle nunca termina:

do {
    System.out.println("Hola");
} while (true); // ¡esto se repite para siempre!

PROGRAMACIÓN

Preguntas de Programación de DAM

Actividades de Programación UD4 - 4.4. Estructura do-while

Preguntas de Programación de 1ºDAM de la Unidad 4: Estructura de repetición do-while.

1 / 10

¿Qué salida produce?

int i = 3;
do {
    i--;
    System.out.println(i);
} while (i > 0);

2 / 10

¿Qué imprime si i empieza en 9?

int i = 9;
do {
    System.out.print(i + " ");
    i -= 3;
} while (i > 0);

3 / 10

¿Qué ocurre si la condición es siempre verdadera?

int i = 1;
do {
    System.out.println(i);
} while (true);

4 / 10

¿Cuándo se usa preferentemente do-while en vez de while?

5 / 10

¿Cuál es la condición que detiene este bucle?

int x = 10;
do {
    x -= 2;
} while (x > 0);

6 / 10

¿Qué imprime este código?

int i = 1;
do {
    System.out.println(i);
    i++;
} while (i <= 3);

7 / 10

¿Cuál es el error en este código?

do
    System.out.println("Prueba")
while (true);

8 / 10

¿Cuántas veces se ejecuta este bucle?

int i = 5;
do {
    System.out.println("Hola");
    i++;
} while (i < 5);

9 / 10

¿Qué hace este código?

int i = 5;
do {
    i++;
} while (i < 10);
System.out.println(i);

10 / 10

¿Qué imprime este código?

int i = 1;
do {
    System.out.print(i + " ");
    i += 2;
} while (i < 6);

Your score is

0%

Actividades de programación

Actividad 1: Contar hasta 10

Escribe un programa que imprima los números del 1 al 10 utilizando un bucle do-while.

public class DowhileContar {
    public static void main(String[] args) {
        int i = 1;
        do {
            System.out.println(i);
            i++;
        } while (i <= 10);
    }
}

Actividad 2: Validar la entrada del usuario

Escribe un programa que pida al usuario ingresar un número entre 1 y 10. El programa debe seguir pidiendo el número hasta que el usuario ingrese un número válido.

import java.util.Scanner;

public class DowhileValidar {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int numero;
        do {
            System.out.println(“Por favor, ingresa un número entre 1 y 10:”);
            numero = sc.nextInt();
        } while (numero < 1 || numero > 10);
        System.out.println(“Número válido ingresado: ” + numero);
    }
}

Actividad 3: Sumar números hasta que la suma sea mayor a 100

Escribe un programa que siga pidiendo números al usuario y los sume hasta que la suma sea mayor a 100.

import java.util.Scanner;

public class DowhileSumar {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int suma = 0;
        int numero;
        do {
            System.out.println(“Ingrese un número para sumar:”);
            numero = sc.nextInt();
            suma += numero;
        } while (suma <= 100);
        System.out.println(“La suma es mayor a 100: ” + suma);
    }
}

Actividad 4: Contar cuántos intentos tarda en adivinar un número

Escribe un programa que elija un número aleatorio entre 1 y 20, y luego pida al usuario que lo adivine. El programa debe seguir pidiendo números hasta que el usuario adivine el número correcto.

import java.util.Scanner;

public class DowhileContar {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int numeroCorrecto = (int) (Math.random() * 20) + 1;
        int numeroUsuario;
        int intentos = 0;

        do {
            System.out.println(“Adivina el número entre 1 y 20:”);
            numeroUsuario = sc.nextInt();
            intentos++;
            if (numeroUsuario < numeroCorrecto) {
                System.out.println(“El número es mayor.”);
            } else if (numeroUsuario > numeroCorrecto) {
                System.out.println(“El número es menor.”);
            }
        } while (numeroUsuario != numeroCorrecto);

        System.out.println(“¡Felicidades! Adivinaste el número en ” + intentos + ” intentos.”);
    }
}

Actividad 5: Imprimir una secuencia de Fibonacci hasta que el número sea mayor a 100

Escribe un programa que imprima los números de la secuencia de Fibonacci hasta que un número de la secuencia sea mayor a 100. Una secuencia de Fibonacci es una secuencia de números donde cada número es la suma de los dos anteriores (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, …)

public class DowhileFibonacci {
    public static void main(String[] args) {
        int a = 0, b = 1;
        do {
            System.out.println(a);
            int temp = a;
            a = b;
            b = temp + b;
        } while (a <= 100);
    }
}