SoloCodigo

Programación General => ASM (Ensamblador) => Mensaje iniciado por: PeterM en Miércoles 2 de Noviembre de 2005, 14:15

Título: Necesito El Codigo De Un Generador De Nºs De 0 A N
Publicado por: PeterM en Miércoles 2 de Noviembre de 2005, 14:15
Hola. Necesito hacer un trabajo sobre un generador de números desde 0 a N (N se lo doy yo) y por más que busco en la red no encuentro ni un solo código. Un ejemplo es el algoritmo de Tausworthe, pero este lo ha dao el profesor y va a ser q no vale. Me hariais un gran favor facilitandome uno. Thank you very much.  :comp:
Título: Re: Necesito El Codigo De Un Generador De Nºs De 0 A N
Publicado por: Super_G en Domingo 6 de Noviembre de 2005, 19:00
¿es un contador?
Título: Re: Necesito El Codigo De Un Generador De Nºs De 0 A N
Publicado por: PeterM en Lunes 7 de Noviembre de 2005, 10:45
No es un contador. He estado mirando los otros ejemplos que hay en el foro: de sumar uno hasta pulsar una tecla xo eso no creo q m valga. Lo q yo pido,creo, es un algoritmo generador ya hexo ya que el q se me ha facilitado a mi tiene autor conocido.

Algoritmo de Tausworthe.
Pasos:

1. Se toma una semilla inicial, que llamaremos seed, con una longitud de 8 bits. Por ejemplo: seed = 10111001

2. Se desplaza seed tres bits a la derecha. El resultado lo guardamos en
seed_desplazamiento1, con lo cual tenemos que: seed_desplazamiento1 = 00010111

3. Se hace la operación: seed2 = seed_desplazamiento1 XOR seed = 10101110

4. Se desplaza seed2 cinco bits a la izquierda. El resultado lo guardamos en
seed_desplazamiento2, con lo cual tenemos que: seed_desplazamiento2 = 11000000

5. Se hace la operación: seed_final = seed_desplazamiento2 XOR seed2 = 01101110

6. Se repite la secuencia de pasos 1-5 cien veces mediante un bucle, tomando como semilla inicial (seed) en cada iteración el valor de seed_final en la iteración anterior. El último valor que se obtenga para seed_final es nuestro primer número aleatorio.

7. Cuando se vaya a calcular el siguiente número aleatorio hay que actualizar la semilla.Para ello habrá que hacer: seed = seed_final

Esta forma de proceder genera números aleatorios entre 0 y 255 (8 bits)
Título: Re: Necesito El Codigo De Un Generador De Nºs De 0 A N
Publicado por: Alpha_ en Lunes 7 de Noviembre de 2005, 20:22
Hmmm bueno, si lo que necesitás es un generador de números pseudo-aleatorios, te presto un algoritmo fácil que suelo usar:

-El usuario introduce N. Mientras lo introduce, nosotros contamos el tiempo que tarda en hacerlo (por ejemplo, +1 en la iteración mientras está presionada la tecla).

-Luego, obtengo los milisegundos de la hora actual.

-Efectúo un XOR de ambos valores.

-Y a ese número, le aplico MOD N para obtener el deseado.

No lo he probado mucho, pero suele ser bastante aleatorio.
Título: Re: Necesito El Codigo De Un Generador De Nºs De 0 A N
Publicado por: PeterM en Viernes 11 de Noviembre de 2005, 12:43
Muxas gracias, lo probaré. De todos modos si alguien sabe de alguno otro pseudo-algoritmo se siguen aceptando propuestas.  :kicking: