| 🌋 Projet 1 - Les mesures du volcan Devoir · Semaine 1 - Les bases de la programmation · Mission : Volcan |
| 📓 Carnet de terrain - Dre Maya de la Boucle Géophysicienne · Spécialisée en volcanologie Jour 3 de la mission. Le sol est chaud sous mes bottes. J'ai pris dix mesures de la température d'une coulée de lave refroidie, mais une valeur me paraît bizarre : mon thermomètre a peut-être glissé sur une fumerolle. J'ai besoin d'un programme qui résume mes mesures et qui repère automatiquement la valeur suspecte. Peux-tu m'aider ? - Maya |
| 🌋 Ta mission |
Tu vas écrire un programme qui résume une série de mesures de terrain et qui détecte la valeur aberrante (celle qui s'écarte trop de la moyenne). C'est exactement ce que font les scientifiques avant d'interpréter leurs données : nettoyer et résumer.
🧭 Comment travailler ce devoir
|
| 🤖 Utilisation de l'intelligence artificielle L'IA (ChatGPT, Claude, Gemini, etc.) est permise pour :
Copier-coller une solution complète sans la comprendre n'est pas accepté et se verra en évaluation. |
| 🎯 Le travail demandé |
En utilisant uniquement les notions de la semaine 1 (variables, conditions, boucles, listes), et les fonctions déjà fournies par Python comme len, min, max :
- Partir de la liste de mesures fournie ci-dessous.
- Compter les mesures (le décompte).
- Calculer la moyenne.
- Calculer l'étalement (l'écart-type, c'est-à-dire la dispersion des mesures).
- Détecter la valeur aberrante (écart à la moyenne plus grand que le seuil).
- Afficher un rapport clair et lisible pour Maya.
Chaque étape est présentée dans un encadré coloré ci-dessous : lis-le, puis complète la cellule de code juste en dessous. Avance par petits morceaux qui fonctionnent, et vérifie tes résultats à la main quand c'est possible. Pas besoin d'écrire des fonctions : on utilise seulement des variables, des boucles et des listes.
| ⚠️ Addenda - Quelles fonctions as-tu le droit d'utiliser ? |
✅ Permises - les outils dont tu as besoinlen() pour compter les mesures · math.sqrt() pour la racine carree (l'ecart-type) · round() pour arrondir l'affichage · print() pour afficher.min() et max() restent permises pour l'etendue. |
| ⛔ Interdites - elles feraient le travail a ta place Toute fonction qui calcule la moyenne ou l'ecart-type directement, parce que ces calculs-la sont a faire avec ta propre boucle. Par exemple : statistics.mean(), statistics.stdev(), statistics.pstdev(), numpy.mean(), numpy.std() - et sum() pour additionner toute la liste d'un coup.La regle simple : si une fonction te donne le resultat sans que tu ecrives la boucle, elle est interdite ici. |
📂 Les données de Maya¶
# Temperatures mesurees sur la coulee (en degres Celsius)
mesures = [412.1, 415.9, 413.4, 416.2, 412.8, 414.5, 413.0, 416.8, 412.5, 415.1, 414.0, 612.7]
seuilAberrance = 20.0 # ecart maximal tolere par rapport a la moyenne
| 🧪 À toi de jouer |
Complète chaque cellule de code sous l'encadré qui l'explique, dans l'ordre. Documente chaque étape avec un court commentaire qui dit ce qu'elle fait.
| ✍️ Explique ta démarche (obligatoire) En tes propres mots (3 à 5 phrases), explique ce que fait ton programme : à quoi sert chaque étape, pourquoi tu as choisi cette approche, et comment tu sais que ton résultat est correct. Cette explication fait partie de la note. Elle montre que tu comprends ton propre code. |
Écris ta réponse ici :
...
| 🔢 Étape 1 - Le décompte Combien de mesures Maya a-t-elle prises ? Compte les éléments de la liste mesures et range le résultat dans nombreMesures.Indice : la fonction len() donne le nombre d'éléments. |
# Étape 1 - Le décompte
# Compte combien il y a de mesures dans la liste
| ➗ Étape 2 - La moyenne Additionne toutes les mesures, puis divise par le nombre de mesures. Range le résultat dans moyenne. Tu peux additionner avec une boucle qui accumule. |
# Étape 2 - La moyenne
# Additionne toutes les mesures
# Divise la somme par le nombre de mesures
| 📐 Étape 3 - L'étalement (écart-type) L'étalement (aussi appelé écart-type) mesure à quel point les mesures s'éloignent de la moyenne :
import math). |
# Étape 3 - L'étalement (écart-type)
import math
# 1) Pour chaque mesure, calcule son écart à la moyenne, élevé au carré
# 2) Additionne tous ces carrés
# 3) Divise la somme par le nombre de mesures
# 4) Prends la racine carrée du résultat
| ⚠️ Étape 4 - La valeur aberrante Une mesure est aberrante si son écart à la moyenne dépasse le seuil seuilAberrance (20 °C).Parcours les mesures avec une boucle et repère celle qui dépasse ce seuil. |
# Étape 4 - La valeur aberrante
# Parcours les mesures une par une
# Repère celle qui s'éloigne de la moyenne de plus que le seuil
| 🖥️ Étape 5 - Le rapport pour Maya Affiche un rapport clair et lisible pour Maya : nombre de mesures, moyenne, étalement, et la valeur aberrante détectée. Soigne la présentation (titres, unités, alignement). Vérifie une dernière fois à la main : la valeur 612.7 devrait ressortir comme aberrante. |
🖥️ Voici la sortie attendue :
======================================== |
Voilà le rapport exact que ton programme doit afficher pour Maya.
# Étape 5 - Le rapport pour Maya
# Affiche l'entête
# Affiche les étiquettes et données
# Affiche la conclusion
| 🏆 Bonus (facultatif) - +10 points |
| 🟩 Détection automatique avec l'étalement Quand tu as fini l'exercice de base, essaie ceci en plus. Au lieu du seuil fixe, détecte les valeurs aberrantes automatiquement : une mesure est aberrante si son écart à la moyenne dépasse 2 × l'étalement (écart-type). C'est le vrai critère statistique des scientifiques. Réutilise l'étalement que tu as calculé à l'étape 3. |
# Bonus - Détection automatique avec l'étalement
# Parcours les mesures
# Repère celle qui s'éloigne trop de la moyenne, selon l'étalement
| 📔 Carnet de bord (ton README) Décris ton programme en répondant aux questions ci-dessous, directement dans ton fichier readme. C'est ton README : il fait partie de la remise.
README.md, dans le dossier du projet. |