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]etx[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) avect.
Étape 4 — Visualisation ASCII
Implémentez histogramme(tab_trie) qui affiche un histogramme horizontal des températures.
É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