🌋 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

  • Travaille dans le lien Colab remis par la professeure pour ce devoir (un lien différent pour chaque projet).
    N'utilise pas une copie au hasard.
  • Ce calepin se construit étape par étape : ne cherche pas à tout écrire d'un coup.
    Fais une cellule, exécute-la, vérifie le résultat, puis passe à la suivante.
  • Affiche temporairement tes valeurs intermédiaire.
  • Avance par petits morceaux qui fonctionnent : c'est la méthode du raffinement graduel vue en classe.
🤖 Utilisation de l'intelligence artificielle

L'IA (ChatGPT, Claude, Gemini, etc.) est permise pour :
  • te faire expliquer une notion ou un message d'erreur ;
  • regarder des exemples de code similaires pour comprendre une technique.
Mais la solution doit être travaillée étape par étape, par toi : tu dois comprendre et pouvoir expliquer chaque ligne de ton code.
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 :

  1. Partir de la liste de mesures fournie ci-dessous.
  2. Compter les mesures (le décompte).
  3. Calculer la moyenne.
  4. Calculer l'étalement (l'écart-type, c'est-à-dire la dispersion des mesures).
  5. Détecter la valeur aberrante (écart à la moyenne plus grand que le seuil).
  6. 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 besoin

len() 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¶

In [ ]:
# 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.
In [ ]:
# É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.
In [ ]:
# É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 :
  1. pour chaque mesure, calcule son écart à la moyenne, puis mets-le au carré ;
  2. fais la moyenne de ces carrés ;
  3. prends la racine carrée du résultat avec la fonction math.sqrt.
Range le résultat dans ecartType (n'oublie pas import math).
In [ ]:
# É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.
In [ ]:
# É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 :

========================================
🌋 RAPPORT DES MESURES - VOLCAN 🌋
========================================

📊 Nombre de mesures : 12
🌡️ Moyenne : 430.8 °C
📐 Étalement (écart-type) : 54.9 °C
⚠️ Valeur aberrante : 612.7 °C <-- suspecte !

========================================
✅ Analyse terminée. Bravo !
========================================

Voilà le rapport exact que ton programme doit afficher pour Maya.

In [ ]:
# É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.
In [ ]:
# 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.
  • À quoi sert ton programme (1-2 phrases)
  • Les ENTRÉES : quelles données le programme reçoit-il (liste, fichier, valeurs) ?
  • Les TRAITEMENTS : quels calculs et transformations fait-il (les étapes de calcul) ?
  • Les SORTIES, avec un exemple : l'affichage à l'écran, et les données enregistrées dans un fichier s'il y a lieu
  • Comment tu sais que ton résultat est correct
Ton fichier readme : le gabarit README.md, dans le dossier du projet.