Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

Bucle infinito

Seria desarrollado con el contador--.
Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

2 respuestas

Willian está comenzando en el mundo de la programación y recientemente descubrió que existe una manera de ejecutar un bloque de comandos repetidamente mientras una condición preestablecida no se cumpla.

Animado por las posibilidades, decidió entrenar el uso de la estructura 'while()' en un proyecto personal de cálculo de medias aritméticas. Sin embargo, se encontró con un bucle infinito y no pudo descubrir por qué.

Sabiendo que tú también estás estudiando lógica de programación, Willian te pidió ayuda para localizar dónde está el error en su código:

let cantidadNumeros = prompt('Ingrese la cantidad de números para el cálculo del promedio:');
let suma = 0;
let contador = cantidadNumeros;

while(contador > 0){
    let numero = parseInt(prompt('Ingrese el numero:'));
    suma += numero;
}

let promedio = suma / cantidadNumeros;

console.log(promedio);

¿Qué cambio podrías sugerirle a Willian para que el código obtenga el resultado esperado? Elija la opción correcta:

La opción que elegí como correcta, fue:

  • Cuando utilizamos bucles con contadores, debemos asegurarnos de que en algún momento alcancen la condición de parada del bucle. En el código anterior, el contador no tiene su valor alterado, y para resolver el bucle infinito, simplemente debes decrementarlo en cada iteración, agregando la línea 'contador--' dentro del bucle.

Esto porque el problema es que el valor de contador nunca cambia dentro del bucle, por lo tanto la condición contador > 0 siempre es verdadera, lo cual provoca un bucle infinito

let cantidadNumeros = prompt('Ingrese la cantidad de números para el cálculo del promedio:');
let suma = 0;
let contador = cantidadNumeros;

while(contador > 0){
    let numero = parseInt(prompt('Ingrese el numero:'));
    suma += numero;
}

Lo resolvi al segundo intento respondido en el ejercicio