# C4-S02 — Logique booléenne

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="C4-S02"
  title="Logique booléenne : Opérateurs ET, OU, NON et conditions composées"
  cycle="4"
  levels="5e, 4e, 3e"
  duration="55 minutes"
  tool="Scratch"
  grouping="Binômes"
  expressPrep={{
    objective: "Composer des conditions complexes avec les opérateurs booléens ET, OU, NON.",
    material: "Fiche tables de vérité + projet de contrôle physique.",
    trap: "Confondre [A et B] et [A ou B] lors d'une détection de limites d'écran.",
    timing: "15' Tables de vérité • 25' Conditions composées • 15' Défi",
  }}
  pdfUrl="/downloads/c4-s02-fiche-logique-booleenne-v1.pdf"
/>

<LearningObjectives
  objectives={[
    "Comprendre et utiliser les connecteurs logiques de la palette verte : `<... et ...>`, `<... ou ...>`, `<non ...>`.",
    "Construire et interpréter une table de vérité élémentaire.",
    "Écrire des conditions composées pour gérer des règles de jeu complexes (ex : avoir la clé ET être devant la porte).",
  ]}
/>

---

## 🎒 Matériel & Préparation

- Fiche d'exercices sur les tables de vérité et les prédicats logiques.

---

## ⏱️ Les 3 opérateurs logiques dans Scratch

| Opérateur            | Bloc Scratch   | Règle de vérité                              | Exemple                              |
| -------------------- | -------------- | -------------------------------------------- | ------------------------------------ |
| **ET (Conjonction)** | `<(A) et (B)>` | VRAI si **les deux** conditions sont vraies  | `<touche la porte ?> et <cle = 1>`   |
| **OU (Disjonction)** | `<(A) ou (B)>` | VRAI si **au moins une** condition est vraie | `<score > 100> ou <bonus_actif = 1>` |
| **NON (Négation)**   | `<non (A)>`    | Inverse la valeur (VRAI devient FAUX)        | `<non <touche le bord ?>>`           |

---

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

### 1. Situation concrète : Le passage du pont-levis (15 min)

Pour entrer dans le château : Le joueur doit avoir l'épée **ET** le dragon doit être endormi.  
Si une seule des deux conditions manque, le pont reste fermé.

### 2. Atelier d'application (30 min)

<ExerciseCard title="Mission : Le coffre-fort à double sécurité" difficulty="Moyen">
  Le coffre s'ouvre si : - Le joueur possède la clé dorée **ET** (le code saisi est `1234` **OU** le
  joueur est un administrateur). Programmer le script d'ouverture avec des opérateurs imbriqués.
</ExerciseCard>

<Correction title="Architecture de la condition composée">

```text
[quand ce lutin est cliqué]
si <<(possede_cle) = [oui]> et <<(code_saisi) = [1234]> ou <(role) = [admin]>>> alors
    jouer le son [Chest Open v]
    basculer sur le costume [ouvert v]
    dire [Coffre ouvert !] pendant 2 secondes
sinon
    jouer le son [Access Denied v]
    dire [Accès refusé ! Vérifiez la clé et le code.] pendant 2 secondes
```

</Correction>

### 3. Les lois de De Morgan en informatique (10 min)

Observation : Dire `non (A ou B)` équivaut logiquement à `(non A) et (non B)`.

<TeacherTip title="Lien direct Mathématiques 4e/3e">
  Travaillez la rigueur de formulation des propositions mathématiques et la démonstration par
  l'absurde.
</TeacherTip>

---

## 📊 Grille d'évaluation

<AssessmentGrid
  criteria={[
    {
      label: "Emboîte correctement les opérateurs logiques",
      withHelp: "Mélange les opérateurs `et` et `ou`",
      autonomous: "Construit des conditions composées à 2 ou 3 niveaux",
      transfer: "Simplifie une condition complexe avec l'opérateur `non`",
    },
    {
      label: "Interprète une table de vérité",
      withHelp: "Hésite sur le cas faux du connecteur `ou`",
      autonomous: "Détermine la valeur de sortie pour tous les cas de figure",
      transfer: "Conçoit un système de validation de mot de passe à critères multiples",
    },
  ]}
/>

---

## 📥 Téléchargements

<DownloadCard
  title="Fiche logique booléenne et tables de vérité (C4-S02)"
  filename="c4-s02-fiche-logique-booleenne-v1.pdf"
  format="pdf"
  size="1.2 KB"
  version="1.0"
  license="CC-BY-SA 4.0"
  href="/downloads/c4-s02-fiche-logique-booleenne-v1.pdf"
/>


<LessonNavigation
  prevUrl="/cycle-4/c4-s01-diagnostic-et-consolidation"
  prevId="C4-S01"
  prevTitle="Diagnostic et consolidation"
  nextUrl="/cycle-4/c4-s03-etats-dun-programme"
  nextId="C4-S03"
  nextTitle="États d'un programme"
  cycleUrl="/cycle-4"
  cycleTitle="Vue d'ensemble du Cycle 4"
/>
