Re: [csharp-l] Datos Aleatorios

Probe algo asi y me dio resultado, hubo casos donde aparecieron en &n7 y &n8 los mismos numeros, ahi optaria por tirar nuevamente los dados.

Event Enter
    &x = 7
    Do 'Sumatoria'
    &n1 = Random() * (500 - &suma)
   
    &x = 6
    Do 'Sumatoria'
    &n2 = Random() * (500 - &n1 - &suma)
   
    &x = 5
    Do 'Sumatoria'
    &n3 = Random() * (500 - &n1 - &n2 - &suma)
   
    &x = 4
    Do 'Sumatoria'
    &n4 = Random() * (500 - &n1 - &n2 - &n3 - &suma)
   
    &x = 3
    Do 'Sumatoria'
    &n5 = Random() * (500 - &n1 - &n2 - &n3 - &n4 - &suma)
   
    &x = 2
    Do 'Sumatoria'
    &n6 = Random() * (500 - &n1 - &n2 - &n3 - &n4 - &n5 - &suma)
   
    &x = 1
    Do 'Sumatoria'
    &n7 = Random() * (500 - &n1 - &n2 - &n3 - &n4 - &n5 - &n6 - &suma)
   
    &n8 = 500 - &n1 - &n2 - &n3 - &n4 - &n5 - &n6 - &n7
EndEvent  // Enter


Sub 'Sumatoria'
    &suma = 0
    For &x1 = 1 to &x
        &suma = &suma + &x1
    Endfor
Endsub







2011/12/23 Leandro Minatel <leandro@minatel.com.ar>
El desafio seria buscar los valores para las replicas, que, a su vez, deben sumar 500.
Lejos de ser bueno en matematicas, se me ocurre ir buscando de a uno los valores e ir restandolos a 500. Asi sucesivamente hasta el anteultimo, mientras que el ultimo resulta de la resta de 500 menos todos los numeros obtenidos.

Ejemplo:

1) Buscar un valor random entre 1 y 490 (no vaya ser que salga el 500 para el primero y el resto de los numeros tengan que ser cero)
2) Luego, buscar un valor random entre 500 menos el valor obtenido con anterioridad menos la cantidad de numeros restantes
3) Asi sucesivamente hasta el anteultimo
4) El ultimo debe ser 500 menos los valores obtenidos con anterioridad

Slds






2011/12/22 Juan Carlos Báez <juancarlos.baez@gmail.com>

Seria interesante saber como lo implementaste, con el random y la lógica adecuada, no deberías tener problemas.

Saludos!

 

De: Claudio Saldaña [mailto:claudio.saldana@gmail.com]
Enviado el: jueves, 22 de diciembre de 2011 13:11
Para: csharp-l@gxtech.com.uy; gx-l
Asunto: [csharp-l] Datos Aleatorios

 

Estimados Foristas

 

Una consulta

 

Tengo una lista de datos que no superará nunca los 10: ejemplo:

 

LISTA A:

1,2

3,0

4,5

6,8

3,9

5,5

2,9

1,0

 

Y tengo que llenar una tabla con 500 valores pero la restricción es que estos 500 valores integren la lista A, y el llenado tiene que sea de selección aleatoria, es decir, replicar cada uno de los 8 valores de la lista A de forma aleatoria de manera que la suma total sea 500.

 

Para ejemplificar aun más:

 

Ejemplo Aleatorio 1:

LISTA A:

1,2   replicado 50 veces en Lista B:

3,0   replicado 70 veces en Lista B

4,5   ..............120

6,8   ..............100

3,9   ...............82

5,5   ...............30

2,9   ...............15

1,0   ...............33

   Total Lista B: 500

 

Ejemplo Aleatorio 2:

LISTA A:

1,2   replicado 50 veces en Lista B:

3,0   replicado 100 veces en Lista B

4,5   ..............60

6,8   ..............8

3,9   ...............93

5,5   ...............46

2,9   ...............78

1,0   ...............65

   Total Lista B: 500

 

Estuve tratando utilizar el Random pero no me funcionó

 

Cualquier ayuda es bienvenida..

GRacias

 

GxXEvo1 U6

Saludos

 

Claudio Saldaña Yáñez



--
Has recibido este mensaje porque estás suscrito al grupo "GeneXus" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a genexus@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a genexus+unsubscribe@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/genexus?hl=es.

0 Response to "Re: [csharp-l] Datos Aleatorios"

Publicar un comentario