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

Juego adivinanzas errado!

Hola,

En esta pregunta me detuve a pensar mucho para poder ver la manera en la que se están dando las ordenes en el ciclo.

Es cierto que a primera vista creí que era la letra C), pensé que era la correcta y cuando me salió el error de que en esa opción no se terminaba la acción requerida y se iba a un Loop infinito, me di cuenta de lo que esta haciendo mal.

Esta razón se hace para romper con ese Loop Infinito que se crea, tengámosla muy presente para futuras practicas.

Les dejo mi código, lo revise e hice pequeños apuntes de cada uno de los parámetros y que es lo que esta haciendo mi condicional ahí, es una buena practica.

contador = contador +1;

<meta charset="UTF-8">
<h1> Programa para adivinar número</h1>

<script>

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

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

    function sortearNumero(){
        return Math.round(Math.random() * 10);
    }

    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>
4 respuestas

Hola Ana!!!

Confunde un poco pero al darle la vuelta se le encuentra el sentido, yo tuve la misma duda, no en esta practica, sino durante los ejercicios pasados.

Yo lo entendí de esta manera:

Cuando la condición anterior no se cumpla (false), el sistema tomara la variable contador= 1 y mientras 1** sea menor o igual que 10, siempre me imprimirá Se acabó, vos erraste! , creando ese bucle, entonces simplemente agregamos la instrucción **contador = contador +1; para lograr que ese bucle tenga un stop, una cantidad limitada de repeticiones , que en este caso será 10.

Ana, dime si compartes mi punto de vista!! para saber si mi hipótesis es correcta o estoy aun errado.

else{ var contador = 1;
        while(contador <= 10) {
            imprimir("¡Se acabó, vos erraste! " );            
            contador = contador +1;}} 

Contador hara que el ciclo acabe hasta la condicion que tu pongas en este caso hasta 10

Saludos,

Recomiendo hacer apuntes y llamados en el proceso y estructura del código para entender qué sucede en cada línea. Gracias por sus aportes.

if(numeroLanzado  == numeroPensado){
        imprimir("Uau! Vos acertaste, pues yo pensé en el número " + numeroPensado);
    } else{
        var contador = 1;
        while(contador <= 10) { //Se repite el ciclo mientras el valor sea verdadero
            imprimir("¡Se acabó, vos erraste! " );            
            contador = contador +1; // condiciona el ciclo mediante el conteo de repeticiones

        }

        imprimir("Fin");

buena idea Duverney !!