Usuario:Amaca/proyecto

Proyecto Copa Mustang Fútbol colombiano.

editar

Presentació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

editar

La 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)

Tabla de equipos
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

editar

Un 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

editar

Para la instalación de DrPython en windows usted necesita tener:

  1. Python 2.3.0 o mayor
  2. 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

editar

El 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

editar

Como 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

editar

El 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

editar

Para más información sobre diagramas de flujo visita


¿Qué es?

editar

Un 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

editar

Hay 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
editar

Es 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
editar

Es 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
editar

Los 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
editar

Permite facilitar su empleo.


De destino
editar

Permite la correcta identificación de actividades.


De comprensión e interpretación
editar

Permite simplificar su comprensión.


De interacción
editar

Permite el acercamiento y coordinación.


De simbología
editar

Disminuye la complejidad y accesibilidad.


De diagramación
editar

Se elabora con rapidez y no requiere de recursos sofisticados.