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

Algoritmo para las Quinielas

603 views
Skip to first unread message

Elkoko

unread,
Dec 20, 1997, 3:00:00 AM12/20/97
to

Estoy haciendo un programa Freeware de Quinielas y me ha surgido una pequeña
gran duda.

¿Comó Puedo Saber cuales son los partidos de la jornada?
Me esplico, lo que quiero saber es, a partir de la primera jornada, como
puedo hacer para conocer los enfrentamientos de las demás jornadas.

Es decir, tengo la jornada 1º con R.Madrid-Barcelona, ¿Con quien juega el
Madrid y el Barcelona la siguiente jornada?

¿Hay algun algoritmo para calcularlo, o tengo que meter todos los datos en
un base de datos a pedal?

Un saludo.

Mario Rosas

unread,
Dec 22, 1997, 3:00:00 AM12/22/97
to

Seguramente será por sorteo, no creo que haya ningún algoritmo que
realice esta operación.

Espero que, cuando lo acabes, seamos nosotros los primeros en
probarlo....... :-)

M. Rosas
mro...@alcavia.net

Elkoko escribió en mensaje <67jndj$hj0$2...@talia.mad.ibernet.es>...

Jorge Serrano

unread,
Dec 22, 1997, 3:00:00 AM12/22/97
to Elkoko

Elkoko wrote:

> Estoy haciendo un programa Freeware de Quinielas y me ha surgido una pequeña
> gran duda.
>
> ¿Comó Puedo Saber cuales son los partidos de la jornada?
> Me esplico, lo que quiero saber es, a partir de la primera jornada, como
> puedo hacer para conocer los enfrentamientos de las demás jornadas.
>
> Es decir, tengo la jornada 1º con R.Madrid-Barcelona, ¿Con quien juega el
> Madrid y el Barcelona la siguiente jornada?
>
> ¿Hay algun algoritmo para calcularlo, o tengo que meter todos los datos en
> un base de datos a pedal?
>
> Un saludo.

Pues me has pillado en "fuera de juego", porque claro, yo pensaba que se
realizaba por sorteo.
Es decir, se sacaban vaios y a partir de ahí se sacaban el resto, pero es
posible que tengas toda la razón. Siempre se aprende algo.

Intentaré averiguarlo.

Saludos.

--
=======================================================

FELIZ NAVIDAD Y PROSPERO 1998.

Jorge Serrano
1997 Madrid (SPAIN-Europe)
mailto:jorg...@redestb.es

INTERNET:
http://www.redestb.es/personal/jorgeser/

FORO EN ESPAÑOL SOBRE VISUAL BASIC
[Spanish Web Site]
MUNDO VISUAL - VISUAL BASIC
http://www.ciudadfutura.com/visualbasic

INTRANET:
http://www.einf.upco.es/rincones/cursos/10
(with psw)

FIDONET:
2:341/64.16
=======================================================

Chuso

unread,
Jan 4, 1998, 3:00:00 AM1/4/98
to

> ¿Comó Puedo Saber cuales son los partidos de la jornada?
> Me esplico, lo que quiero saber es, a partir de la primera jornada, como
> puedo hacer para conocer los enfrentamientos de las demás jornadas.
>
> Es decir, tengo la jornada 1º con R.Madrid-Barcelona, ¿Con quien juega el
> Madrid y el Barcelona la siguiente jornada?
>
> ¿Hay algun algoritmo para calcularlo, o tengo que meter todos los datos
en
> un base de datos a pedal?

Hace ya unos cuantos años diseñe un algoritmo en Turbo-Basic que calculaba
el calendario completo a partir de la primera jornada.
Desgraciadamente solo conservo el listado del programa en el que iba
incluido (quizas tambien lo tenga en diskette de 5 y 1/4, pero no tengo
diskettera).
Si sigues interesado puedo intentar transcribirte el procedimiento

NOTA:
Me he suscrito hoy a la lista, por tanto, SOY NOVATO. Así que SALUDOS A
TODOS y si cometo alguna incorrección espero vuestra comprensión y ayuda.


Jorge Serrano

unread,
Jan 6, 1998, 3:00:00 AM1/6/98
to Chuso

Chuso wrote:

Hola Chuso,

si lo haces, deja por aquí el código.

Estoy interesado. Creo además que hay más gente interesada.

Es curioso y no sabía que se podía sacar desde la primera jornada de liga.

Saludos. ;)

Chuso

unread,
Jan 8, 1998, 3:00:00 AM1/8/98
to

Según solicitó en su día Elkoko y posteriormente Jorge Serrano, intentaré
describir el proceso que se realiza para el cálculo de las jornadas de la
liga de fútbol española.

No adjunto el código que confeccioné puesto que creo que es lo menos
interesante, ya que en mi caso (y según contesté a Elkoko) mi procedimiento
creaba un array bidimensional mediante el cual, dado un equipo y una
jornada, se obtenía el lugar en el que se ubicaba. Así, si consigo
describir el proceso, cada uno puede crearse su propio código según sus
intereses (no obstante si alguien lo quiere no tendré ningún problema en
mandárselo). Yo también opino que enseñar a pescar es mejor que regalar un
pez, además, no creo que tengais ningún problema en diseñar el código.

En mi explicación partiremos de ver una jornada como si fuera una tabla.
Dicha tabla consta de dos columnas (en la de la izquierda se encuentran los
equipos locales y en la derecha los visitantes) y de unas cuantas filas, de
manera que si la liga está compuesta de 20 equipos, deberán existir 10
filas.

Partimos de una jornada inicial (por sorteo) la cual nos servirá para
confeccionar el resto del calendario. Sucesivamente iremos calculando como
irán quedando las siguientes teniendo en cuenta siempre las posiciones de
la jornada anterior.

Lo primero que deberemos tener en cuenta es si estamos calculando una
jornada de número impar o par, es decir, la primera jornada es la 1, por
tanto, la siguiente, que es par, atenderá unas normas, las mismas que para
calcular la jornada 4, la 6, etc.

Otro punto importante es el comportamiento que tiene el equipo que ocupa en
la primera jornada la celda correspondiente a la última fila de la primera
columna.

Las normas que describiré servirán para confeccionar lo que será la primera
vuelta de la liga, para obtener la segunda sólo es preciso invertir el
orden de la columnas respecto a la primera vuelta.

Dicho esto, al grano:

JORNADA PAR:
a) Los equipos que se encontraban en la jornada anterior en la columna de
la izquierda (locales), en esta jornada par ocuparán la columna de la
derecha de la fila que tienen abajo. Con la excepción del equipo que se
encontraba en la columna izquierda de la última fila, que en las jornadas
pares ocupará la columna derecha de la primera fila (comportamiento
irregular mencionado anteriormente).
b) Los equipos que ocupaban la columna izquierda (visitantes) en esta
jornada ocuparán la columna derecha de la misma fila.
Como única excepción, debe tenerse en cuenta que en la penúltima jornada de
esta primera vuelta, los equipos de la primera fila deben invertir su
posición, es decir, al que le correspondería la columna derecha (jugar como
visitante) ocupará la columna izquierda (local) y al otro a la inversa.

JORNADA IMPAR:
a) El equipo que en la jornada anterior se encontraba en la columna
izquierda de la primera fila, repite posición.
b) El equipo que en la jornada anterior se encontraba en la columna derecha
de la última fila, también repite posición.
c) El equipo que en las jornadas pares ocupa la columna derecha de la
primera fila, en las jornadas impares ocupa la columna izquierda de la
última fila (el mismo equipo del comportamiento irregular).
d) Al resto de los equipos se les avanza una celda, es decir, los de la
columna izquierda pasan a la columna derecha de la misma fila, y los de la
columna derecha pasan a la columna izquierda de la fila de abajo.
En la última jornada de la primera vuelta se aplicará la norma d) para
todos los equipos, por tanto no se aplican la a) y la b), y en lugar de c),
se aplica la e).
e) El equipo que en las jornadas pares ocupa la columna derecha de la
primera fila y en las jornadas impares ocupa la columna izquierda de la
última fila, en la última jornada de la primera vuelta ocupará la columna
derecha de la última fila.

FIN


Jorge Serrano

unread,
Jan 9, 1998, 3:00:00 AM1/9/98
to Chuso

Chuso wrote:

> Según solicitó en su día Elkoko y posteriormente Jorge Serrano, intentaré
> describir el proceso que se realiza para el cálculo de las jornadas de la
> liga de fútbol española.

> [...]
> FIN

Muchas gracias.

Es muy interesante y no lo conocía. :))

Saludos. ;))
--
=======================================================


Jorge Serrano
1997 Madrid (SPAIN-Europe)
mailto:jorg...@redestb.es

FORO EN ESPAÑOL SOBRE VISUAL BASIC


[Spanish Web Site]
MUNDO VISUAL - VISUAL BASIC
http://www.ciudadfutura.com/visualbasic

INTERNET:
http://www.redestb.es/personal/jorgeser/

Gerard Orriols

unread,
Jan 13, 1998, 3:00:00 AM1/13/98
to

Saludos a todos los amigos de la lista.
El otro dia, casi sin quererlo, fui a caer a una pagina muy interesante:
http://www.gsyc.inf.uc3m.es/sobre/novatica
En ella podeis encontrar unos interesantes articulos sobre software LIBRE.
Despues de leerlos, tuve una vision y por fin lo vi todo claro.
Paso a exponeros la idea basica:
Yo siempre habia tenido una vision de lo que queria para mis programas: Un
buen programa unido a un buen sistema de proteccion, de forma que quien
quisiera usarlo tuviera que pagar por ello. Se me habian pasado por la
cabeza opciones como la del Shareware (programas totalmente operativos, pero
dejando claro que si alguien queria usarlo para los fines que fueran, tenia
que registrarse y PAGAR).
Uno de los metodos para ganar dinero programando es hacer programas a medida
de cada cliente y otro es hacer un buen programa comercial y vender muchas
copias.
Una vez hechos los suficientes programas (no tantos), ya tendremos
suficiente trabajo para podernos ganar la vida haciento su mantenimiento
pero siempre me he preguntado ciertas cosas:
¿Una sola persona es capaz de hacer un buen programa (en un tiempo corto)?
¿Una sola persona puede proporcionar el mantenimiento que los clientes se
merecen?
¿Una sola persona puede responder en poco tiempo a nuevas demandas?
¿Y si un buen dia nos hartamos y decidimos ir a trabajar de peones a una
obra?
¿Entonces que?
¿Que pasa con los clientes?
¿Los dejamos colgados?
Solucion clasica: Unirse a otros programadores y/o montar una empresa.
Aquí pasaria a exponeros todas las ventajas y desventajas de hacer este paso
pero lo dejo a vuestra imaginacion y/o experiencia.
Otra solucion: Software LIBRE (bajo licencia GNU).
Es decir:
Cualquier persona que adquiera el programa, tiene el derecho de copiar,
modificar y distribuir libremente el programa (pudiendo cobrar por ello), el
codigo fuente se tiene que distribuir junto con el programa o decir donde se
puede conseguir (sin cobrar nada por ello o como mucho el trabajo de
duplicación). La unica condicion es que el programa (con o sin modificar) se
siga distribuyendo bajo la misma licencia GNU es decir que tambien sea
Software LIBRE.
Muchos diran: Tanto luchar por consegir la "propiedad intelectual" para
esto.....
Supongamos que 10 buenos programadores se unen para hacer un
programa comercial bajo licencia GNU y cada uno esta dispuesto a emplear 10
horas a la semana en el desarroyo del proyecto.
Ventajas que se pueden obtener:
- Colaborando con 10 horas semanales podemos obtener un beneficio "en
especie" equivalente a 90 horas de programacion.
- 10 programadores x 10 horas/semana = 100 horas/semana de trabajo
- Programas muy potentes (competitivos) en poco tiempo.
- Obtencion de multitud de codigo reutilizable.
- Division del trabajo, cada persona se centra en la parte que mas le atrae
o domina.
- Una vez obtenido el programa final, disponemos de un buen programa con la
capacidad de modificarlo a nuestro antojo.
- El que sea gratuito facilita que se distribuya facilmente (si tiene la
suficiente calidad) proporcionando un buen numero de futuros usuarios
potenciales.
- Cualquier persona tiene la capacidad de añadir funcionalidades al programa
(nuevas versiones) colaborando asi en el bien de la comunidad (nosotros
mismos).
¿Desventajas?
- Disponer de suficientes programadores que crean en la idea.
- Hace falta tener una buena organizacion.

Muy bonito pero: ¿Como se puede ganar DINERO?
En el SERVICIO, ofreciendo SOLUCIONES, no programas.
Un ejemplo:
Supongamos que estamos desarroyando un programa Terminal Punto de Venta
bajo licencia GNU.
Se tiene que tratar de un programa que haga sombra a los mejores del
mercado, una vez lo tengamos, "a buscarnos la vida", buscamos clientes
potenciales, los convencemos y les vendemos la aplicacion (mejor dicho, la
solucion), lo que vendemos es toda la puesta en funcionamiento y el soporte
futuro, dado que se trata de un programa abierto (con todo el codigo fuente
disponible), no tenemos que tener ningun problema en hacer las
modificaciones que el cliente desee para adaptarlo a sus necesidades
particulares.
Quizas al final el cliente haya pagado lo mismo que por un programa
comercial pero esta vez quien gana dinero en el proceso no es una empresa de
"quien sabe donde" sino nosotros mismos a traves de nuestros honorarios.
Y a los ojos del cliente:
- Dispone de un muy buen programa hecho a medida.
- La adaptacion final la podemos hacer en poco tiempo (muchos programadores
estaran dispuestos a modificarlo a cambio de remuneraciones economicas).
- Tiene el soporte tecnico asegurado dado que dispone del codigo fuente.
- Si conoce su sector tiene el incentivo de poder amortizarlo compartiendo
con otras empresas interesadas el coste de las modificaciones.
- Si se harta de nosotros nos puede dar una patada y a la calle.
Otra opcion es cobrar por hacer modificaciones "a medida" de programas
conocidos bajo esta licencia.
Algunas empresas podrian argumentar que al ser un programa gratuito (que no
tiene ninguna empresa detras), no esta asegurado el soporte que ellas
necesitan, pero nada nos impide crear una empresa destinada a dar soporte a
este y otros programas, y dado que cualquier persona que adquiera el
programa puede hacer lo mismo, si el mercado es lo suficientemente
interesante, seguro que soporte (empresas) destinadas a mantenerlo no
faltaran.

Y como apunte final:
Quizas despues de todo el que saldra ganando sera solamente el cliente,
porque gastarse unas decenas de miles de pesetas en un programa de
facturacion pudiendo conseguir uno mejor de "solvencia contrastada" sin
pagar ni un duro.
O los mirones que se aprovechen del codigo de otros (sin colaborar a
cambio).
Pero, ¡que demonios!, ¿Acaso ya no nos acordamos de la epoca que
programabamos por placer y no por dinero?
Si estas interesado en colaborar en la idea, deja un mensaje.
---------------------------------
Gerard Orriols
gorr...@jet.es
---------------------------------


Javier Díaz

unread,
Jan 14, 1998, 3:00:00 AM1/14/98
to

Nada mas leer tu mensaje he "saltado" a la página web que indicabas
http://www.gsyc.inf.uc3m.es/sobre/novatica ) sobre el software libre, y he
leido un par de artículos. Aunque conocía algo sobre la libre distribución,
nunca había pensado detenidamente en lo que puede significar.
Como programador, nunca he podido evitar la tentación de ayudar a un
compañero sólo por el placer de sentirme útil; estoy seguro de que sabes a
que me refiero. Así que puedo comprender perfectamente que una persona que
ha dedicado varias horas de trabajo (a veces muchas) a desarrollar una
utilidad, se sienta feliz distribuyéndola libremente, con la esperanza de
que a alquien le pueda ser útil.
La idea no puede ser más interesante. Dedicaría mi tiempo libre a hacer
algo que me gusta. Aprendería de los demás compañeros. En las aplicaciones
que he desarrollado hasta ahora (para diferentes empresas) siempre hay un
analista o jefe de proyecto que me impone la forma en que tengo que hacerla,
generalmente sin aceptar sugerencias (faltaría más). Las fechas de entrega,
el desconocimiento de los SO actuales (la mayoría de los analistas "de
ahora" vienen de COBOL y entornos mainframe), hacen que las aplicaciones
tiendan a ser frágiles (nunca hay tiempo para probar o desarrollar un gestor
de errores en condiciones), poco o nada integradas con el entorno (hablo de
Windows en este caso, aunque supongo que esto sucede en cualquier otro), y
sobre todo incomodas de usar.
Hace poco intenté, en vano, convencer a un analista de que el usuario
prefiere "trabajar con la factura de ayer", y no "moverse al último
registro". O "buscar un albarán", no "consultar la tabla de albaranes".
Pero parece como si el usuario (que al final es el objetivo de cualquier
aplicación) no fuera importante.
Colaborar en un proyecto "libre", realizado con fines en principio no
lucrativos, me permitiría experimentar y compartir todas esas ideas que
generalmente no hay tiempo de probar en un proyecto comercial. Me permitiría
colaborar con otras personas que tienen el mismo objetivo que yo; mejorar
sus habilidades como desarrolladores. Aprenderiamos unos de otros,
compartiriamos las rutinas de software que vamos realizando, sugiriendo
variaciones o mejoras (realizando una crítica constructiva).
Sólo esto ya es una buena razón para colaborar en una idea así. Sólo
habría que decidir QUE se desarrolla (algo que sea útil), COMO (en que
lenguaje y entorno), QUIENES organizarán el proyecto, y por supuesto tomarse
las cosas con calma, puesto como has dicho, hace falta una buena
organización.
Por mi parte, aunque me gustaría discutirlo con más detalle, puedo
ofrecer, pasión por la programación y sobre todo, por si no lo has intuido,
por los interfaces fáciles de usar, por las aplicaciones que hacen que el
usuario no piense en la aplicación, sino en el trabajo que quiere realizar
con ella.

Quedo a la espera de una contestación, Bien a través de este grupo de
noticias, o directamente a mi dirección de e-mail.

Javier Díaz, ja...@arrakis.es

0 new messages