Aller au contenu

07 — La Météo

Algorithmes : Tri par insertion + Recherche dichotomique Difficulté : Moyen Durée estimée : 1h — 1h15


Contexte

Vous analysez les relevés de température d'un mois complet. Vous voulez les trier, calculer des statistiques, et savoir rapidement si une température précise a été atteinte ce mois-ci.


Étapes

Étape 1 — Trier les températures

Implémentez tri_insertion_temperatures(tab) qui trie la liste de relevés par température croissante.

Chaque relevé est un tuple (jour, temperature). On trie selon la température (le deuxième élément).

Indication : comparez tab[j-1][1] et x[1] (le deuxième élément du tuple).

Étape 2 — Statistiques de base

Implémentez statistiques(tab_trie) qui affiche : - La température minimale et le jour où elle a été relevée - La température maximale et le jour où elle a été relevée - La médiane (la valeur au milieu une fois triée)

Rappel : la médiane d'une liste triée de taille n est à l'indice n // 2.

Étape 3 — Recherche dichotomique

Implémentez temperature_atteinte(tab_trie, t) : retourne True si la température t a été relevée, False sinon.

Attention : les relevés sont triés par température. La dichotomie doit comparer tab[m][1] (la valeur) avec t.

Étape 4 — Visualisation ASCII

Implémentez histogramme(tab_trie) qui affiche un histogramme horizontal des températures.

 5°C | ##
10°C | #####
15°C | ########
...

Étape 5 — Extension (si vous avez le temps)

Ajoutez une fonction qui regroupe les relevés par tranche de 5°C et compte combien de jours tombent dans chaque tranche.


Ce que vous devez rendre

  • Le programme complet avec statistiques et recherche
  • Réponse : pourquoi le tri par insertion est-il particulièrement efficace si les données sont déjà presque triées ?

Dernière mise à jour : 07/07/2026