Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Elegir Entre 2 O 3 Numeros, Pero De Forma Aleatoria
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Elegir Entre 2 O 3 Numeros, Pero De Forma Aleatoria 
 
Buenas genteee! tras un laargo periodo de tiempo en inactivo en relacion a la programacion y demas, hoy me surge una duda en relacion a los numeros aleatorios.

Como podria elegir entre 3 numeros, siempre los mismos, pero de forma aleatoria.

Me explico, quiero que me salga o un 1, o un 3 o un 8. Con RANDOMIZE y Rnd no podria, porque seria desde un numero a otro, pero no entre 3 predeterminados.

Muchas graciaaas!!!

PD:
jsbsan, no se me olvidan las piezas del ajedrez....estan ahi...jajajajajaa
 



 
AnSnarkista - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Elegir Entre 2 O 3 Numeros, Pero De Forma Aleatoria 
 
Pss si puedes hacerlo con Rnd:

Código: [Descargar] [Ocultar] [Seleccionar]
DIM i AS Int
i = Int(Rnd(1, 3))
SELECT i
  CASE 1
    i = 7
  CASE 2
    i = 4
  CASE 3
    i = 46
END SELECT
 


No he probado el código, pero debiese de funcionar.
Saludos!
 



 
razaAztk - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuarioVer la galería personal del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Elegir Entre 2 O 3 Numeros, Pero De Forma Aleatoria 
 
Lo probare...he intentado un codigo un poco mas largo...

DO UNTIL que sea el numero que quiero....como son numeros pequeños me va bien.

Graciaas!
 



 
AnSnarkista - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Elegir Entre 2 O 3 Numeros, Pero De Forma Aleatoria 
 
Hola AnSnarkista!.

Prueba con esto:

Código: [Descargar] [Ocultar] [Seleccionar]
DIM numeros AS NEW Integer[]
DIM aleatorio AS Integer
  
numeros = [1, 3, 8]
aleatorio = Rnd(0, 3)
PRINT numeros[aleatorio]
 


Saludos.
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Elegir Entre 2 O 3 Numeros, Pero De Forma Aleatoria 
 
Shell

es mi idea o debería ser
Código: [Descargar] [Ocultar] [Seleccionar]
aleatorio = Rnd(0, 2)


en vez de 3 es 2 o no?
 



 
DEATH - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Elegir Entre 2 O 3 Numeros, Pero De Forma Aleatoria 
 
No, es como te lo dijo Shell puesto que  el limite superior no esta incluido en la funcion Rnd. Has la prueba y sabras porque se hace así.
 



 
ivanovichenco - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Elegir Entre 2 O 3 Numeros, Pero De Forma Aleatoria 
 
Hola Death!.

Resultaba raro, verdad?.Por lo de los indices del array.

Puedes encontrar más información aquí.

http://gambasdoc.org/help/lang/rnd?es

Es un tema que me gusta bastante.
He hecho varios programas con números aleatorios y no necesite la función randomize.
Cuando esta es obligatoria para que no se repitan, ya que no deberían ser tan aleatorios.

Lo que veo, si simulásemos un numero de x tiradas de una moneda siempre hay casi un 50% de cara y cruz.
En cambio estoy con tiradas de dados de poker, la variedad es mas amplia, naturalmente el numero de parejas, dobles parejas es mayor
por las posibilidades.

Pero vuelvo a encontrarme con cantidades parecidas, por ejemplo. Os pongo la captura de este programa ejemplo que estuve liado.

 dados_poker

Si repito las 1000 tiradas:
Las parejas siempre rondan arriba o abajo los 450, los trios 150, las dobles parejas 200, los full casi los 50, los poker sobre 10 y los repoker sobre 1.
Tengo que añadir  la posibilidad de escalera.

Saludos.
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Elegir Entre 2 O 3 Numeros, Pero De Forma Aleatoria 
 
vale... echaré un vistazo a la info...

de todas formas funciona bien...

saludos!!!
 



 
DEATH - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Elegir Entre 2 O 3 Numeros, Pero De Forma Aleatoria 
 
En informática, los numeros aleatorios en realidad no existen, sin embargo, se han desarrollado implementaciones de software a partir de algoritmos para simularlos. se les conocoe como numero pseudo aleatorios.  Su naturaleza es puramente matemática y su precision es mas alta de acuerdo a la cantidad de elementos del rango en el cual vamos a obtener el valor denominado aleatorio o random.

en  los procesos de generación de números aleatorios intervienen 4 elementos

1    El valor inicial o semilla:  "S" en gambas randomize es el procedimiento que se encarga de suministrarlo
2    La constante multiplicativa: "M"  interna de rnd  y que es la base matemática del cálculo
3    La constante aditiva:   "A"  que es la base   de incremento.
4   El número "N" respecto al cual se calculan los restos y se lo pasamos por parametro a rnd; en el valor final

Cabe destacar que todos estos valores deben cumplir con un criterio en donde  S,M,A < N. por tal razón en cualquier generador de números aleatorios bajo este esquema (gambas es un caso)   todo resultado aleatorio va a estar comprendido entre 0 y N-1.  

como se requiere una semilla "N" que sea lo mas diferente todo el tiempo,  el procedimiento randomize suministrará los segundos transcurridos desde la media noche hasta la hora de ejecución del programa como semilla.. Por esto es que difícilmente se repetirán, sin embargo,   bajo este método a una hora exacta, un tiro de ruleta o dados nos arrojaría un resultado que ya sabemos y hemos calculado...... o sea hackers de casinos.

si quiere algo más seguro puede implementar el método de las vegas o método de montecarlo combinando y ademaś generar aleatoriamente una semilla  de un número de posibilidades....

Bueno hasta aquí dejo lo académico. eso explica porque randomize y rnd tienen ese comportamiento en gambas....

por lo demas, los amigos que escribieron anteriormente han dejado clara su implementación simple.
 



 
Ronny - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Elegir Entre 2 O 3 Numeros, Pero De Forma Aleatoria 
 
Acabo de darme cuenta de algo.

Pasteo el código que puso RazaAztk anteriormente:
Código: [Descargar] [Ocultar] [Seleccionar]
DIM i AS Int
i =cInt(Rnd(1, 3))
SELECT i
 CASE 1
   i = 7
 CASE 2
   i = 4
 CASE 3
   i = 46
END SELECT

Pues resulta que si haces click en RND te lleva a la entrada correspondiente de RND en gambasdoc (aunque en ingles) Si el ingles molesta siempre le puedes dar a la banderita.

 
 



 
última edición por soplo el Viernes, 20 May 2011, 21:26; editado 1 vez 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron