Provided by:
manpages-es_1.55-8_all 
NOMBRE
rand, srand - generador de números pseudo-aleatorios
SINOPSIS
#include <stdlib.h>
int rand(void);
void srand(unsigned int semilla);
DESCRIPCIÓN
La función rand() devuelve un entero pseudo-aleatorio entre 0 y
RAND_MAX.
La función srand() establece su argumento como la semilla de una nueva
serie de enteros seudo-aleatorios que serán devueltos en secuencia por
rand(). Estas secuencias son repetibles si se llama a srand() con el
mismo valor para semilla.
Si no se proporciona ningún valor para la semilla (i.e., no se llama a
srand()), la función rand() automáticamente coge el valor 1 para la
semilla.
VALOR DEVUELTO
La función rand() devuelve un valor entre 0 y RAND_MAX. La función
srand() no devuelve nada.
OBSERVACIONES
Las versiones de rand() y srand() de la Biblioteca de C de Linux
emplean el mismo generador de números aleatorios que random() y
srandom(), de modo que los bits de orden más bajo deberían ser tan
aleatorios como los de orden más alto. Sin embargo, en
implementaciones de rand() más antiguas, los bits de más bajo orden son
mucho menos aleatorios que los de orden más 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 (2ª ed, pág. 277)), se hacen los
siguientes comentarios:
"Si Ud. quiere generar un entero aleatorio entre 1 y 10, siempre
debería 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 más bajo orden)."
La generación de números aleatorios es un tema complejo. El libro
Numerical Recipes in C (ver la referencia anterior) proporciona una
excelente discusión sobre la generación práctica de números aleatorios
en el capítulo 7 (Números Aleatorios).
Para una discusión más teórica que también cubra en profundidad otros
detalles prácticos, por favor consulte el capítulo 3 (Números
Aleatorios) en el libro de Donald E. Knuth The Art of Computer
Programming, volumen 2 (Seminumerical Algorithms), 2ª ed.; Reading,
Massachusetts: Addison-Wesley Publishing Company, 1981.
CONFORME A
SVID 3, BSD 4.3, ISO 9899
VÉASE TAMBIÉN
random(3), srandom(3), initstate(3), setstate(3)