Bucles en JavaScript: Ejercicios resueltos

Bucles en JavaScript (for, while y do-while): 10 ejercicios resueltos + aprendizaje teorico

Aprende a dominar los bucles en JavaScript con ejemplos prácticos. Descubre cómo utilizar for, while y do-while para resolver fácilmente problemas reales paso a paso.

Aprendizaje teórico

Los bucles en JavaScript permiten ejecutar un bloque de código varias veces hasta cumplir una condición o recorrer estructuras de datos de manera organizada. Entre los más comunes encontramos:

  • for: Ideal para iterar un número conocido de veces.
  • while: Útil cuando no sabemos cuántas repeticiones habrá y dependemos de una condición que debe cumplirse.
  • do-while: Ejecuta el bloque de código al menos una vez antes de comprobar la condición.

Estos bucles nos facilitan la automatización de tareas repetitivas, como procesar listas, calcular sumatorias o verificar datos de manera eficiente.

10 ejercicios resueltos

A continuación, presentamos 10 ejercicios que ilustran el uso de los bucles for, while y do-while en JavaScript. Cada ejemplo incluye una breve explicación y el código correspondiente con comentarios.

Ejercicio 1: Contar del 1 al 10 con for

Explicación:
En este ejercicio, utilizamos el bucle for para mostrar los números del 1 al 10 en la consola.

// Contar del 1 al 10 usando un bucle for
for (let i = 1; i <= 10; i++) {
  console.log("Número:", i);
}

Ejercicio 2: Suma de los números del 1 al n con for

Explicación:
Pedimos un número n y sumamos todos los valores desde 1 hasta n. Este tipo de iteración es perfecta para un for cuando conocemos el rango final.

// Supongamos que tenemos un valor n (por ejemplo, n = 5)
let n = 5;
let suma = 0;

for (let i = 1; i <= n; i++) {
  suma += i; // Acumula la suma
}

console.log("La suma de 1 a", n, "es:", suma);

Ejercicio 3: Calcular el factorial de un número con for

Explicación:
El factorial de un número n (n!) se calcula multiplicando todos los enteros desde 1 hasta n.

let numero = 5;
let factorial = 1;

for (let i = 1; i <= numero; i++) {
  factorial *= i; // factorial = factorial * i
}

console.log("El factorial de", numero, "es:", factorial);

Ejercicio 4: Tabla de multiplicar del 7 con for

Explicación:
Este ejercicio muestra la tabla de multiplicar del 7, generando los resultados desde 7×1 hasta 7×10.

let tabla = 7;

for (let i = 1; i <= 10; i++) {
  console.log(`${tabla} x ${i} = ${tabla * i}`);
}

Ejercicio 5: Recorrer un arreglo con for

Explicación:
Tenemos un arreglo de frutas y utilizamos el bucle for para mostrar cada elemento en la consola.

let frutas = ["Manzana", "Banana", "Naranja", "Pera"];

for (let i = 0; i < frutas.length; i++) {
  console.log("Fruta:", frutas[i]);
}

Ejercicio 6: Generar números aleatorios con while hasta obtener 5

Explicación:
En este ejemplo, seguiremos generando números aleatorios entre 1 y 10 hasta que aparezca el número 5. Para ello, utilizamos Math.floor(Math.random() * 10) + 1 y un bucle while.

let numeroAleatorio = 0;

// Mientras no sea 5, seguimos generando números
while (numeroAleatorio !== 5) {
  numeroAleatorio = Math.floor(Math.random() * 10) + 1;
  console.log("Número generado:", numeroAleatorio);
}

console.log("¡Se ha generado el 5! Fin del bucle.");

Ejercicio 7: Validar entrada de usuario con while

Explicación:
Suponiendo que el usuario ingresa texto y queremos aceptar solo strings no vacíos. Aquí, usamos un while para pedir repetidamente la entrada hasta que sea válida. (En un entorno de consola, la lectura de usuario varía, aquí simulamos con una variable.)

// Simulación de variable de entrada (en un entorno real se obtendría del usuario)
let entrada = "";

// Mientras la entrada esté vacía, simulamos preguntar nuevamente
while (entrada === "") {
  // Aquí simulamos que el usuario finalmente ingresa "Hola"
  entrada = "Hola"; 
  console.log("Entrada actual:", entrada);
}

console.log("La entrada es válida:", entrada);

Ejercicio 8: Sumar hasta superar 100 con while

Explicación:
Iniciamos una variable acumulador en 0 y le vamos sumando valores aleatorios. El bucle termina cuando acumulador sobrepasa 100.

let acumulador = 0;

while (acumulador <= 100) {
  // Agregamos un valor aleatorio entre 1 y 20
  let valor = Math.floor(Math.random() * 20) + 1;
  acumulador += valor;
  console.log("Se añadió", valor, "-> Total:", acumulador);
}

console.log("Se superó el valor de 100. Acumulador final:", acumulador);

Ejercicio 9: Pedir confirmación con do-while

Explicación:
El bucle do-while se ejecuta al menos una vez. Aquí se simula la confirmación de un usuario para continuar. Si no confirma, el bucle termina.

let continuar;
do {
  console.log("Ejecutando una acción...");
  // Simulamos una confirmación. true = desea continuar
  continuar = false; 
  console.log("¿Deseas continuar?", continuar);
} while (continuar === true);

console.log("Bucle terminado por elección del usuario.");

Ejercicio 10: Uso de break y continue

Explicación:
break detiene el bucle por completo, mientras que continue salta a la siguiente iteración. Aquí mostramos cómo ignorar los números pares con continue y cortar el bucle al llegar al 7 con break.

for (let i = 1; i <= 10; i++) {
  // Saltar números pares
  if (i % 2 === 0) {
    continue;
  }
  
  console.log("Número impar:", i);
  
  // Si i llega a 7, paramos el bucle
  if (i === 7) {
    console.log("Se encontró el 7. Terminando bucle...");
    break;
  }
}

Preguntas frecuentes (FAQs)

¿Cómo decido qué bucle usar en JavaScript?

Depende del problema. Si conoces el número exacto de iteraciones, for suele ser la mejor opción. Si no sabes cuántas veces se repetirá el ciclo y dependes de una condición de salida, while es ideal. Si necesitas ejecutar el bloque al menos una vez antes de evaluar la condición, do-while es la elección correcta.

¿Puedo anidar bucles en JavaScript?

Sí, es posible anidar bucles, por ejemplo, un for dentro de otro for para recorrer arreglos bidimensionales. Sin embargo, debes tener cuidado con la legibilidad del código y con el rendimiento, ya que los bucles anidados pueden aumentar significativamente el tiempo de ejecución.

¿Qué pasa si se produce un bucle infinito?

Un bucle infinito ocurre cuando la condición de salida nunca se cumple. Esto puede bloquear tu aplicación o el navegador. Para evitarlo, verifica siempre que la variable usada en la condición cambie adecuadamente en cada iteración y que se cumpla en algún punto la salida del bucle.

¡Felicidades! Ahora cuentas con una base sólida para trabajar con los bucles for, while y do-while en JavaScript.

Practicar estos ejemplos y variar las condiciones o los rangos te ayudará a interiorizar su funcionamiento. Recuerda que dominar los bucles te permitirá automatizar tareas, procesar datos de manera eficiente y escribir código más limpio y organizado.

¿Listo para llevar tus conocimientos al siguiente nivel? Visita nuestro blog para descubrir más artículos y tutoriales sobre JavaScript y otras tecnologías de programación. ¡Sigue aprendiendo y desarrollando tus habilidades!

Sigue aprendiendo en MDN

Comparte este artículo
Alejandro Nes
Alejandro Nes

¡Hola! Soy Alejandro Nes, desarrollador web con formación en informática y apasionado por la creación de contenido educativo. Aprendamos juntos a programar :)

Artículos: 6