Hola amig@s! Continuando con la serie de mini tutoriales de C++, veremos la función rand, explicaremos en qué consiste, así como un ejemplo de la misma, así que pasamos al tutorial.
Función rand:
Cuántos de nosotros hemos jugado algún juego que se requiera tirar dados?... Supongo que un 99.9% de nosotros lo hemos hecho jejeje, bueno cuando hemos tirado dados nos ponemos a pensar o mejor dicho desear que nos salga el número que necesitamos, ja! Lastimosamente es poco probable que nos salga el
número deseado, esto se debe a elemento al azar, que nos hace jugar con las probabilidades dependiendo de muchos factores, bueno dicho elemento lo podemos introducir en la programación para cómputo mediante la función rand, esta función hace que se genere números aleatorios.
Es decir que nos devuelve un entero sin signo pseudo aleatorio entre 0 y RAND_MAX, donde rand max es una constante simbólica de la librería estándar <cstdlib> , cuyo valor debe ser al menos de 32,767(que es el valor máximo para un entero de 2 bytes o 16 bites, cuando rand produce un entero al azar entre 0 y RAND_MAX tiene la misma oportunidad de salir nuevamente o probabilidad se puede decir jejejeje.
Vamos a desarrollar un código para demostrar la función rand, haremos un programa simulando 35 tiros de un dado desplegando el valor para cada tiro, veamos el código:
Veamos el programa compilado y ejecutado:
Analicemos el código, línea 5 hacemos el llamado a la librería <cstdlib>, en esta librería contienen los prototipos de función de número a texto y viceversa, para la asignación de memoria, de números aleatorios y otras funciones útiles, como la función rand que usamos para generar los números aleatorios( random ).
En la línea 7 hicimos llamado a la librería <iomanip>, la cual contiene los prototipos de función para manipuladores de flujo, los cuales dan formato a los flujos de datos. Los manipuladores que conforman iomanip son: setw, setbase, setfill, setprecision, setiosflags y resetiosflags. Del cual en este caso usamos setw....
En la línea 12 declaramos el uso del espacio nombre setw, el cual como dije en el bloque anterior es un manipulador de la librería iomanip, pero en la línea 25 podemos ver como lo aplicamos, bien este manipulador lo que hace es establecer el ancho del campo visual en la pantalla, en nuestro caso pusimos 10( setw( 10 ), y esto son para ser específicos los espacios o caracteres entre cada número generado, y esto nos genera un mejor orden a la hora de mostrar el resultado,podemos poner el número que queramos, claro hay otras formas de hacer lo mismo que explicaremos en otros tutoriales.
En la línea 17, como se ve en los comentarios del código generamos una repetición de 35 para números aleatorios, o sea una simulación de 35 tiradas y con randomización entre 0 y 5, aunque se pueden preguntar ¿Pero los resultados son de 1 a 6?, como repito rand toma en cuenta el 0 pero nosotros podemos empezar el contador a 1, como lo hicimos omitiendo el 0, pero rand no lo hace es por eso que el contador tenemos que inicializarlo en el número deseado, en nuestro caso 1. Siendo 1 + rand() % 6 cumpliendo con la estructura 0 y RAND_MAX .
Bueno y en la línea 30, lo que hicimos fue hacer una pequeña instrucción, haciendo según el numero de tiradas en este caso 35 por ejemplo un número divisible, como el 5 para que salgan 7 líneas, si no tuviéramos esa pequeña instrucción igual funcionaría el objetivo, mas que todo por estética fue creada, pero quedaría así:
Bueno amig@s esto es todo en este tutorial, si tienen dudas estamos a la orden para guiarlos, en el próximo veremos la función srand para comprender aún mas la generación de aleatorios, me suscribo de ustedes... by 4uxx
0 comentarios :
Publicar un comentario