Mini-projets algorithmique, corrigé TP KNN, news, notebooks IA

This commit is contained in:
2026-07-07 10:57:59 +02:00
parent 1647035df2
commit 5a6d602a91
51 changed files with 3614 additions and 33 deletions

View File

@@ -0,0 +1,54 @@
# 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** ?