Random

Random o Rand es una función básica de muchos lenguajes de programación. Se utiliza para obtener un número aleatorio.

Devuelve un número comprendido entre 0 y 1 (puede devolver 0, pero siempre un número menor 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:[1]

int rand(void)
int rand(int $min, int $max)

En la documentación de PHP se advierte que los números pseudoaleatorios generados no generan valores criptográficos fiables.[1]

En Javascript su declaración es la siguiente:[2]

Math.random()

Tampoco genera valores criptográficos fiables.[3]

En Free Pascal su declaración es la siguiente:[5]

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, sin embargo su ejecución es más lenta.[4]

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.

Referencias

  1. a b «Función rand». PHP Manual. Consultado el 10 de febrero de 2016. 
  2. «JavaScript random() Method». w3schools.com (en inglés). Consultado el 10 de febrero de 2016. 
  3. «Math.random()». Mozilla Developer Network. Consultado el 10 de febrero de 2016. 
  4. a b «Random». Documentación de Free Pascal (en inglés). Consultado el 10 de febrero de 2016. 
  5. «System.Random Function». Documentación de Delphi (en inglés). Consultado el 10 de febrero de 2016. 
Other Languages