Rappels

On rappelle qu’un dictionnaire ou tableau associatif est un tableau dont les indices (ici nommés clefs) sont des chaînes de caractères et dont les cases ne sont pas limitées à un type unique.

{ "association": "Action d'associer",
  "associer": "Mettre ensemble",
  "dictionnaire": "Ouvrage associant des définitions aux mots",
  "tableau": "Support plat réunissant plusieurs objets ou appareils"
}

Exercices

  1. Proposer un script demandant à l’utilisateur de remplir un tableau associatif dont toutes les cases sont des chaînes de caractères.

  2. Écrire une procédure permettant d’afficher un tableau associatif plat (c’est-à-dire dont les contenus ne sont pas des tableaux) comme celui dans la partie Rappel.

  3. Écrire une procédure permettant d’afficher un tableau associatif dont les contenus peuvent être des tableaux associatifs plats. On pourra utiliser la fonction définie au dessus et la fonction type qui à une expression associe son type (et répond dict pour les dictionnaires).

  4. Quelle structure de données permettrait de modéliser les modules présents dans le cursus du DUT Réseaux et Télécoms. On veut par exemple à partir du code du module ("r107") connaître le nom complet du module ("Bases de la programmation"), le numéro de semestre (1) et le ou les thèmes auxquels se rattache le module (“Informatique”`). Compléter deux modules dans cette structure.

  5. On stocke le classement d’un championnat sportif dans un dictionnaire de la forme suivante :

     { "league": "D1 Futsal",
       "year": "2023-2024",
       "ranking": [{"rank": 1, "team": "Etoile Lavalloise FC", "points": 43},
                   {"rank": 2, "team": "UJS Toulouse", "points": 26},
                   {"rank": 3, "team": "Paris Acasa Futsal", "points": 26},
                   {"rank": 4, "team": "Toulon Elite Futsal", "points": 24},
                   {"rank": 5, "team": "Kremlin Bicetre F.", "points": 24},
                   {"rank": 6, "team": "FC Kingersheim", "points": 24},
                   {"rank": 7, "team": "Nantes Metropole F.", "points": 20},
                   {"rank": 8, "team": "Sporting Club Paris", "points": 18},
                   {"rank": 9, "team": "Goal Futsal Club", "points": 16},
                   {"rank": 10, "team": "Herouville Futsal", "points": 14},
                   {"rank": 11, "team": "Futsal C. Bethunois", "points": 10},
                   {"rank": 12, "team": "AC Ajaccio", "points": 7}
                  ]
     }
    1. Écrire une fonction prenant un tableau de cette forme comme argument et renvoyant le classement du FC Kingersheim.
    2. Écrire une fonction prenant un tableau de cette forme comme argument et renvoyant le nom et le nombre de points de l’équipe classée première
    3. Écrire une procédure prenant un tableau de cette forme et un nombre de points et affichant les noms des équipes ayant plus de points que l’entrée.
    4. Écrire une fonction prenant un tableau de cette forme comme argument et renvoyant un tableau contenant les noms des équipes dans l’ordre de leur classement.