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)
1
respuesta

[Duda] [DUDA] SORTEO DE LOTERIA

El ejercisio es el siguiente

1 – Crea una función de lotería que reciba un número n y sortee un número entre 0 a n, retornando ese valor. De esta forma, en vez de escribir var numeroPensado = Math.round(Math.random()*n);, escribirás var numeroPensado = sorteo(n);. Realiza esa modificación, creando una nueva función y utilízala de forma correcta.

2 – Hacer que tu juego exhiba, cuando el usuario falle el intento, *si el número lanzado era mayor *o menor al número pensando por el programa.

Creo, o si estoy mal corríjanme tomando en cuenta el ejercicio nunca entrara en la condición de que el numero era mayor ya que por ejemplo si el usuario ingresa el numero 20 la función var numeroPensado = Math.round(Math.random()*n) creara numeros aleatorios del 0 al 20 por lo que no habrá un numero mayor

<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();
    }

     function sorteo(número) {
        var numeroPensado = Math.round(Math.random()*número);

        if (numeroPensado == número){
        imprimir("usted acertó")

            }else {
                if(numeroPensado > número){

                 imprimir("El numero " + numeroPensado+"es mayor a "+número)    
                }else{
                    imprimir("El numero " + numeroPensado+"es menor a "+número)
                }

            }
    }

    var numeroLanzado = parseInt(prompt("Ingrese un número cualquiera"))
    sorteo(numeroLanzado)

</script>
1 respuesta
solución!

Hola, tu premisa es correcta, Math.random()*20 solo devuelve valores entre 0 y 19..

Perooo, no es del todo correcta, por que hablamos de decimales y para ser exactos, devolveria valores del 0.00... al 19.99... y he aqui la importancia del metodo Math.round por que al redondear valores como 19.90 estas devolverias 20, por que las redondea a su entero mas cercano.

Lo que si que es correcto es que es menos probable que te toque 20 por su bajo porcentaje entre 19.50 a 19.99. mientras otros numeros tinen un rango como el 19 que iria desde 18.50 a 19.49.

Si este post te ayudó, por favor, marca como solucionado ✓