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

Pregunta

Para terminar el programa al acertar el numero usamos la sentencia break para terminar con el ciclo, pero se podríamos reasignar el valor a la variable contador con 3 (contador =3 ) para terminar el ciclo, esto seria adecuado ??

if (numeroPensado == numeroLanzado){
        alert("Usted ha Acertado!, en el intento " + contador);
        contador = 3;
        //break;
    }
4 respuestas

Hola Fernando, considero que está mal ya que siempre indicaría que acertó en el intento 3, se debe de cambiar solo por "contador" para que nos indique en que intento se acertó ¿No?

Saludos.

Hola Fernando, saludos desde Honduras. Eso que mencionas no seria recomendado. ¿Porqué? Por que cuando le asignas el valor de 3 al contador explícitamente dentro del if, el programa seguiría haciendo una comparación cuando se llegue a la condición del ciclo y hasta ese punto tu código se detendría. Por otro lado si utilizamos la sentencia break; estamos diciéndole al programa que rompa el ciclo en el que se encuentra de forma inmediata (evitando así hacer una comparación innecesaria). En conclusión podemos ver como nuestro código se vuelve mucho mas eficiente gracias al uso correcto de la sentencia break;.

Hola, soy Pedro desde Chubut, Argentina. Si bien es cierto lo que te dicen acá, que no es recomendable ya que estaríamos haciendo una comparación extra, yo lo utilicé y funciona correctamente. Yo lo hice al revés, restando de 3 a 0 y en caso que el usuario acierte, le asigno 0 al contador y termina el loop.

<meta charset="UTF-8">

<h1>PROGRAMA JUEGO DE ADIVINACION </h1>

<script>

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

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

    var numeroPensado = Math.round(Math.random()*10);

    var cantidad_intentos = 3;

    while(cantidad_intentos>0){
        var numeroLanzado = parseInt(prompt("Ingrese un número entre 0-10"));

    if(numeroPensado == numeroLanzado){
        imprimir("usted acertó");
        cantidad_intentos = 0;
    }
    else {
        if(numeroLanzado > numeroPensado){
            alert("usted erró, el número pensado era menor que tu número");
                    } 
        else {
            alert("usted erró, el número pensado era mayor que tu número");
        }
    }
    cantidad_intentos--;
    }
    imprimir("El Nro era el " + numeroPensado);

</script>

Gracias por su apoyo