Función Rand
Esta función nos retorna un valor aleatorio entre 0 y RAND_MAX una constante definida en la biblioteca,
Es oportuno aclarar que, el hecho de que sea aleatorio no significa que no pueda ser predecible pues de todas maneras vamos a ver una secuencia que se repite a la hora que el computador empiece a arrojar valores al azar, imaginemos que el computador va estar en juego de lanzar dardos entonces al momento que el computador empieza a lanzar dardos, va a lanzar los con un patrón por ejemplo 10,20,30 y así, para evitar esto entonces nosotros ponemos a girar la diana para esto usamos: srand.
Srand() modifica la semilla o seed, pero ¿que es la semilla?, esta es una variable en la cual se basa el programa para realizar los cálculos y lanzarnos los resultados aleatorios, cuando usamos srand() estamos modificando la aleatoriedad con la que van a salir los resultados.
También usamos la función Time(null), esta función cuenta los segundos que han transcurrido desde 1976 hasta la actualidad entonces al poner esta funcion como semilla nuestro programa siempre nos generara un numero aleatorio diferente, esta función la encontramos en la biblioteca <time.h>.
Ejemplo como se usa la función rand.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main ()
{
int i, n, aleatorio, P, U;
srand(time(NULL));
scanf("%d", &n);
for (i = 0; i < n; i ++)
{
aleatorio = P+(int)(((U-P+1.0)*rand())/(RAND_MAX+1.0));
printf("%d ", aleatorio);
}
return 0;
}
Referencias:
- http://es.ccm.net/faq/2830-como-generar-numeros-aleatorios-eficazmente-con-la-funcion-rand
- http://arantxa.ii.uam.es/~swerc/ejemplos/crandom.html
- http://www.chuidiang.org/clinux/funciones/rand.php
- https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=917:generar-numeros-o-secuencias-Referencia 1aleatorios-en-c-intervalos-srand-y-rand-time-null-randmax-cu00525f&catid=82&Itemid=210
Comentarios
Publicar un comentario