En la siguiente linea:
Math.floor(Math.ramdon() * 10) + 1;
¿Solo me mostrara numeros del 1 al 10 ò tambien el "0"?
¿pero es lo mismo que hagamos lo siguiente?
Math.floor(Math.ramdon() * 11);
En la siguiente linea:
Math.floor(Math.ramdon() * 10) + 1;
¿Solo me mostrara numeros del 1 al 10 ò tambien el "0"?
¿pero es lo mismo que hagamos lo siguiente?
Math.floor(Math.ramdon() * 11);
Math.floor(Math.ramdon() * 10) + 1; ¿Solo me mostrara numeros del 1 al 10 ò tambien el "0"?
El + 1 es precisamente para evitar que el valor resultado sea 0. El rango va a ir desde 1 hasta 10 porque el Math.floor tambien hace que el maximo resultado de esa funcion sea 9 y el + 1 lo vuelve 10.
¿pero es lo mismo que hagamos lo siguiente? Math.floor(Math.ramdon() * 11);
Si haces esto, tu rango ira desde el 0 hasta el 10. Eso hace que no se cumplan las reglas de iniciar en 1 y terminar en 10.
Espero haber ayudado.
Saludos
Muchas Gracias
Como la función Math.floor() elimina las decimales de los valores entregados por la función Math.ramdon(), la cual te entrega valores de muchas decimales entre 0 y 1, sin incluir el número 1, al multiplicar estos valores por 11, lo que estarías haciendo es, sí agregar el número 10 al rango de posibles números entregados pero no eliminas el 0, el cual se te pide que no incluyas, ya que si la función Math.ramdom() te entrega el valor 0, al multiplicarse por 11 sigue siendo 0. Dicho valor, según lo solicitado en el ejercicio, no debe estar incluido en el rango de posibles valores.
Ejemplo:
Código **Math.floor(Math.random()*11) **
Math.floor(0.9999999999 x 11) ----> Math.floor(10.9999999989) en este caso el valor nunca va a llegar a 11 ya que para esto sería necesario que la función Math.random() pudiera arrojar el número 1 pero no es posible
Y como la función Math.floor() lo único que hace es quitar las decímales, el resultaro final sería 10
En este caso, el resultado sí cumple con el rango solicitado en el ejercicio [1, 10]
Este resultado no cumple con el rango solicitado en el ejercicio [1, 10]
En su defecto, se multiplica el número entregado por la función Math.random() por 10, y se eliminan las decimales con la función Math.floor(), al hacer esto, podemos obtener números entre el 0 y 9, sin incluir el 10, para que nuestro rango de posibles valores esté en el solicitado agregamos el +1, el cuál corre este rango a los valores de entre 1 y 10, ya que aunque la función Math.random() te entregue el valor 0, al sumar 1, el número final nunca será 0. Y del otro extremo, como la función nos entrega valores solo debajo del 1, por lo que si esta función arrojará el valor de 0.99999999, al multiplicarse por 10 queda como 9.9999999, al ejecutarse la función Math.floor() se eliminan las decimales quedando solo el 9 pero como a este resultado pedimos que se agregue el + 1, en este caso el valor final sería 10.
Saludos
hola seria casi igual , salvo que te toma en cuenta el 0.