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

TODOS LOS NÚMEROS PARES DEL 1 AL 100 - Usando operador de incremento abreviado

Hola, esta es mi sugerencia para el problema, procuro hacerlos sin ver la resolución del profesor.

Descubrí que se pueden hacer operadores de incremento abreviados cuando los aumentos son >1.

Cualquier comentario para mejorarlo es bienvenido.

<meta charset="UTF-8"> 

 <h1>PROGRAMA QUE IMPRIME TODOS LOS NUMEROS PARES DEL 1 AL 100</h1>
 <br>

<script>

    //Funciones

    function saltarLinea() {   

        document.write("<br>");
        document.write("<br>");
        document.write("<br>");

    }

    function imprimir(frase) {  

        document.write(frase);
        saltarLinea();

    }

    imprimir("Lista de números pares del 1 al 100");

    var contador = 0;

    while (contador < 100) {

        imprimir(contador+2); 
        //contador = contador + 2
        contador += 2; //Operador de Incremento Abreviado      

    }   

    imprimir("FIN")


</script>
3 respuestas

Un detalle, si le coloco "<= 100" entonces la lista llega a 102, no entiendo por qué.

Otrac cosa, ¿Es siempre necesario comenzar el contador desde 1?

Hola! Yo tambien hice mi código igual al tuyo, mi contador lo inicié igual en 0 porque cuando lo hacia con 2 al correrlo iniciaba con el numero 4 en lugar del 2. Tengo igual la duda de si es correcto eso. Terminé escribiendo while (contador < 100 ) para que el último loop que me mostrara fuera (98+2 = 100), ya que si ponía mi condicionante como < =100 me mostraría (100+2 =102), asi fue como yo lo razoné, no estoy muy segura si estoy bien.

Espero haberme dado a entender y no darte más vueltas.

Igual estoy abierta a cuaquier comentario :)

<meta charset="UTF-8">

<h1> Calcular todos los números pares del 1 al 100 </h1>

<script>

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

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



    var contador = 0;


    while (contador < 100 ) {

        imprimir(2 + contador);

       contador = contador+2;
       }



    imprimir("Fin");





</script>

Tras revisar su código, el problema que surge si colocan "<=", se debe a un error en la impresión del contador. Si se utiliza la operación de comparación "<=" en lugar de "<", se suman dos unidades al contador, lo que ocasiona un problema cuando se llega a 100. En ese momento, la condición del while se cumple, ya que el contador es menor o igual a 100, lo que resulta en una nueva suma de dos unidades y una impresión de 102. Al finalizar el bucle while, el valor del contador es 104.

Para evitar ese problema, y colocar "<=" podrían escribirlo de la siguiente forma:

var contador = 0

while (contador <= 100) {
    if(contador != 0) {
        imprimir(contador);
    }
    contador = contador + 2;
}

O si desean iniciar la variable en 2:

var contador = 2

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

Con respecto a la pregunta acerca de si el contador siempre debe iniciar en 1, la respuesta es no. No siempre es necesario iniciar el contador en 1, ya que esto dependerá de las necesidades específicas del programa que estés desarrollando. En algunos casos, podría ser necesario comenzar el contador en un valor diferente, dependiendo de las condiciones particulares del problema que se está resolviendo.

El error que mencionas acerca de imprimir el valor 4 en lugar de 2 se debe a que el contador se inicia en 2 y se le suman 2 unidades adicionales al imprimir, lo que produce que el primer valor impreso sea 4. Sin embargo, los planteamientos finales de ambos son correctos. Espero haber podido ayudarles a identificar y resolver el problema en cuestión.