# C2-S05 — Répétition

import { AssessmentGrid } from "../../src/components/AssessmentGrid";
import { Correction } from "../../src/components/Correction";
import { DownloadCard } from "../../src/components/DownloadCard";
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="C2-S05"
  title="Répétition : Simplifier un programme"
  cycle="2"
  levels="CP, CE1, CE2"
  duration="45 minutes"
  tool="ScratchJr / Scratch"
  grouping="Binômes"
  expressPrep={{
    objective: "Factoriser un script long en utilisant le bloc [répéter 4 fois].",
    material: "Exemples avant/après boucle (tracé de carré, danse).",
    trap: "Mettre le bloc de départ ou d'initialisation à l'intérieur de la boucle.",
    timing: "10' Problème du code long • 25' Simplification • 10' Défi",
  }}
  studentUrl="/activites/cycle-2/c2-a03-cree-une-danse"
  studentId="C2-A03"
  pdfUrl="/downloads/c2-s05-fiche-simplifier-repetition-v1.pdf"
/>

<LearningObjectives
  objectives={[
    "Identifier un motif d'instructions dupliqué dans un long programme.",
    "Remplacer une suite redondante par un bloc de boucle `répéter N fois`.",
    "Comparer deux programmes produisant le même résultat pour évaluer leur lisibilité et concision.",
  ]}
/>

---

## 🎒 Matériel & Préparation

- Fiche d'activité comparative : Programme A (16 blocs) vs Programme B (4 blocs).

---

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

### 1. Le défi de la longue liste (10 min)

L'enseignant projette un script interminable : `[Avancer] [Sauter] [Avancer] [Sauter] [Avancer] [Sauter] [Avancer] [Sauter]...`  
Question : _« Comment écrire ce même comportement sans fatiguer le programmeur ? »_

### 2. Atelier d'optimisation (25 min)

<ExerciseCard title="Mission : Réduire le programme par 4" difficulty="Moyen">
  Prendre un programme de marche en escalier de 12 blocs et le réécrire en utilisant le bloc orange
  `répéter`.
</ExerciseCard>

<Correction title="Comparaison avant / après optimisation">

**Programme lourd (12 blocs) :**
`[Monter] [Avancer] [Monter] [Avancer] [Monter] [Avancer] [Monter] [Avancer] [Monter] [Avancer] [Monter] [Avancer]`

**Programme optimisé (4 blocs) :**

```text
[Quand drapeau cliqué]
[Répéter 6 fois] :
    [Monter de 20 pas / Changer y de 20]
    [Avancer de 20 pas / Changer x de 20]
```

</Correction>

### 3. Institutionnalisation (10 min)

La boucle permet de rendre un programme plus court, plus clair et beaucoup plus facile à modifier (ex: changer la hauteur d'une marche en un seul endroit).

<TeacherTip title="Lien avec les Mathématiques">
  Faites le parallèle avec la multiplication en CE1/CE2 : 3 + 3 + 3 + 3 = 4 x 3. De la même manière,
  répéter 4 fois une instruction remplace l'addition de blocs identiques.
</TeacherTip>

---

## 📊 Grille d'évaluation

<AssessmentGrid
  criteria={[
    {
      label: "Identifie le motif élémentaire à répéter",
      withHelp: "Repère les blocs identiques avec guidage",
      autonomous: "Isole la séquence exacte formant le motif",
      transfer: "Calcule le nombre exact d'itérations nécessaires",
    },
    {
      label: "Utilise correctement la structure de boucle",
      withHelp: "Place la boucle mais oublie d'y insérer les blocs",
      autonomous: "Encapsule le motif à l'intérieur du bloc répéter",
      transfer: "Modifie le paramètre numérique pour ajuster la distance",
    },
  ]}
/>

---

## 📥 Téléchargements

<DownloadCard
  title="Fiche méthode : Simplifier une répétition (C2-S05)"
  filename="c2-s05-fiche-simplifier-repetition-v1.pdf"
  format="pdf"
  size="1.2 KB"
  version="1.0"
  license="CC-BY-SA 4.0"
  href="/downloads/c2-s05-fiche-simplifier-repetition-v1.pdf"
/>


<LessonNavigation
  prevUrl="/cycle-2/c2-s04-costumes-parole-et-sons"
  prevId="C2-S04"
  prevTitle="Costumes, parole et sons"
  nextUrl="/cycle-2/c2-s06-messages-et-synchronisation"
  nextId="C2-S06"
  nextTitle="Messages et synchronisation"
  cycleUrl="/cycle-2"
  cycleTitle="Vue d'ensemble du Cycle 2"
/>
