Numeros Aleatorios Reales Con Random.Org

Hola SQLeros, el día de hoy les presento una aplicación web que es muy interesante se encuentra en la dirección RANDOM.ORG.





[caption id="attachment_306" align="aligncenter" width="300" caption="RANDOM.ORG"]RANDOM.ORG[/caption]

Lo peculiar es la forma en que los numeros aleatorios son generados, tal vez  se han preguntado cómo las máquinas predecibles como las computadoras pueden generar aleatoriedad.


En realidad, los números aleatorios usados en la mayoría de los programas de compudatora son pseudo-aleatorios, lo que significa que cada numero se genera en una forma predecible mediante una fórmula matemática.


Esto está bien para muchos propósitos, pero no puede ser al azar en la forma en que lo esperamos, por ejemplo si estás acostumbrado a juegos de azar o a la lotería.


RANDOM.ORG ofrece auténticos números al azar para cualquier usuario de la  Internet. El azar viene de ruido atmosférico, que para muchos propósitos es mejor que el algoritmos de números pseudo-aleatorios que se  utilizan normalmente en los programas de la computadora.

La gente usa RANDOM.ORG para la creación de dibujos, la lotería y sorteos, para realizar juegos, etc. , para aplicaciones científicas y para el arte y la música.


El servicio ha existido desde 1998 y fue construido y está siendo operado por Mads Haahr de la Facultad de Ciencias de la Computación y Estadística en el Trinity College de Dublín en Irlanda.


No esta demás señalar que la página cuenta con un API el cual esta expuesto en intenet y se puede consumir desde distintos lenguajes de programación con sus respectivas implementaciones.


Después de una breve platica sobre este servicio haremos un ejercicio en PHP.


Supongamos que necesitamos obtener un intervalo de números aleatorios para hacer alguna actividad.


[sourcecode lang="php"]
< ?php
/* Titulo: Numeros Aleatorios Reales Con Random.Org
* Autor: RammsZeñábI.
* Blog: SQLeros.Com.Ar 2010
*Funcion para recolectar una serie de numeros aleatorios desde la página RANDOM.ORG
* $numeros, es la cantidad de numeros que se decean obtener por defecto es 1.
* $minimo, es el intervalo izquierdo de la serie por defecto es 0.
* $maximo, es el intervalo derecho de la serie por defecto es 10.
* $base, es la base de la serie de los numeros obtenidos, por defecto es 10.
* $formato de la serie resultante puede ser "plain" o "html" por defecto es "plain".
*/
function aleatorioDeRandomDotORG($numeros=1,$minimo=0,$maximo=10,$base=10,$formato="plain")
{

$repuesta_http=""; //guardamos la serie de los numeros generados
$servidor="www.random.org"; //el dominio a donde crearemos la conexión.
$consulta="/integers/?num=$numeros&min=$minimo&max=$maximo&col=1&base=$base&format=$formato&rnd=new"; //la consulta GET que harémos.
$puerto=80; //puerto a donde se conecta el socket.
$tiempoEspera=30; //tiempo de espera para la conexión.

//Creamos un socket y si todo sale muy bien
if($fsock = fsockopen($servidor,$puerto, $errno, $errstr, $tiempoEspera))
{
//ejecutamos la consulta
@fputs($fsock, "GET $consulta\r\n");
// y leemos los datos.
while (!@feof($fsock))
{
//guardamos en la variable lo que leemos
//agregamos la marca "," para separalas por comas al final.
$repuesta_http .= fgets($fsock, 128).",";
}
//Cerramos el socket.
fclose($fsock);
}
//y finalmente devolvemos un arreglo con los valores de la serie.
return explode(",",$repuesta_http);
}
?>


Creación de Numeros Aleatorios Usando RANDOM.ORG


< ?php
//probamos el codigo.
$cosa=aleatorioDeRandomDotORG(5);
//ahora mostramos los valores.
echo "
    ";
    for($i=0;$i {
    echo "
  1. $cosa[$i]";
    }
    echo "";
    ?>

    SQLeros.Com.Ar



    [/sourcecode]

    Bueno un Saludo!!

No hay comentarios:

Publicar un comentario