Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

Porque en ocasiones no me cumple la condición del while?

Hola buenas noches profes y compañer@s, espero estén bien, una duda. Porque cuando en el while(númerosPares<=100) me imprime hasta el 102? Y cuando dejo la condicion del while(numerosPares < 100) si me imprime hasta el 100?

<meta charset = "UTF - 8">

<h1> PROGRAMA - NUMEROS PARES DEL 1 AL 100 </h1>

<script>

    function saltarLinea()
    {
        document.write("<br><br>");
    }

    function imprimir(frase)
    {
        document.write(frase);
        saltarLinea();
    }

    var numerosPares = 0;

    while(numerosPares <=100)
    {
        imprimir(numerosPares+=2);
    }

    imprimir("fin");


</script>
2 respuestas
solución!

Ricardo observa lo siguiente

 while(numerosPares <=100) // cuando x=100 es cierto que 100<=100 y se ejecuta.
    {
        imprimir(numerosPares+=2); // ahora acá numerosPares+=2  devuelve 100 + 2 = 102, eso es lo que imprime
    }

Si

 while(numerosPares <100) // cuando x=98  es cierto que 98<100 y se ejecuta.
    {
        imprimir(numerosPares+=2); // ahora acá numerosPares+=2  devuelve 98 + 2 = 100, eso es lo que imprime
    }

Pero

 while(numerosPares <100) // cuando x=100 no es cierto que 100<100 y no se ejecuta.
    {
        imprimir(numerosPares+=2); 
    }

Espero que esto aclare tus dudas. Si es así dale Solución

De acuerdo al codigo mostrado cuendo llega a evaluar en el white la constante numerosPares=100 , se cumple ingresa al loop e imprime el 102 (numerosPares +2), 100+2=102.

si le dejas solo la condicion <100 evalua solo hasta el 98 ingresa y escribe el 100, en el siguiente ciclo la variable numerosPares sera 100 y no ingresara nuevamente.