martes, 8 de marzo de 2011

Generacion aleatoria de un arreglo usando un servicio externo random.org

Uno de los problemas mas comunes en informatica es el tener una lista y mostrarla siempre en un orden diferente, por ejemplo imaginen el siguiente problema:

Tenemos una lista de elementos de un arreglo y debemos hacer un programa o modulo para mostrarlos SIEMPRE en un orden diferente.

les voy a poner un ejemplo practico:

si ustedes visitan la guia de manizales van a ver que en la columna izquierda, siempre veran que el orden en que aparecen los banner publicitarios de las empresas de este sitio web  ES UNA SECUENCIA ALEATORIA DIFERENTE.

Pues bien la generacion de secuencias aleatorias , siempre ha sido uno de los asuntos de mayor cuidado en la informatica.

En esta entrada del blog les voy a hablar de un servicio espectacular que me encontre:
un generador de enteros aleatorios para un rango dado usando un servicio web .

La mejor manera de entender que esto es: mirar un ejemplo funcional


http://www.random.org/integers/?num=100&min=1&max=100&col=5&base=10&format=html&rnd=new

Si damos click en esta URL (direccion web)  llegamos a la pagina random.org y a su servicio pidiendo: numeros aleatorios del 1 al 100
en 5 columnas
en base 10
en formato html

pero lo mas interesante es que este servicio tambien lo podemos usar como un API para usar estas listas en nuestros programas.

Por ejemplo imaginemos que en nuestro sitio web necesitamos una lista de numeros aleatorios entre 1 y 6 ademas necesitamos 10 de estos numeros, y ademas los necesitamos en modo TEXTO PLANO pues lo unico que tenemos que hacer es hacer una llamada con una requisicion HTTP GET a la siguiente
URL

http://www.random.org/integers/?num=10&min=1&max=6&col=1&base=10&format=plain&rnd=new

Y haciendolo con cuidado este sitio web nos entregara lo que le estamos pidiendo, si quieren verlo funcionar : click aqui 

http://www.random.org/integers/?num=10&min=1&max=6&col=1&base=10&format=plain&rnd=new
Para que vean la lista de numeros aleatorios generados desde el servidor de random.org y para que se den cuenta de la potencia de este servicio, pues ahorramos recursos de nuestro servidor ademas nos ahorramos la codificacion de un generador de numeros aleatorios que es otro enredo y sobre lo cual habra que hacer otra entrada en mi blog algun dia

Para terminar coloquemos un ejemplo: 

http://www.random.org/integers/?num=104&min=1&max=10&col=8&base=10&format=plain&rnd=new

nos debe dar la siguiente salida:

10 9 7 9 10 3 2 5
8 5 9 2 5 1 4 1
3 2 2 10 9 5 6 9
4 4 2 7 9 6 7 2
6 2 5 4 7 6 10 7
4 9 5 5 9 10 9 8
9 2 3 8 4 9 8 9
6 8 5 6 1 2 1 4
7 10 8 3 8 10 4 4
6 3 5 3 5 4 9 4
2 2 9 9 3 10 10 9
10 4 6 1 3 7 1 9
8 6 10 8 10 10 8 6

Pruebenlo dando click en el siguiente enlace

http://www.random.org/integers/?num=10&min=1&max=6&col=1&base=10&format=plain&rnd=new

Ahora con este servicio de www.random.org podemos usar un cliente con una interfaz HTTP para generacion de enteros secuencias  o cadenas

Si quieren ver esta API, y ver mas ejmplos en linea por favor visiten 

http://www.random.org/clients/http/

y si quieren ver para que sirve una lisda generada aleatoriamente por favor miren: los enlaces recomendados del blog de manizales  en la columa izquierda de publicidad y ahora ya hemos visto que no tenemos que programar este tipo de generadores, podemos usar la opcion de www.random.org

Espero poder colocar otros ejemplitos en mi blog en el futuro

CG

seo manizales

No hay comentarios:

Publicar un comentario

Popular Posts

Conoce Manizales !!

La intranet de Manizales