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

[Duda] Desafío 4

Generando el último código del desafío me surgió una duda que espero quien tenga más conocimientos pueda comentar algo al respecto.

Al poner el incremento para llegar al número ingresado por el usuario, decidí poner números con decimales para ver si el código no tenía algún problema ejecutándose. No se presentó ningún error, pero el contador no llego exactamente al número que se ingresó. Mi pregunta es, ¿cómo sabe el código que ya no puede sumar un incremento más?

Les comparto código y evidencia de esto. El número ingresado fue 100.

let numeroUsuario = prompt('Ingrese un número');
let numeroFinal = 0; //Numero al que debe llegar el contador

while(numeroFinal <= numeroUsuario){
    
    /*Hasta que el número final sea menor o igual que el número del usuario
    o número máximo la condición no se cumplirá*/
    
    console.log(`Número: ${numeroFinal}`); //En la consola se va a ir registrando cada nuevo valor
    numeroFinal = numeroFinal + 2.73; //El nuevo número es el actual más el incremento
}

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

1 respuesta

Hola Francisco, el ciclo se detuvo en 98.28 por que el siguiente incremento quedaria en 92,28 + 2,73 (tu incremento decimal fijo), y esto da como resultado 101,01, con lo cual la condicion del while se analiza internamente de esta manera:

while (101,01 <= 100){
    //codigo dentro del while....
}

como podras ver la condicion no se cumple, por que 101,01 no es menor no ni tampoco igual a 100, sino que es mayor (la condicion es falsa).

Saludos.