Page 1 of 1

Generar numeros aleatorios

Posted: Fri Dec 07, 2007 11:24 pm
by jasm
Hola,
¿Tiene alguien alguna funcion para generar numeros aleatorios?
Saludos
Jose A. Suarez

Generar numeros aleatorios

Posted: Sat Dec 08, 2007 9:52 am
by jasm
Me respondo yo mismo.
Buscando "en el baúl de los recuerdos", encontré esta función:
FUNCTION Aleatorio( n )
STATIC xrndseed := .123456789
IF xrndseed = .123456789
xrndseed += val( substr( time(), 7, 2 ) ) / 100
END IF
xrndseed := ( xrndseed * 31415821 + 1 ) / 1000000
RETURN Int( ( xrndseed -= int( xrndseed ) ) * n )
No se quien es el autor ni como llegó a mi hace años, pero funciona
bastante bien.
Ahí­ la dejo por si len viene bien a alguien.
Saludos
Jose A. Suarez

Generar numeros aleatorios

Posted: Sat Dec 08, 2007 10:59 am
by Jose Lopez Carrasco
RANDOM()
Generates random numbers
------------------------------------------------------------ ------------------
Syntax
RANDOM([<lMode>]) --> nRandomWORD
Argument
<lMode> Designates whether or not to return negative numbers. The
default creates only positive numbers.
Returns
RANDOM() returns a random number in the range of 0 to 65535 or when
<lMode> is designated as .T., in the range of -32768 to +32767.
Description
RANDOM() produces random numbers to create a random distribution of
test
data for DEMO programs or any other application.
Note
¦ If the <lMode> parameter is not specified, only positive
numbers are returned. When < lMode> is set to .T., the function
returns the same number of positive and negative numbers.
Examples
¦ Create a random number between 0 and 65535:
? RANDOM()
¦ Create a random number between 0 and 1:
? RANDOM()/65535
¦ Create a random whole number between 1 and 16:
? RANDOM()%16 +1
¦ Create a random number between -32768 and +32767:
? RANDOM(.T.)
Un saludo
Pepe.
"José Alfonso Suárez Moreno" <jasm@tpvsoft.com> escribió en el mensaje
news:4759c828$1@ozsrv2.ozlan.local...
> Hola,
>
> ¿Tiene alguien alguna funcion para generar numeros aleatorios?
>
> Saludos
>
> Jose A. Suarez

Generar numeros aleatorios

Posted: Sat Dec 08, 2007 1:25 pm
by jasm
Pepe,
¿De donde es esta funcion? En xHb no está.
Si es la de Clipper 5.3 hay que recordar que Harbour y xHarbour se basan
en Clipper 5.2.
Saludos,
Jose A. Suarez

Generar numeros aleatorios

Posted: Sat Dec 08, 2007 4:19 pm
by Jose Lopez Carrasco
Jose Alfonso,
Esta funcion esta en las Tools de Clipper y en xHarbour.
Un saludo
Pepe.
"José Alfonso Suárez Moreno" <jasm@tpvsoft.com> escribió en el mensaje
news:475a8d32$1@ozsrv2.ozlan.local...
> Pepe,
>
> ¿De donde es esta funcion? En xHb no está.
>
> Si es la de Clipper 5.3 hay que recordar que Harbour y xHarbour se basan
> en Clipper 5.2.
>
> Saludos,
>
> Jose A. Suarez
>

Generar numeros aleatorios

Posted: Sat Dec 08, 2007 10:22 pm
by notengo
José Alfonso,
> ¿Tiene alguien alguna funcion para generar numeros aleatorios?
Si es para xHarbour, mira en sourcertlhbrandom.c
Saludos,
José Lalí­n

Generar numeros aleatorios

Posted: Sat Dec 08, 2007 10:55 pm
by jasm
Jose, Pepe,
¿Hay que incluir alguna libreria de xHb en el proyecto?
Da un precioso "unresolved external".
Saludos
Jose A. Suarez

Generar numeros aleatorios

Posted: Sat Dec 08, 2007 11:08 pm
by notengo
José Alfonso,
> ¿Hay que incluir alguna libreria de xHb en el proyecto?
Que yo sepa no. Estoy utilizando las tres (hb_random, hb_randomint y
hb_randomseed) desde hace tiempo y no he tenido ningún problema.
¿ Estás escribiendo bien el nombre de la función ? ;-)
Saludos,
José Lalí­n

Generar numeros aleatorios

Posted: Sat Dec 08, 2007 11:19 pm
by jasm
Jose,
He probado con Random y no pita. Con HB_Random no se me ocurrio.
Saludos
Jose A. Suarez

Generar numeros aleatorios

Posted: Sun Dec 09, 2007 12:44 am
by Jose Lopez Carrasco
Jose Alfonso,
La libreria es CT.LIB, en xHarbour si existe, pero en la distribucion de
xHarbour de Xailer no existe, habra que preguntar al equipo de Xailer por
que esa diferencia.
Un saludo
Pepe.
"José Alfonso Suárez Moreno" <jasm@tpvsoft.com> escribió en el mensaje
news:475b188b$1@ozsrv2.ozlan.local...
> Jose,
>
> He probado con Random y no pita. Con HB_Random no se me ocurrio.
>
> Saludos
>
> Jose A. Suarez