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.