Ejercicio – Generación de un dado de 6 caras con javascript

Ejercicio – Generación de un dado de 6 caras con javascript

2
(2)

El script de esté ejercicio devolverá un número aleatorio del 1 al 6. Es el ejercicio previo a la generación de un dado de 6 caras con javacript.

A continuación lanzaremos el dado 1000 veces para comprobar cuantas veces ha salido cada número.

Aplicaremos los conceptos de parseInt(), Math.random y el for.

Sin embargo es importante tener claro que hay varias formas de hacerlo.

Queda completamente fuera del foco de este problema comprobar si la distribución de probabilidades de que toque cada número es simétrica. Este problema lo dejaremos para el lector.

Enunciado

Escribe una función que devuelva un número entero aleatorio entre el 1 y el 6.

A continuación ejecuta la función 1000 veces y devuelve por pantalla cuantas veces ha salido cada número y la suma del total de lanzamientos realizados.

resultado esperado resolución ejercicio
Ver solución (Haz clic)

Solución del ejercicio

Math.random() genera un número del 0 al 1. Incluye el cero pero no el 1. Es decir devuelve el rango [0,1) 

parseInt() se queda con la parte entera de un número.

Por tanto si multiplicamos Math. random obtendremos números del 0 al 5.

Para que salgan números del 1 al 6 como un dado debemos sumar 1 al resultado.

Para resolver la segunda parte del ejercicio lo solucionamos con 6 contadores que suman 1 cada vez que se lo indicamos mediante el switch. El switch se encuentra dentro de un for que llama a la función tiradaDado() cada vez.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="description" content="Generación de un dado de 6 caras. Tira el dado 1000 veces y escribe por pantalla cuantas veces ha salido cada número">
        <meta name="author" content="Francesc Ricart">
        <title>Ejercicio javascript - dado de 6 caras</title>
    </head>
    <body>
    
    <script>

        var a = b = c = d = e = f = 0;
        var totalTiradas = 0;
          
        function tiradaDado(){
            var dado6caras = parseInt(6*Math.random()+1);
            return dado6caras;
        }
        
        for(i=1;i<=1000;i++){
            tirada = tiradaDado();
            switch(tirada){
                case 1:
                    a++;
                    break;
                case 2:
                    b++;
                    break;
                case 3:
                    c++;
                    break;
                case 4:
                    d++;
                    break;
                case 5:
                    e++;
                    break;
                case 6:
                    f++;
                    break;
            }
        }
        
        totalTiradas = a+b+c+d+e+f;
        
        document.write("El 1 ha salido " +  a + " veces<br>");
        document.write("El 2 ha salido " +  b + " veces<br>");
        document.write("El 3 ha salido " +  c + " veces<br>");
        document.write("El 4 ha salido " +  d + " veces<br>");
        document.write("El 5 ha salido " +  e + " veces<br>");
        document.write("El 6 ha salido " +  f + " veces<br>");
        document.write("<br>")
        document.write("Total de lanzamientos del dado: " + totalTiradas);

    </script>

    </body>
</html>

¡Hola!

Querido lector,

Este es un interesante ejercicio que sirve de introducción a futuros ejercicios muy interesantes para aprender.

¡Espero que te haya sido de utilidad!

¡Si te ha gustado este contenido te animo a seguirme en mi perfil de empresa de Linkedin!

¿Te ha gustado esta publicación?

¡Valora sobre 5 estrellas esta publicación!

Puntuación media 2 / 5. Votos: 2

Todavía no hay votos. Sé el primero en valorar la entrada.

Si te ha gustado este contenido...

¡Sígueme en las redes!

Vaya, parece que hay puntos a corregir

¿Me ayudas a mejorar?

¿Dónde he fallado?

Francesc Ricart
hola@francescricart.com

Aprender y enseñar. Enseñar y aprender. En el ámbito docente soy docente ocupacional. En el ámbito profesional consultor web. Ofrezco servicios de mejora continua y mantenimiento web. ¿Qué quieres aprender hoy? Encontraréis más acerca de mi en la página sobre mi

1 Comment
  • Francesc
    Posted at 12:43h, 15 mayo Responder

    ¡Hola!
    Una instrucción todavía mejor para generar el número aleatorio es parseInt((Math.random()*5).toFixed(0))+1;

Post A Comment