Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

programa para BINGO

1,661 views
Skip to first unread message

pepe

unread,
Nov 28, 2008, 10:50:28 AM11/28/08
to
gente del grupo, tengo que desarrollar un programa para gestión de un
BINGO (tómbola en argentina), la idea es que genere los cartones, sin
repetirse, y que se asegure el 1º premio un único ganador. Estuve
buscando por internet algo de información pero no hallé nada...
alguien estuvo haciendo algo por el estilo y puede orientarme un poco,
se lo voy a agradecer.

Algunas consideraciones que me dieron:
- Que se genere una cantidad limitada de cartones (6000, 8000, 12000)
- Que el 1º premio sea para un único cartón
- Que salga ese 1º premio luego de una cantidad de bolillas que
salieron (las bolillas se sacan de un bolillero, por lo que se
descarta la generación aleatoria de nros, que si se puede usar para la
etapa de pruebas)

Bueno, eso es todo lo que tengo por ahora...estoy bastante
desorientado con el tema de las combinaciones y con esto en
particular...no se como arrancar.

Saludos.
Pepe

Victor Koch arroba punto punto punto

unread,
Nov 28, 2008, 12:30:27 PM11/28/08
to
Hola

Creo que los que te dieron esas consideraciones o te están jodiendo o están
mas desorientados que vos.

Como vas a saber las bolillas que saldrán del bolillero para asegurarte que
haya un solo ganador y que este a su vez salga ganador después de cierta
cantidad de bolillas. Lo único que podes asegurar es que el ganador nunca
saldrá antes cuya cantidad de bolillas extraídas sea menor que la cantidad
de números de los cartones.

La única que se me ocurre de que haya un solo ganador es que el bolillero
tenga una bolilla menos, por ejemplo la 25 y no asignar ese numero en todos
los cartones menos a uno, pero claro... eso es trampa por parte del BINGO.

--
Un Saludo, Víctor Koch

"pepe" <p_e_p...@yahoo.com.ar> escribió en el mensaje
news:68163043-60ec-435a...@v13g2000yqm.googlegroups.com...

pepe

unread,
Nov 28, 2008, 11:32:24 AM11/28/08
to
On 28 nov, 15:30, "Victor Koch" <v i c t o r (arroba)correo(punto)

waldbott(punto)com(punto)ar> wrote:
> Hola
>
> Creo que los que te dieron esas consideraciones o te están jodiendo o están
> mas desorientados que vos.
>
> Como vas a saber las bolillas que saldrán del bolillero para asegurarte que
> haya un solo ganador y que este a su vez salga ganador después de cierta
> cantidad de bolillas. Lo único que podes asegurar es que el ganador nunca
> saldrá antes cuya cantidad de bolillas extraídas sea menor que la cantidad
> de números de los cartones.
>
> La única que se me ocurre de que haya un solo ganador es que el bolillero
> tenga una bolilla menos, por ejemplo la 25 y no asignar ese numero en todos
> los cartones menos a uno, pero claro... eso es trampa por parte del BINGO.
>
> --
> Un Saludo, Víctor Koch
>
> "pepe" <p_e_p_e...@yahoo.com.ar> escribió en el mensajenews:68163043-60ec-435a...@v13g2000yqm.googlegroups.com...

> gente del grupo, tengo que desarrollar un programa para gestión de un
> BINGO (tómbola en argentina), la idea es que genere los cartones, sin
> repetirse, y que se asegure el 1º premio un único ganador. Estuve
> buscando por internet algo de información pero no hallé nada...
> alguien estuvo haciendo algo por el estilo y puede orientarme un poco,
> se lo voy a agradecer.
>
> Algunas consideraciones que me dieron:
> - Que se genere una cantidad limitada de cartones (6000, 8000, 12000)
> - Que el 1º premio sea para un único cartón
> - Que salga ese 1º premio luego de una cantidad de bolillas que
> salieron (las bolillas se sacan de un bolillero, por lo que se
> descarta la generación aleatoria de nros, que si se puede usar para la
> etapa de pruebas)
>
> Bueno, eso es todo lo que tengo por ahora...estoy bastante
> desorientado con el tema de las combinaciones y con esto en
> particular...no se como arrancar.
>
> Saludos.
> Pepe

Victor, efectivamente las consideraciones que me dieron son
reales...esto es pura estadística, por eso lo difícil de la generación
del algoritmo que genere cartones con esas condiciones.
Con respecto al bolillero, es independiente del sistema, por lo que no
se puede sacar ninguna bolilla, ni evitar que un carton tenga
determinada bolilla y los otros no, y obviamente como esto es asar,
nunca podríamos saber que bolilla no incluir en todos los cartones y
si en ese que dice sería el posible ganador.
El tema es así... no se como pero hay sistemas que garantizan lo que
te digo...
Pepe

Message has been deleted

pepe

unread,
Nov 28, 2008, 12:15:21 PM11/28/08
to
On 28 nov, 14:59, Hernán wrote:
> pepe escribía:

>
> >gente del grupo, tengo que desarrollar un programa para gestión de un
> >BINGO (tómbola en argentina), la idea es que genere los cartones, sin
>
> La tómbola no es la lotería de cartones, nueve decenas, tres filas,
> quince números.

>
> >repetirse, y que se asegure el 1º premio un único ganador. Estuve
> >buscando por internet algo de información pero no hallé nada...
> >alguien estuvo haciendo algo por el estilo y puede orientarme un poco,
> >se lo voy a agradecer.
>
> >Algunas consideraciones que me dieron:
> >- Que se genere una cantidad limitada de cartones (6000, 8000, 12000)
> >- Que el 1º premio sea para un único cartón
>
> ¡Cómo? Salvo que el número de los participantes no exceda al de
> bolillas para que cada cartón contenga un número que no está en los
> otros...
>
> Incluso podría suceder que todos ganasen, si un mismo número se
> encuentra en todos los cartones y se le da por salir último :)

>
> >- Que salga ese 1º premio luego de una cantidad de bolillas que
> >salieron (las bolillas se sacan de un bolillero, por lo que se
> >descarta la generación aleatoria de nros, que si se puede usar para la
> >etapa de pruebas)
>
> >Bueno, eso es todo lo que tengo por ahora...estoy bastante
> >desorientado con el tema de las combinaciones y con esto en
> >particular...no se como arrancar.
>
> Metes todos los números en un array, lo mezclas, extraes los que
> necesitas y vualá. La probabilidad de que generes dos listas idénticas
> es "nula". De todas maneras, verificar 12000 listitas, puede
> consumirte unos pocos nanosegundos...
>
> >Saludos.
> >Pepe
>
> --
> Todo bien.

No hernan, no es así
El tema es estadística, distribución de nros... si tu generas un
carton (supongamos) con los 15 nros del 1 al 15 seguidos/correlativos,
dificilmente (para no decir imposible) sea un ganador del BINGO dado a
la distribución normal de salida de bolillas, esto por probabilidades
y estadisticas. O sea, y para que se entienda, si tomamos 1000
jugadas, o sea, 1000 tiradas de nros de un bolillero, por
probabilidades y estadísticas, es lo normal que todas las decenas
tengan la misma cantidad de nros salidos, o sea... de la 1º decena,
tendremos unos 100nros salidos, de la 2º también unos 100 nros
salidos, y así sucesivamente.
La generación de cartones random es lo más simple del planteo,
controlar que no se repita un cartón, también es de lo más sencillo...
pero el kit de la cuestión no va por ahí, porque como te comentaba, si
genero un carton que bajo determinadas consideraciones hago que el
muestreo de numeros no siga una distribución normal este cartón tendrá
menos probabilidad de salir ganador que otro... se entiende?.
Bueno, el kit de la cuestión, es ese... Otra consideración a la que se
llegó, si reducimos la cantidad de nros desde los que se generan los
cartones ( o sea elegir al azar por decir 70 nros de esos 90 para
generar los cartones) nos vamos a encontrar que cuando salgan esos 20
nros que no se incluyen en ningún carton, se alarga la cantidad de
veces que se extraerán bolillas... esto otra vez por pura estadística
y distribución normal de salida de bolillas.

Como dije, el planteo es APASIONANTE pero más que para programadores
es una labor de un especialista en PROBABILIDADES Y ESTADISTICAS.
Nosotros solo podremos aportar nuestro conocimiento para programar el
algoritmo...
Ah, y cabe destacar, que no hay trampas, solo consideraciones
estadísticas para hacer que se generen determinados cartones que
cumplan determinadas condiciones, y no quitar bolillas del bolillero,
ponerles peso, ni nada del mundo.
Esto es se dá en bingos donde el ganador gana un ÚNICO PREMIO, como
ser un AUTO o una casa, imagínense que si hubiese más de un ganador, o
se tendría que repartir el premio, o el organizador debería
proporcionar el mismo premio a todos los ganadores, cosa que no se
hace.

Bueno, Gracias y solo cuento con que a alguno le haya tocado
participar de alguna generación del tipo o conozca a alguien que se
interese en estadísticas

Saludos.
PP

Message has been deleted

Víctor Gómez

unread,
Nov 28, 2008, 1:27:05 PM11/28/08
to
Hola Pepe,

Dejando a un lado la parte estádística, te cuento que
metodológicamente en mi pais lo llamamos SMARTMATIC (compañía
tecnológica que maneja los resultados electorales), puedes manejar la
información a tu gusto, ya que por medio del sistema, el dueño podrá
conocer el ticket ganador, aún y sea elegido aleatoriamente... Además,
como saber si el ticket ganador fue vendido? Nadie gana? Para mi no es
transparente el proceso, sin embargo, esa no es ni mi tarea, por lo
que te recomiendo:

Crear los cartones al azar
En un arreglo, almacenar los cartones por Id_Carton y los números del
mismo
Hacer un random del 1 al total de tickets y el que salga es el tiket
ganador.

Para ir generando los numeros que van saliendo:
Crear una rutina que vaya seleccionando los números del ticket ganador
por cada pulsación (aleatoriamente), además, como es el azar, la
próxima vez que elija otro número debe ser al azar, mas no del carton,
y que sea aleatorio la próxima que deba buscar un numero del ticket
ganador; en apariencia, da una supuesta apariencia transparente del
sistema, cabe destacar que hay que verificar que: por cada número que
salga, no haya otro ticket que haga que gane con ese, y si si existe y
no es el carton ganador, entonces que genere otro.

La verdad no sé si me expliqué muy bien :-D

Ojalá te sirva mi idea,

Saludos

Victor Koch arroba punto punto punto

unread,
Nov 28, 2008, 3:03:02 PM11/28/08
to
Hola,

A veces la solución pasa por tirarle el problema al otro, con elegancia por
supuesto, para no quedar mal y que el cliente no se entere que estamos
flojos en una materia, jeje.

Visto esto entonces porque no le preguntas a tu cliente que formula o
calculo estadístico quieren aplicar o sugieren para generar los cartones y
todas esas yerbas, si te dan algo salís a buscarlo por Internet, si callan o
te dicen que lo decidas vos entonces aplicas algunas de las sugerencias de
los colegas.

Si en la primer bola "salta la banca" y se te quejan les decís: aplique el
método de la serie numérica de Hernán o la generación aleatoria de números
al azar de Víctor Gómez.

--
Un Saludo, Víctor Koch

"pepe" <p_e_p...@yahoo.com.ar> escribió en el mensaje
news:e2425a74-0fa0-4a9f...@k19g2000yqg.googlegroups.com...

Message has been deleted

Víctor Gómez

unread,
Nov 28, 2008, 3:56:24 PM11/28/08
to
Hola Hernán,

Pero es como dije, apartemos las estadísticas y se resuelve el
problema, yo no hice alusión a ningún comentario, sencillamente porque
no tiene sentido lo propuesto, pero quién soy yo para juzgar lo que se
quiere...

Ah! tienes la razón, y en ningún momento he dicho lo contrario, la
probabilidad para cada bolita es la misma... que suceda es algo
dificil de ver, pero no improbable...

Aquí coloco mi base, se llama Distribución Uniforme (me acordé!!!)

"El número de posibles tarjetas únicas de BINGO es muy grande y puede
calcularse con esta ecuación:

/ / las columnas B, I, G, y O * la columna de N (Si fueran de 5
columnas, hay bingos con 7 columnas)
(15 * 14 * 13 * 12 * 11) ^ 4 * (15 * 14 * 13 * 12) =
552,446,474,061,128,648,601,600,000
El número de tarjetas posibles de bingo es
552,446,474,061,128,648,601,600,000. Si usted pudiera imprimir un
millón de tarjetas por segundo, tomaría 17,505,972,382,599.7 años para
imprimir cada posible tarjeta de bingo. Y sólo 4,976,640,000 tarjetas
tendrían los mismos 24 números, pero en un orden diferente.

Como cada jugador sabe, hay 75 pelotas en la máquina, numeradas de la
1 a la 75. La probabilidad de la primera pelota que se saca es 1 en 75
posibilidades, y se escribe como 1/75. Puesto que las probabilidades
son iguales, nosotros llamamos a esta forma de distribución,
distribución uniforme"

Y en Wiki su definición:
http://es.wikipedia.org/wiki/Distribuci%C3%B3n_uniforme

De igual manera,

Víctor Koch escribía

> Si en la primer bola "salta la banca" y se te quejan les decís: aplique el
> método de la serie numérica de Hernán o la generación aleatoria de números
> al azar de Víctor Gómez.
>
> --
> Un Saludo,

Gracias por la declaración como método... voy a patentarlo :-D :-D :-
D :-D :-D

Leonardo Azpurua

unread,
Nov 28, 2008, 4:07:46 PM11/28/08
to

"pepe" <p_e_p...@yahoo.com.ar> escribió en el mensaje
news:e2425a74-0fa0-4a9f...@k19g2000yqg.googlegroups.com...

Victor, efectivamente las consideraciones que me dieron son
reales...esto es pura estadística, por eso lo difícil de la generación
del algoritmo que genere cartones con esas condiciones.
Con respecto al bolillero, es independiente del sistema, por lo que no
se puede sacar ninguna bolilla, ni evitar que un carton tenga
determinada bolilla y los otros no, y obviamente como esto es asar,
nunca podríamos saber que bolilla no incluir en todos los cartones y
si en ese que dice sería el posible ganador.
El tema es así... no se como pero hay sistemas que garantizan lo que
te digo...

---------------------------------

Lo único que me ha quedado en la vida, despues de dejar mis ahorros en mesas
de ruleta en medio mundo, es la certidumbre de que una cosa es la
estadística y otra bien diferente el azar.

No hay sistema en el azar, y el que diga lo contrario miente.

Corriendo pruebas en Basic, en un millón de corridas donde se han
seleccionado 14 números de 38 posibles (como en la ruleta "americana") puede
producirse una racha de hasta 56 lances sin que salga ninguno de los catorce
números, aunque la frecuencia de cada número individual despues de un millon
de corridas es casi 1/38 (con diferencias en el orden de las centésimas).

Es mentira que me he dejado los ahorros en la ruleta, pero sí que he pasado
horas jugando, y lo único parecido a un "sistema" es que de repente me estoy
dando una ducha y de la nada me llega la imagen de la bolita cayendo en la
caja del 29. Me voy a un casino, juego una cantidad de dinero que no me
importe perder al 29 y a tres numeros vecinos de cada lado (25, 10, 27, 12,
8, 19), y de repente cae el 29. O hace un par de semanas, estaba agotado
despues de pasar mas casi diez horas seguidas frente al PC, y decidí
encender el televisor para ver las noticias sobre las elecciones. Estaba
puesto el canal 33, y lo primero que escuché fue a un locutor diciendo "como
se informó en nuestro programa Grado 33, hay denuncias de fraude en 33
alcaldías". Miré el reloj y eran las 3:33. Me fui al casino, tiré una
cantidad de dinero al 33, y ¡salió! Otra vez estaba haciendo mantenimiento
de la tabla de facturas de un cliente, y el segmento dañado comenzaba en la
factura 2578, y terminaba en la 2758, fui al casino, aposté al 2, 5, 7, 8,
25 y 27, y salieron 5, 2, 25, 8, 7, 28 (que descuido), otra vez el 5 y el 7
y luego se acabó la racha.

Pero con ese tipo de "experticia" no se escribe un programa :-)

Sobre todo porque otras veces ha habido coincidencias parecidas, y lo único
que ha pasado es que he perdido cantidades de dinero que (supuestamente) no
debió importarme perder.

Si tienes 90 números y un número de cartones diferentes con quince números
cada uno, en un momento dado puede haber un número indefinido de cartones
pendientes de un número para completarse. Si ese numero sale, varios
cartones acertarán el primer premio. Es inevitable.

Y sobre lo "imposible" de las series... Una vez vi a una ruleta caer en
orden en todos los números del 1 al 18; otra, repetir seis veces el mismo
número (el 4, y le acerté en todas) y otra produjo una serie de catorce
"verdes" (0 y 00).

Lo primero que se aprende cuando se trata de aplicar la estadística al azar
es que cada nuevo evento es totalmente independiente no sólo del anterior,
sino de toda la serie de números precedentes. La estadística produce buenas
aproximaciones acerca de la distribución de los eventos en grandes series,
pero es _*totalmente inútil*_ para predecir un evento individual.


Salud!


Víctor Gómez

unread,
Nov 28, 2008, 4:15:47 PM11/28/08
to
Sr. Leonardo...

Usted como que es de los que se acuestan temprano para ver que sueña y
jugarlo al otro día...
sea por chance o por táchira :-D :-D :-D :-D

Lo que si no sé, es qué hace viendo el canal 33, si bien es cierto, es
el único canal de noticias que se puede ver.. pero ahí no pasan
loterías??? jajaja

Saludos!!!

Leonardo Azpurua

unread,
Nov 28, 2008, 6:32:02 PM11/28/08
to

"Víctor Gómez" <victorg...@gmail.com> escribió en el mensaje
news:82204df6-4937-4e03...@k41g2000yqn.googlegroups.com...
Sr. Leonardo...

------------------------------

:-)))

En realidad, en algún momento temí haber desarrollado algún tipo de adicción
al juego (soy peligrosamente proclive a las adicciones), pero
afortunadamente logré controlar la situación.

Además de perder con frecuencia y ganar de vez en cuando, en una mesa de
ruleta ves un aspecto bastante único de la naturaleza humana. No es de los
mejores, pero sí muy parecido a lo que ves cuando estás negociando una
venta, por ejemplo. En ese aspecto -totalmente OT en este contexto- de la
formación profesional que tiene que ver con ponerle un precio justo al
propio trabajo y mantener la actitud correcta para que los clientes jueguen
contigo, creo que el juego me ha enseñado cosas que valen más que lo que
pueda haber perdido.

Otro beneficio de jugar ha sido desarrollar un discernimiento más claro
entre la intuición, el deseo y el miedo, que con frecuencia se parecen
demasiado. Claro que uno se equivoca muchas veces, pero es un ejercicio
interesante.

Pero no, si a algo no me parezco es a un soñador de números ni a un
consumidor cotidiano de los oráculos de Ultimas Noticias.


Salud!


aa

unread,
Dec 3, 2008, 11:37:55 AM12/3/08
to
Lo que el quiere es que controle que si por ejemplo salen las bolillas
1,5,7,15
ese resultado de bingo en un solo carton,si sale 1,5,8,17 pase lo mismo y
asi,
es una locura asegurar que de acuerdo a las posibilidades de la salida de
bolillas
100^100^15 no haya dos cartones que puedan tener las mismas bolillas.
"pepe" <p_e_p...@yahoo.com.ar> wrote in message
news:68163043-60ec-435a...@v13g2000yqm.googlegroups.com...

Leonardo Azpurua

unread,
Dec 3, 2008, 4:53:30 PM12/3/08
to

"aa" <a...@aa.com> escribió en el mensaje
news:%23XqqU0V...@TK2MSFTNGP03.phx.gbl...

> Lo que el quiere es que controle que si por ejemplo salen las bolillas
> 1,5,7,15
> ese resultado de bingo en un solo carton,si sale 1,5,8,17 pase lo mismo y
> asi,
> es una locura asegurar que de acuerdo a las posibilidades de la salida de
> bolillas
> 100^100^15 no haya dos cartones que puedan tener las mismas bolillas.


Hola, aa:


El problema con tu requerimiento es la parte donde especificas que debe
haber un sólo cartón ganador del primer premio.

Supon que hay dos cartones, que contienen <1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
11, 12, 13, 14, 15> y <1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16> y
salen las bolas 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 16. Como puedes ver, los
dos cartones dependen de que salga el quince para ganar el primer premio. Y
si sale ese numero, ambos ganaran.

Si pones como requerimiento que cada cartón debe ser diferente de los demás
al menos en dos números, reduces a cero la probabilidad de que dos cartones
resulten premiados despues de 16 números, pero igual puede ocurrir que dos
cartones salgan premiados despues de 17.

Y la probabilidad de que el premio le toque a dos cartones aumenta en la
medida en que van saliendo nuevos números. No es raro que en las salas de
bingo haya dos ganadores del primer premio, y más de dos ganadores de una
línea.

La única manera de garantizar que no haya dos cartones premiados es que no
existan dos cartones con algún numero en común. El problema es que no con
esas restricciones no puedes producir más de seis cartones para cada sorteo.

Si levantas ese requerimiento, la solución es fácil:

Dim c As New Collection
Dim i As Integer, j as Integer
Dim s As String, n(1 to 15) As Integer
Dim proximoCandidato As Integer
Dim isUnico As Boolean

Randomize() ' "siembras" el generador de numeros aleatorios
' con un valor dependiente de la hora

' Ciclo para generar la cantidad de cartones
For elCarton = 1 To cartonesRequeridos
isUnico = False
' Ciclo para generar una secuencia única de dígitos
Do While Not isUnico
isUnico = True
' ciclo para generar cada nuevo digito
For digito = 0 To 14
Dim isNew As Boolean
Do
isNew = True
proximoCandidato = Int(rnd() * 90) + 1
i = 0
' ciclo para determinar si el digito está o no en este cartón,
' y determinar su posición de inserción.
Do While n(i) And n(i) <= proximoCandidato And i < digito
If n(i) = proximoCandidato Then
isNew = False
Exit Do
End If
i = i + 1
Loop
Loop While isNew = False
' Insertar en el arreglo ordenado el número correspondiente...
For j = digito - 1 To i Step - 1
n(j) = n(j-1)
Next
n(i) = proximoCandidato
Next
s = ""
' se arma una cadena con los 14 digitos
For j = 0 To 14
s = s & Format(n(i), "00")
Next
' si la cadena está duplicada en la colección, se producirá un error
On Error Resume Next
c.Add s, s
If Err.Number Then
isUnico = False
End If
On Error GoTo 0
Loop
Next

Así puedes (más o menos, porque no lo probé) generar un numero arbitrario de
secuencias aleatorias únicas de 14 dígitos entre 1 y 90. Pero de ahí a que
no puedan salir dos cartones premiados, hay una gran diferencia.


Salud!


Miguel Esquef

unread,
Mar 24, 2022, 5:57:15 PM3/24/22
to
Hola,

Veo que paso mucho tiempo desde que escribiste esto... Pero te consulto si pudiste resolverlo ???
0 new messages