Usuario:Amaca/proyecto
Proyecto Copa Mustang Fútbol colombiano.
editarPresentación
Somos Sergio Daniel Fernández y Andrés Mauricio Arango, estudiantes de Informática Matemática de la Pontificia Universidad Javeriana de Colombia en Bogotá, estamos haciendo un proyecto que consiste en crear un software que nos permita hacer de manera automatica la tabla de posiciones de la copa Mustang según los resultados que se presenten cada fecha. Cada uno de nosotros tiene un blog o diario de campo donde escribimos lo que tenemos pensado para hacer en el proyecto:Blog de Andrés Blog de Sergio
Los items que queremos que calcule el software son:
Partidos jugados, partidos ganados, partidos perdidos, partidos empatados, puntos(cada partido ganado significan 3 puntos mas, cada partido empatado suma un punto y cada partido perdido no suma puntos), goles a favor(goles que ha anotado el equipo), goles en contra(goles que ha recibido el arco defendido por cada equipo), total de goles(la suma entre goles a favor y goles en contra teniendo en cuenta que los goles en contra tienen valor negativo), tarjetas rojas y amarillas(cada tarjeta es una sanción disciplinaria que el árbitro hace al jugador cuando ha cometido faltas contra otro jugador o cuando su comportamiento es indebido).
Desarrollo
Tabla de resultados
editarLa tabla de resultados que queremos se muestre como salida después de haber obtenido los datos es la siguiente: (éste sólo es un ejemplo, y obviamente se le podrán agregar más equipos) (PJ: Partidos Jugados, PG: Partidos Ganados, PP: Partidos Perdidos, PE: Partidos Empatados)
Equipos | PJ | PG | PP | PE | Puntos |
---|---|---|---|---|---|
Nacional | 3 | 2 | 0 | 1 | 7 |
Medellín | 3 | 2 | 1 | 0 | 6 |
América | 3 | 1 | 1 | 1 | 4 |
Para poder realizar el proyecto, debemos saber el calendario y el sistema del campeonato; los podemos encontrar en la Página de la Asociación de clubes del fútbol colombiano
Para referencia acerca de cómo usar python, hay una páguna muy buena, una página que contiene varios manuales en español e inglés: [[1]], esperamos que sea de gran ayuda para ustedes.
Ejemplo de bucles y sentencias
editarUn ejemplo sencillo de cómo manejar los bucles y sentencias, que después serán de gran ayuda para manejar resultados es el siguiente:
while a<10: print a a=a+3
El proyecto será llevado a cabo desde Python.
La página de descarga de DrPython es: http://drpython.sourceforge.net/, allí se encuentra lo relacionado con DrPython, como soporte técnico y descargas entre otras.
La página sobre wxPython es: http://www.wxpython.org/, en donde se puede encontrar todo lo referente a wxPython.
Instalación de DrPython
editarPara la instalación de DrPython en windows usted necesita tener:
- Python 2.3.0 o mayor
- WxPython 2.5.2.7 o mayor
Paso 1) Instalar Python, y wxPython.
Paso 2) Descargue el archivo .zip de DPython, y descomprimalo en la ruta que especifica DrPython.
Paso 3) Busque el archivo drpython.pyw en la ruta donde descomprimió el archivo .zip y haga doble click en él.
Producto Cartesiano
editarEl campeonato Copa Mustang del fútbol profesional colombiano, es semestral y tiene dos fases: la pimera es una ronda "todos contra todos" de ida, es decir cada equipo juega sólamente una vez contra los demás equipos inscritos en el campeonato; la segunda ronda consta de dos cuadrangulares que se arman con los 8 primeros equipos en la tabla (quienes tengan mayor número de puntos al terminarse la primera fase) la final es jugada por el gandor de cada cuadrangular en un partido de ida y vuelta(dos partidos; uno en el estadio de cada equipo).
Para poder hacer esto, utilizamos un producto cartesiano: Primero, hacemos una lista con los nombres de todos los equipos:
equipos = ['Nacional', 'Medellin'...]
Luego, hacemos que estos los equipos jueguen todos contra todos:
enfrentamientos_posibles = [(i,j) for i in equipos for j in equipos] print enfrentamientos_posibles
Ahí muestra cada equipo jugar contra los demás.
Eliminación de parejas repetidas
editarComo siguiente paso eliminamos las parejas que contienen el mismo elemento, es decir, las de la forma (i, i); esto lo logramos ejecutando el siguiente código:
for i in range(len(enfrentamientos_posibles)-len(equipos)-1): print i if enfrentamientos_posibles[i][0] == enfrentamientos_posibles[i][1]: del enfrentamientos_posibles[i] print enfrentamientos_posibles
Eliminación de parejas permutadas
editarEl código para eliminar parejas permutadas, es decir, las de la forma (i,j)-(j,i), es el siguiente:
for i in range(len(enfrentamientos_posibles)-2): for j in range(len(enfrentamientos_posibles)-1): if i < j or i > j: if enfrentamientos_posibles[i][0] == enfrentamientos_posibles[j][1] and enfrentamientos_posibles[i][1] == enfrentamientos_posibles[j][0]: del enfrentamientos_posibles[j] print enfrentamientos_posibles
- El -2 que aparece en la primera línea del anterior código cambia de valor según el número de equipos:
Relación Nº d equipos - Nº Restado
3 --> -2 4 --> -5 5 --> -9 6 --> -14 7 --> -20 8 --> -27 9 --> -35 10 --> -44 11 --> -54 12 --> -65 13 --> -77 14 --> -90 15 --> -104 16 --> -119 17 --> -135 18 --> -152
Diagrama de flujo
editarPara más información sobre diagramas de flujo visita
- http://es.wikipedia.org/wiki/Diagrama_de_flujo
- http://www.mis-algoritmos.com/ejemplos/diagramas-flujo.html
¿Qué es?
editarUn diagrama de flujo o flujograma, consiste en representar gráficamente hechos, situaciones, movimientos o relaciones de todo tipo, por medio de símbolos y sus principales características son las de definir, analizar, medir, mejorar y controlar; y se basan en la crearividad, reunión de datos, análisis de datos, toma de desición, planeacón y trabajo en equipo.
Características de un Diagrama de Flujo
editarHay muchas formas de clasificar las caractarísticas de los diagramas de flujo y varían según los autores. Aquí citamos algunas de las clasificaciones más importantes.
Primera Clasificación
editar
Sintética
editarEs la capacidad de resumen que hay en él ya que los diagramas extensos dificultan la comprensión y asimilación; y por esta razón dejan de ser prácticos.
Simbolizada
editarEs la utiñización de símbolos que permiten anotaciones excesivas, repetitivas y confusas en la interpretación.
De forma visible a un sistema o un proceso
editarLos diagramas nos permiten observar todos los pasos de un sistema o proceso sin necesidad de leer notas extensas.
Segunda Clasificación
editar- Permitir al analista asegurarse que ha desarrollado todos los aspectos del procedimiento.
- Dar las bases para escribir un informe claro y lógico.
- Es un medio para establecer un enlace con el personal que eventualmente operará el nuevo procedimiento.
Tercera Clasificación
editar
De uso
editarPermite facilitar su empleo.
De destino
editarPermite la correcta identificación de actividades.
De comprensión e interpretación
editarPermite simplificar su comprensión.
De interacción
editarPermite el acercamiento y coordinación.
De simbología
editarDisminuye la complejidad y accesibilidad.
De diagramación
editarSe elabora con rapidez y no requiere de recursos sofisticados.