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

No comprendo la utilidad de la var contador

No me queda del todo claro por que se crea la var contador y despues se usa como parte de la condicion del while. Es decir lo que interpreto es que se crea var contador = 1 y luego se usa como condicion dentro de while para representar a todos los numeros del 1 al 10 que son distintos del numero pensado. Es asi?

<script>

    // funciones omitidas saltarLinea, imprimir, sortearNumero

    var numeroPensado = sortearNumero();


    var numeroLanzado = parseInt(prompt("Ingrese un número entre 0-10: "));

    if(numeroLanzado  == numeroPensado) {

        imprimir("Uau! Vos acertaste, pues yo pensé en el número " + numeroPensado);
    } else {
        var contador = 1;

        while(contador <= 10) {

               imprimir("¡Se acabó, vos erraste!");
               contador = contador +1;
        }
    }
</script>
3 respuestas

Hola Laura. La variable contador tiene como propósito registrar cuántas repeticiones lleva un ciclo, además de servir como argumento para limitar a los mismos. De no estarlo, probablemente, estarías ante error o peor, un bucle infinito.

Lo que mencionas sobre representar los números del 1-10 es el trabajo de la función sortearNumero ()

Es decir lo que interpreto es que se crea var contador = 1 y luego se usa como condicion dentro de while para representar a todos los numeros del 1 al 10 que son distintos del numero pensado. Es asi?

No, en el ejemplo que nos mostraron se requería imprimir 10 veces el mismo mensaje cuando no se acierta en el número (es solo coincidencia que se imprima el mismo numero de veces que los numero distintos al pensado)

La variable contador es la forma que tenemos para controlar las repeticiones del while, se crea afuera del ciclo para asegurarnos que inicia con el valor que nosotros queremos (en este caso 1) pero se usa dentro del while para tener un control de las veces que se entra en el bloque while, ya que cada que se entra en el bloque while se modifica a la variable contador, por ejemplo en el código que nos dieron

  • contador inicia con el valor 1
  • while verifica que contador sea menor igual a 10 (como contador vale 1, si entra en el ciclo while)
  • se imprime el mensaje ¡Se acabó, vos erraste!
  • se le suma 1 al valor de contador (ya vale 2).
  • Otra vez while verifica que contador sea menor igual a 10 (como contador vale 2, si entra en el ciclo while)
  • se imprime el mensaje ¡Se acabó, vos erraste!
  • se le suma 1 al valor de contador (ya vale 3).
  • Esto se repite hasta que contador vale 11
  • otra vez while verifica que contador sea menor igual a 10 (como contador vale 11, ya no entra el bloque while )
  • y el programa continua con la siguiente instrucción en nuestro caso ya es el fin del programa

Por ejemplo si quisiéramos que el mensaje solo se imprimiera 5 veces, una forma de hacerlo es que el aumento de contador sea de 2

var contador = 1;

        while(contador <= 10) {

               imprimir("¡Se acabó, vos erraste!");
               contador = contador +2;
        }

De esta forma tenemos que se ejecuta esto

  • contador inicia con el valor 1
  • while verifica que contador sea menor igual a 10 (como contador vale 1, si entra en el ciclo while)
  • se imprime el mensaje ¡Se acabó, vos erraste!
  • se le suma 2 al valor de contador (ya vale 3).
  • Otra vez while verifica que contador sea menor igual a 10 (como contador vale 3, si entra en el ciclo while)
  • se imprime el mensaje ¡Se acabó, vos erraste!
  • se le suma 2 al valor de contador (ya vale 5).
  • Esto se repite hasta que contador vale 11
  • otra vez while verifica que contador sea menor igual a 10 (como contador vale 11, ya no entra el bloque while )
  • y el programa continua con la siguiente instrucción en nuestro caso ya es el fin del programa

Si contador no estuviera dentro del while no se modificaría en cada repetición y tendríamos un ciclo infinito Espero resolver tu duda.

Hola chicos, gracias por compartir sus puntos de vista.

Entonces basado en lo que entendí y sus comentarios, la variable contador, simplemente se utiliza para cuantificar las cantidades de veces que se repite la instrucción imprimir("¡Se acabó, vos erraste!"); y a la vez limitar los ciclos de repeticiones hasta que se cumpla la condición (contador <= 10)