Salta el contingut

Programació estructurada i modular: Exemple complet

Partint del fitxer csv liga.csv amb els resultats de les jornades de lliga 2015-2016, realitzar un programa que mostri la taula de classificació al final de la lliga, en el qual ha d'aparèixer l'ordre que ha quedat cada equip, els partits guanyats, els empatats i perduts, i per últim els punts aconseguits.

Per realitzar aquest programa hem de construir diverses funcions:

  • LlegirPartits(): Funció que llegeix el fitxer CSV i retorna les dades del mateix en una llista de diccionaris.
  • impClassificacio(lliga):Rep la llista de diccionaris generat a parir de la funció anterior, genera les dades de la classificació i les imprimeix per pantalla.

Aquesta funció utilitza interna les funcions següents:

  • Equips(dades): Funció que rep la llista de diccionaris amb les dades de la lliga i retorna un conjunt amb els equips de la lliga.
  • InfoEquips(dades,equips): Funció que rep la llista de diccionaris amb les dades de la lliga i el conjunt d'equips i retorna una llista de tuplas, a cada tupla es guarda un equip amb els partits guanyats, empatats i perduts i els punts obtinguts.

    Aquesta funció utilitza internament:

    • QuiGana(resultat): Funció que rep un resultat i retorna un 0 si és un empat, un 1 si guanya l'equip de casa i -1 si guanya l'equip visitant.
    • Punts(info): Funció que rep una llista amb els partits guanyats, empatats i perduts i retorna els punts obtinguts.
  • Classificacio(dades): Rep la llista generada amb la funció anterior i l'ordena segons el nombre de punts.