Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] Bucle infinito

No entiendo porque en el siguiente codigo pide decrementar.

La respuesta dice que: 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 siguiente 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.

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);

1 respuesta

Hola Franko, que tal. Mira si ves el código, supongamos que el usuario ingresa 5 como como valor para la variable cantidadNumeros, por lo tanto, la condicion del while quedaría haci:

let cantidadNumeros = 5; // numero ingresado por el usuario
let contador = cantidadNumeros;

while (contador > 0){
    // contenido del while..
}

Como puedes ver el codigo dentro del cuerpo del while se ejecutara permanentemente por que la condicion contador > 0, siempre sera verdadera, esto por que la variable contador al ser 5 (en este ejemplo) siempre sera mayor a 0, si te fijas en el interior del cuerpo del while nunca se manipula o se va disminuyento esta variable en cada ciclo o iteración esto con motivo de llegar en algun momento a 0 y la condicion sea evaluada como false y el ciclo se rompa, si no que solo se ejecuta el calculo matematico.

a eso hace mención cuando es necesario que dentro del cuerpo del while debe incluirse esta linea de codigo:

contador--;

ó

contador = contador - 1;

Espero haber aclarado tus dudas, de ser asi marca la respuesa como solución para que esto pueda ayudar a otros.

Saludos y mucho exito