Números aleatorios


He recibido varios correos de usuarios quejándose de que su ordenador era incapaz de generar números aleatorios. Estos habían utilizado la función Rnd() para generar secuencias entre 0 y 1, pero por algún motivo, los valores resultantes eran decepcionantemente los mismos.

Los ordenadores no son muy eficientes a la hora de escoger números aleatorios. Lo que hacen es crear secuencias de números pseudoaleatorios mediante el uso de una fórmula. La raíz del problema es que la fórmula necesita un valor inicial para ser inicializada. Este valor se le llama comúnmente "semilla". Y a menos que de algún modo se inicialice, el ordenador utiliza siempre el mismo valor para generar la secuencia de números aleatorios... Lo cual resulta a todas luces insatisfactorio.

La solución es llamar a la función Randomize() antes de realizar la primera llamada a Rnd(). Esto causa que el ordenador inicialice una secuencia de números utilizando un valor inicial basado en el reloj de sistema, ofreciendo de este modo series de números mucho menos predecibles.