Provided by:
manpages-es_1.55-10_all 
NOMBRE
rand, srand - generador de numeros pseudo-aleatorios
SINOPSIS
#include <stdlib.h>
int rand(void);
void srand(unsigned int semilla);
DESCRIPCI'ON
La funcion rand() devuelve un entero pseudo-aleatorio entre 0 y
RAND_MAX.
La funcion srand() establece su argumento como la semilla de una nueva
serie de enteros seudo-aleatorios que seran devueltos en secuencia por
rand(). Estas secuencias son repetibles si se llama a srand() con el
mismo valor para semilla.
Si no se proporciona ningun valor para la semilla (i.e., no se llama a
srand()), la funcion rand() automaticamente coge el valor 1 para la
semilla.
VALOR DEVUELTO
La funcion rand() devuelve un valor entre 0 y RAND_MAX. La funcion
srand() no devuelve nada.
OBSERVACIONES
Las versiones de rand() y srand() de la Biblioteca de C de Linux
emplean el mismo generador de numeros aleatorios que random() y
srandom(), de modo que los bits de orden mas bajo deberian ser tan
aleatorios como los de orden mas alto. Sin embargo, en
implementaciones de rand() mas antiguas, los bits de mas bajo orden son
mucho menos aleatorios que los de orden mas alto.
En Numerical Recipes in C: The Art of Scientific Computing (William H.
Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling; New
York: Cambridge University Press, 1990 (2a ed, pag. 277)), se hacen los
siguientes comentarios:
"Si Ud. quiere generar un entero aleatorio entre 1 y 10, siempre
deberia hacerlo usando los bits de orden alto como en:
j=1+(int) (10.0*rand()/(RAND_MAX+1.0));
y nunca con algo parecido a esto:
j=1+(rand() % 10);
(que utiliza bits de mas bajo orden)."
La generacion de numeros aleatorios es un tema complejo. El libro
Numerical Recipes in C (ver la referencia anterior) proporciona una
excelente discusion sobre la generacion practica de numeros aleatorios
en el capitulo 7 (Numeros Aleatorios).
Para una discusion mas teorica que tambien cubra en profundidad otros
detalles practicos, por favor consulte el capitulo 3 (Numeros
Aleatorios) en el libro de Donald E. Knuth The Art of Computer
Programming, volumen 2 (Seminumerical Algorithms), 2a ed.; Reading,
Massachusetts: Addison-Wesley Publishing Company, 1981.
CONFORME A
SVID 3, BSD 4.3, ISO 9899
V'EASE TAMBI'EN
random(3), srandom(3), initstate(3), setstate(3)