Solucionado (ver solución)
Solucionado
(ver solución)
5
respuestas

Tengo 2 dudas

¿Que parametro es la letra "n" en la función sorteo? me confunde un poco al ver una letra en vez de un número y ¿porque no poner un número como en el ejemplo anterior en vez de "n"? y mi segunda pregunta es ¿cual es el valor de "n" en "return Math.round(Math.random()*n);"? y ¿por qué en la variable "var numeroPensado = sorteo(10);" se le pone un 10? es porque ese 10 es el rango de numero, osea del 1-10, en que podria salir el numero ganador? Muchas gracias por la ayuda desde ya.

<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) { 
            return Math.round(Math.random()*n);
        }   

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

    if (numeroPensado == numeroLanzado){
        imprimir("usted acertó");
    }
    else {
        imprimir("usted erró, el número pensado era " + numeroPensado);    
    }

</script>
5 respuestas

Hola Gino, respecto a tus dudas la letra n representa al numero 10, esto es para que al generar un numero randomico la funcion Math.random() nos devuelve un numero randomico entre 0 y 1 y por eso lo multiplicamos por n en este caso 10, en este ejemplo pareciera que no tiene mucho sentido poner n en lugar de 10 porque solo estamos llamando a la funcion una sola vez, pero tenemos que tomar en cuenta que cuando tenemos que llamar a la funcion varias veces comienza a tener mas sentido ya que si tenemos que generar numeros randomicos no solo entre 1 y 10 la funcion la podemos reutilizar y el valor del parametro podemos conservarlo o cambiarlo dependiendo a lo que necesitemos. Para enterlo mejor planteamos dos sorteos uno entre numeros del 1 al 10, y otro entre numeros de 1 a 100, llamamos a la funcion 2 veces pero solo cambiaremos el valor en la llamada a la funcion y no asi en la funcion misma.

<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) { 
            return Math.round(Math.random()*n);
        }   
    var numeroPensado = sorteo(10);
    var numeroLanzado = parseInt(prompt("Ingrese un número entre 0-10"));

    if (numeroPensado == numeroLanzado){
        imprimir("usted acertó");
    }
    else {
        imprimir("usted erró, el número pensado era " + numeroPensado);    
    }

    numeroPensado = sorteo(100);
    numeroLanzado = parseInt(prompt("Ingrese un número entre 0-100"));

    if (numeroPensado == numeroLanzado){
        imprimir("usted acertó");
    }
    else {
        imprimir("usted erró, el número pensado era " + numeroPensado);    
    }

</script>

Espero sea de ayuda, saludos...Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

solución!

en parámetros no podemos asignar valores numéricos. solo son letras y en este caso n representa n números cualquiera. al llamar a sorteo (10) entonces estamos asignando valor de ese rango, si pones 100. entonces te dará números aleatorio del 1-100. Espero te haya podido ayudar.

Muchas gracias Jaime Saenz Bedoya y Kevin Darinel Salas, ahora me quedó muy claro el tema :D! Muchas gracias !! Saludos desde Perú :D!

Que pena que no pueda marcar a los dos como solución (recién me doy cuenta que solo se puede marcar a uno) pero el ejemplo de los dos me ayudó mucho a comprender mejor como funciona la función sorteo (n), muchísimas gracias a los dos nuevamente :)!!

Buenos datos, para entender mejor. Gracias