# C4-S09 — Simulation et aléatoire

import { AssessmentGrid } from "../../src/components/AssessmentGrid";
import { Correction } from "../../src/components/Correction";
import { ExerciseCard } from "../../src/components/ExerciseCard";
import { LearningObjectives } from "../../src/components/LearningObjectives";
import { LessonHeader } from "../../src/components/LessonHeader";
import { LessonNavigation } from "../../src/components/LessonNavigation";
import { TeacherTip } from "../../src/components/TeacherTip";

<LessonHeader
  id="C4-S09"
  title="Modélisation et simulation : Expérimenter sur un système complexe"
  cycle="4"
  levels="5e, 4e, 3e"
  duration="55 minutes"
  tool="Scratch"
  grouping="Binômes"
  expressPrep={{
    objective: "Modéliser un phénomène scientifique (propagation épidémique ou écosystème proie-prédateur).",
    material: "Projet de simulation avec 40 individus autonomes.",
    trap: "Interpréter les résultats d'un tirage unique sans répéter l'expérience.",
    timing: "15' Modèle scientifique • 25' Simulation & Paramètres • 15' Esprit critique",
  }}
  studentUrl="/activites/cycle-4/c4-a05-construis-une-simulation"
  studentId="C4-A05"
/>

<LearningObjectives
  objectives={[
    "Définir les règles mathématiques et logiques simples d'un modèle (proies/prédateurs, propagation d'épidémie).",
    "Lancer des séries d'expériences simulées par ordinateur avec des paramètres initiaux variables.",
    "Analyser les résultats statistiques et discuter avec esprit critique les simplifications du modèle.",
  ]}
/>

---

## 🎒 Matériel & Préparation

- Modèle de simulation SVT / Mathématiques (ex : propagation d'un virus au sein d'une population de 50 individus).

---

## ⏱️ Déroulé de la séance

### 1. Qu'est-ce qu'une simulation informatique ? (10 min)

En météo, en médecine ou en écologie, on ne peut pas tester en réel toutes les hypothèses. On crée un programme informatique simplifié : un **modèle**.

### 2. Atelier pratique : La simulation de contagion (30 min)

<ExerciseCard title="Mission : Le modèle épidémiologique" difficulty="Défi">
  - 40 clones de personnes se déplacent aléatoirement dans une zone fermée. - 1 clone est
  initialement infecté (Costume rouge). - Quand un clone sain (Costume vert) touche un clone infecté
  : il a 50% de chance d'être contaminé à son tour. - Observer en combien de secondes toute la
  population est touchée selon la vitesse de déplacement.
</ExerciseCard>

<Correction title="Architecture du modèle de contagion">

```text
// Script d'un individu (Clone)
[quand je commence comme un clone]
aller à x: (nombre aléatoire entre -180 et 180) y: (nombre aléatoire entre -120 et 120)
s'orienter à (nombre aléatoire entre 0 et 360)
montrer

répéter indéfiniment
    avancer de (vitesse_deplacement) pas
    si sur le bord, rebondir

    // Test de transmission
    si <(etat_sante) = [sain]> alors
        si <touche la [couleur rouge (infecté) v] ?> alors
            si <(nombre aléatoire entre 1 et 100) < 51> alors
                mettre [etat_sante v] à [infecté]
                basculer sur le costume [rouge v]
                ajouter (1) à [Total_Infectes v]
```

</Correction>

### 3. Esprit critique : Les limites du modèle (15 min)

Débat : Pourquoi cette simulation ne reproduit-elle pas exactement la réalité ?  
_(Hypothèses simplifiées : pas d'immunité, pas de masque, espace fermé sans relief, contacts parfaits)._

<TeacherTip title="Interdisciplinarité SVT & Physique-Chimie">
  Projet idéal pour illustrer le programme de SVT de 3e (système immunitaire et santé) ou la théorie
  cinétique des gaz en Physique-Chimie.
</TeacherTip>

---

## 📊 Grille d'évaluation

<AssessmentGrid
  criteria={[
    {
      label: "Implémente les règles d'interaction du modèle",
      withHelp: "N'intègre pas la probabilité de transmission",
      autonomous: "Modélise le contact et le changement d'état probabiliste",
      transfer: "Ajoute un temps de guérison automatique au bout de 10 secondes",
    },
    {
      label: "Analyse les résultats avec esprit critique",
      withHelp: "Prend la simulation pour une vérité absolue",
      autonomous: "Identifie au moins 2 facteurs absents du modèle",
      transfer: "Fait varier les paramètres initiaux pour trouver un seuil d'endiguement",
    },
  ]}
/>


<LessonNavigation
  prevUrl="/cycle-4/c4-s08-clones"
  prevId="C4-S08"
  prevTitle="Clones"
  nextUrl="/cycle-4/c4-s10-tests"
  nextId="C4-S10"
  nextTitle="Plan de tests"
  cycleUrl="/cycle-4"
  cycleTitle="Vue d'ensemble du Cycle 4"
/>
