Random o Rand es una función básica de muchos lenguajes de programación. Se utiliza para obtener un número aleatorio.
En contextos alejados de la matemática o la estadística, puede referirse a hablar de algo extraño, pobre, sucio, o de mala calidad.[1]
Devuelve un número comprendido entre 0 y 1 (puede devolver 0, pero siempre un número mayor a 1). Dependiendo del lenguaje específico, puede soportar uno o dos parámetros. Así, random(x) devuelve un número entero entre 0 y x. Random (x,y) devuelve un número entero comprendido entre x e y.
Cada lenguaje (o versión del lenguaje) utiliza un algoritmo generador de números pseudoaleatorios diferente, con diferentes calidades de generación.
En PHP su declaración es la siguiente:[2]
int rand(void)
int rand(int $min, int $max)
En la documentación PHP se advierte que los números pseudoaleatorios generados no generan valores criptográficos fiables.[2]
En Javascript su declaración es la siguiente:[3]
Math.random()
Tampoco genera valores criptográficos fiables.[4]
En Free Pascal su declaración es la siguiente:[5] (en Delphi y Turbo Pascal es muy similar)[6]
function Random(l: LongInt):LongInt;
function Random(l: Int64):Int64;
function Random: extended;
Free Pascal utiliza una rutina Mersenne twister para la generación de un número aleatorio con esta función pero su ejecución es más lenta.[5]
En algunos lenguajes es necesario llamar inicialmente a una rutina de inicialización de la generación de los números aleatorios, generalmente llamada randomize. En otros lenguajes esto se lo hace en forma automática. Esta inicialización se la hace generalmente utilizando el valor correspondiente al milisegundo de la hora actual, de esta manera la generación de números aleatorios depende del momento exacto en el que es ejecutado el programa.