{
  "chapter": {
    "id": "experimentations",
    "level": "premiere-specialite",
    "theme": "Probabilités et statistiques",
    "title": "Expérimentations et simulation",
    "description": "Simulation d'une variable aléatoire avec Python, échantillons :\nmoyenne d'un échantillon et espérance de la variable, effet de\nla taille de l'échantillon, ordre de grandeur des écarts en\n$\\dfrac{2\\sigma}{\\sqrt{n}}$, lecture et écriture de fonctions\nPython (moyenne, fréquence, répétition d'expériences).",
    "parties": [
      {
        "id": "python",
        "title": "Écrire et lire un programme de simulation"
      },
      {
        "id": "simulation",
        "title": "Simuler une expérience aléatoire"
      },
      {
        "id": "echantillonnage",
        "title": "Échantillonnage et fluctuation"
      },
      {
        "id": "estimation",
        "title": "Estimer et interpréter"
      }
    ],
    "prerequisites": [],
    "references": []
  },
  "questions": [
    {
      "id": "q01",
      "difficulty": 1,
      "skills": [
        "python",
        "simulation"
      ],
      "title": "Simuler un dé en Python",
      "partie": "python",
      "statement": "Quelle instruction Python simule le lancer d'un dé équilibré\nà six faces (après `from random import randint`) ?",
      "options": [
        {
          "text": "`randint(1, 6)`",
          "correct": true,
          "feedback": "Bonne réponse : `randint(a, b)` renvoie un entier au\nhasard entre `a` et `b` **inclus** : ici un entier de $1$\nà $6$, chacun avec la même probabilité."
        },
        {
          "text": "`randint(0, 6)`",
          "correct": false,
          "feedback": "Erreur : cette instruction peut renvoyer $0$, qui n'est\npas une face du dé (sept valeurs au lieu de six)."
        },
        {
          "text": "`randint(1, 5)`",
          "correct": false,
          "feedback": "Erreur : la borne supérieure de `randint` est\n**incluse** : `randint(1, 5)` ne produirait jamais de\n$6$."
        },
        {
          "text": "`6 * randint(0, 1)`",
          "correct": false,
          "feedback": "Erreur : cette expression ne renvoie que $0$ ou $6$ :\nrien à voir avec un dé."
        }
      ],
      "explanation": "`randint(a, b)` : entier uniforme sur $\\{a, \\ldots, b\\}$,\nbornes incluses. Un dé : `randint(1, 6)`. (Autre outil :\n`random()`, réel uniforme dans $[0\\,;\\,1[$.)"
    },
    {
      "id": "q02",
      "difficulty": 2,
      "skills": [
        "python",
        "bernoulli"
      ],
      "title": "Simuler une épreuve de Bernoulli",
      "partie": "python",
      "statement": "Après `from random import random`, quelle expression Python\nvaut `True` avec la probabilité $0{,}3$ (simulation d'un\nsuccès de probabilité $0{,}3$) ?",
      "options": [
        {
          "text": "`random() < 0.3`",
          "correct": true,
          "feedback": "Bonne réponse : `random()` est uniforme sur $[0\\,;\\,1[$ :\nla probabilité qu'il tombe sous $0{,}3$ vaut exactement\n$0{,}3$."
        },
        {
          "text": "`random() > 0.3`",
          "correct": false,
          "feedback": "Erreur de sens : cette condition a pour probabilité\n$1 - 0{,}3 = 0{,}7$ : elle simule l'**échec**."
        },
        {
          "text": "`random() == 0.3`",
          "correct": false,
          "feedback": "Erreur : l'égalité exacte avec un réel tiré au hasard a\nune probabilité (quasi) nulle : ce test ne réussit\npratiquement jamais."
        },
        {
          "text": "`randint(0, 3)`",
          "correct": false,
          "feedback": "Erreur : cette instruction renvoie un entier entre $0$ et\n$3$, pas un booléen de probabilité $0{,}3$."
        }
      ],
      "explanation": "Simulation d'un succès de probabilité $p$ :\n`random() < p`. C'est la brique de base de toutes les\nsimulations de variables aléatoires.",
      "variants": [
        {
          "statement": "Après `from random import random`, quelle expression Python\nvaut `True` avec la probabilité $0{,}3$ (simulation d'un\nsuccès de probabilité $0{,}3$) ?",
          "options": [
            {
              "text": "`random() < 0.3`",
              "correct": true,
              "feedback": "Bonne réponse : `random()` est uniforme sur $[0\\,;\\,1[$ :\nla probabilité qu'il tombe sous $0{,}3$ vaut exactement\n$0{,}3$."
            },
            {
              "text": "`random() > 0.3`",
              "correct": false,
              "feedback": "Erreur de sens : cette condition a pour probabilité\n$1 - 0{,}3 = 0{,}7$ : elle simule l'**échec**."
            },
            {
              "text": "`random() == 0.3`",
              "correct": false,
              "feedback": "Erreur : l'égalité exacte avec un réel tiré au hasard a\nune probabilité (quasi) nulle : ce test ne réussit\npratiquement jamais."
            },
            {
              "text": "`randint(0, 3)`",
              "correct": false,
              "feedback": "Erreur : cette instruction renvoie un entier entre $0$ et\n$3$, pas un booléen de probabilité $0{,}3$."
            }
          ],
          "explanation": "Simulation d'un succès de probabilité $p$ :\n`random() < p`. C'est la brique de base de toutes les\nsimulations de variables aléatoires."
        },
        {
          "statement": "Après `from random import random`, quelle expression Python\nvaut `True` avec la probabilité $0{,}2$ (simulation d'un\nsuccès de probabilité $0{,}2$) ?",
          "options": [
            {
              "text": "`random() < 0.2`",
              "correct": true,
              "feedback": "Bonne réponse : `random()` est uniforme sur $[0\\,;\\,1[$ :\nla probabilité qu'il tombe sous $0{,}2$ vaut exactement\n$0{,}2$."
            },
            {
              "text": "`random() > 0.2`",
              "correct": false,
              "feedback": "Erreur de sens : cette condition a pour probabilité\n$1 - 0{,}2 = 0{,}8$ : elle simule l'**échec**."
            },
            {
              "text": "`random() == 0.2`",
              "correct": false,
              "feedback": "Erreur : l'égalité exacte avec un réel tiré au hasard a\nune probabilité (quasi) nulle : ce test ne réussit\npratiquement jamais."
            },
            {
              "text": "`randint(0, 3)`",
              "correct": false,
              "feedback": "Erreur : cette instruction renvoie un entier entre $0$ et\n$3$, pas un booléen de probabilité $0{,}2$."
            }
          ],
          "explanation": "Simulation d'un succès de probabilité $p$ :\n`random() < p`. C'est la brique de base de toutes les\nsimulations de variables aléatoires."
        },
        {
          "statement": "Après `from random import random`, quelle expression Python\nvaut `True` avec la probabilité $0{,}45$ (simulation d'un\nsuccès de probabilité $0{,}45$) ?",
          "options": [
            {
              "text": "`random() < 0.45`",
              "correct": true,
              "feedback": "Bonne réponse : `random()` est uniforme sur $[0\\,;\\,1[$ :\nla probabilité qu'il tombe sous $0{,}45$ vaut exactement\n$0{,}45$."
            },
            {
              "text": "`random() > 0.45`",
              "correct": false,
              "feedback": "Erreur de sens : cette condition a pour probabilité\n$1 - 0{,}45 = 0{,}55$ : elle simule l'**échec**."
            },
            {
              "text": "`random() == 0.45`",
              "correct": false,
              "feedback": "Erreur : l'égalité exacte avec un réel tiré au hasard a\nune probabilité (quasi) nulle : ce test ne réussit\npratiquement jamais."
            },
            {
              "text": "`randint(0, 3)`",
              "correct": false,
              "feedback": "Erreur : cette instruction renvoie un entier entre $0$ et\n$3$, pas un booléen de probabilité $0{,}45$."
            }
          ],
          "explanation": "Simulation d'un succès de probabilité $p$ :\n`random() < p`. C'est la brique de base de toutes les\nsimulations de variables aléatoires."
        },
        {
          "statement": "Après `from random import random`, quelle expression Python\nvaut `True` avec la probabilité $0{,}7$ (simulation d'un\nsuccès de probabilité $0{,}7$) ?",
          "options": [
            {
              "text": "`random() < 0.7`",
              "correct": true,
              "feedback": "Bonne réponse : `random()` est uniforme sur $[0\\,;\\,1[$ :\nla probabilité qu'il tombe sous $0{,}7$ vaut exactement\n$0{,}7$."
            },
            {
              "text": "`random() > 0.7`",
              "correct": false,
              "feedback": "Erreur de sens : cette condition a pour probabilité\n$1 - 0{,}7 = 0{,}3$ : elle simule l'**échec**."
            },
            {
              "text": "`random() == 0.7`",
              "correct": false,
              "feedback": "Erreur : l'égalité exacte avec un réel tiré au hasard a\nune probabilité (quasi) nulle : ce test ne réussit\npratiquement jamais."
            },
            {
              "text": "`randint(0, 3)`",
              "correct": false,
              "feedback": "Erreur : cette instruction renvoie un entier entre $0$ et\n$3$, pas un booléen de probabilité $0{,}7$."
            }
          ],
          "explanation": "Simulation d'un succès de probabilité $p$ :\n`random() < p`. C'est la brique de base de toutes les\nsimulations de variables aléatoires."
        }
      ]
    },
    {
      "id": "q03",
      "difficulty": 2,
      "skills": [
        "echantillon",
        "distinction"
      ],
      "title": "Moyenne d'échantillon et espérance",
      "partie": "echantillonnage",
      "statement": "On simule un échantillon de taille $n$ d'une variable\naléatoire $X$ et on calcule la moyenne $m$ des valeurs\nobtenues. Quelle affirmation est correcte ?",
      "options": [
        {
          "text": "$m$ est aléatoire, $E(X)$ est un nombre fixe",
          "correct": true,
          "feedback": "Bonne réponse : la moyenne observée varie d'un\néchantillon à l'autre (chaque simulation en donne une\ndifférente), alors que l'espérance est une constante\nthéorique du modèle, dont $m$ s'approche."
        },
        {
          "text": "$m = E(X)$ exactement, dès que $n \\geq 30$",
          "correct": false,
          "feedback": "Erreur : aucune taille finie ne garantit l'égalité\nexacte : $m$ fluctue autour de $E(X)$, de moins en moins\nquand $n$ grandit."
        },
        {
          "text": "$E(X)$ change à chaque nouvelle simulation",
          "correct": false,
          "feedback": "Erreur : l'espérance est calculée sur la **loi** (les\nprobabilités du modèle), pas sur les données simulées :\nelle ne bouge pas."
        },
        {
          "text": "$m$ et $E(X)$ n'ont aucun lien entre eux",
          "correct": false,
          "feedback": "Erreur : tout le chapitre repose sur leur lien : $m$\n**estime** $E(X)$, d'autant mieux que l'échantillon est\ngrand."
        }
      ],
      "explanation": "Distinction clé du programme : moyenne d'échantillon\n(aléatoire, observée) contre espérance (fixe, théorique). La\nsimulation fait percevoir la convergence de l'une vers\nl'autre."
    },
    {
      "id": "q04",
      "difficulty": 2,
      "skills": [
        "python",
        "lecture-code"
      ],
      "title": "Une fonction moyenne en Python",
      "partie": "python",
      "statement": "Quelle fonction Python renvoie correctement la moyenne d'une\nliste non vide `L` de nombres ?",
      "options": [
        {
          "text": "```python\ndef moyenne(L):\n    return sum(L) / len(L)\n```",
          "correct": true,
          "feedback": "Bonne réponse : `sum(L)` additionne les éléments et\n`len(L)` en donne le nombre : somme divisée par\nl'effectif."
        },
        {
          "text": "```python\ndef moyenne(L):\n    return sum(L) / n\n```",
          "correct": false,
          "feedback": "Erreur : la variable `n` n'est définie nulle part dans la\nfonction : erreur d'exécution. L'effectif s'obtient par\n`len(L)`."
        },
        {
          "text": "```python\ndef moyenne(L):\n    return len(L) / sum(L)\n```",
          "correct": false,
          "feedback": "Fraction renversée : ceci calcule l'inverse de la\nmoyenne. La somme va au numérateur."
        },
        {
          "text": "```python\ndef moyenne(L):\n    return sum(L) - len(L)\n```",
          "correct": false,
          "feedback": "Erreur : une moyenne se calcule par **division**, pas par\nsoustraction."
        }
      ],
      "explanation": "Fonction attendue au programme : `sum(L) / len(L)`. La lire,\nl'écrire et la modifier (moyenne d'une partie, fréquence…)\nsont des capacités attendues."
    },
    {
      "id": "q05",
      "difficulty": 2,
      "skills": [
        "echantillon",
        "taille"
      ],
      "title": "Effet de la taille de l'échantillon",
      "partie": "echantillonnage",
      "statement": "On compare des moyennes d'échantillons de taille $n = 100$\npuis $n = 10\\,000$ d'une même variable aléatoire. Qu'observe-t-on\ntypiquement ?",
      "options": [
        {
          "text": "Les moyennes des grands échantillons sont plus resserrées\nautour de l'espérance",
          "correct": true,
          "feedback": "Bonne réponse : plus l'échantillon est grand, plus la\nmoyenne observée est stable et proche de $E(X)$ : les\nfluctuations se diluent."
        },
        {
          "text": "Les moyennes fluctuent autant, quelle que soit la taille",
          "correct": false,
          "feedback": "Erreur : la simulation montre le contraire : l'écart\ntypique décroît (en $\\frac{1}{\\sqrt{n}}$)."
        },
        {
          "text": "Les grands échantillons donnent des moyennes plus grandes",
          "correct": false,
          "feedback": "Erreur : la taille réduit la **dispersion** des moyennes,\nelle ne déplace pas leur centre (toujours $E(X)$)."
        },
        {
          "text": "Au-delà de $n = 1000$, la moyenne devient exactement\nl'espérance",
          "correct": false,
          "feedback": "Erreur : aucun seuil ne supprime l'aléa ; il s'atténue\nprogressivement, sans jamais disparaître."
        }
      ],
      "explanation": "Constat expérimental central : la distance entre moyenne\nd'échantillon et espérance a tendance à diminuer quand $n$\naugmente, à l'échelle $\\frac{\\sigma}{\\sqrt{n}}$."
    },
    {
      "id": "q06",
      "difficulty": 3,
      "skills": [
        "ecart-type-moyenne"
      ],
      "title": "L'échelle $\\dfrac{2\\sigma}{\\sqrt{n}}$",
      "partie": "estimation",
      "statement": "Pour diviser par $10$ l'ordre de grandeur\n$\\dfrac{2\\sigma}{\\sqrt{n}}$ des écarts entre moyenne\nd'échantillon et espérance, par combien faut-il multiplier la\ntaille $n$ de l'échantillon ?",
      "options": [
        {
          "text": "Par $100$",
          "correct": true,
          "feedback": "Bonne réponse : l'écart varie en $\\dfrac{1}{\\sqrt{n}}$ :\ndiviser par $10$ exige $\\sqrt{n}$ multiplié par $10$,\ndonc $n$ par $100$."
        },
        {
          "text": "Par $10$",
          "correct": false,
          "feedback": "Erreur : $n \\times 10$ ne divise l'écart que par\n$\\sqrt{10} \\approx 3{,}2$, à cause de la racine carrée."
        },
        {
          "text": "Par $\\sqrt{10}$",
          "correct": false,
          "feedback": "Erreur : cela ne diviserait l'écart que par\n$10^{1/4} \\approx 1{,}8$. La racine impose de\n**quadrupler l'effort** pour chaque facteur $2$… et\n$\\times 100$ pour un facteur $10$."
        },
        {
          "text": "Par $1000$",
          "correct": false,
          "feedback": "Trop : $\\sqrt{1000} \\approx 31{,}6$ diviserait l'écart\npar plus de $30$. Le bon facteur est $10^2 = 100$."
        }
      ],
      "explanation": "La précision d'une moyenne d'échantillon évolue en\n$\\frac{1}{\\sqrt{n}}$ : gagner un facteur $10$ de précision\ncoûte un facteur $100$ de données. Racine carrée : le coût de\nla précision statistique."
    },
    {
      "id": "q07",
      "difficulty": 2,
      "skills": [
        "python",
        "repetition"
      ],
      "title": "Répéter une expérience",
      "partie": "python",
      "statement": "Que fait l'instruction Python `for _ in range(1000):` placée\nau-dessus d'un bloc de code ?",
      "options": [
        {
          "text": "Elle exécute le bloc $1000$ fois",
          "correct": true,
          "feedback": "Bonne réponse : `range(1000)` fournit $1000$ tours de\nboucle ; le nom `_` signale qu'on n'utilise pas le\ncompteur. C'est le squelette de toute simulation répétée."
        },
        {
          "text": "Elle exécute le bloc jusqu'à obtenir $1000$",
          "correct": false,
          "feedback": "Erreur : aucune condition d'arrêt sur une valeur : le\nnombre de répétitions est **fixé** à $1000$ (ce serait le\nrôle d'un `while`)."
        },
        {
          "text": "Elle crée une liste de $1000$ zéros",
          "correct": false,
          "feedback": "Erreur : `for` répète du code ; la création de liste\nutiliserait par exemple `[0] * 1000`."
        },
        {
          "text": "Elle exécute le bloc une fois avec $n = 1000$",
          "correct": false,
          "feedback": "Erreur : la boucle exécute le bloc **mille fois**, une\npar tour."
        }
      ],
      "explanation": "`for _ in range(N):` répète $N$ fois : combinée à un\ncompteur de succès ou à une liste de résultats, elle simule\n$N$ expériences pour estimer fréquences et moyennes.",
      "variants": [
        {
          "statement": "Que fait l'instruction Python `for _ in range(1000):` placée\nau-dessus d'un bloc de code ?",
          "options": [
            {
              "text": "Elle exécute le bloc $1000$ fois",
              "correct": true,
              "feedback": "Bonne réponse : `range(1000)` fournit $1000$ tours de\nboucle ; le nom `_` signale qu'on n'utilise pas le\ncompteur. C'est le squelette de toute simulation répétée."
            },
            {
              "text": "Elle exécute le bloc jusqu'à obtenir $1000$",
              "correct": false,
              "feedback": "Erreur : aucune condition d'arrêt sur une valeur : le\nnombre de répétitions est **fixé** à $1000$ (ce serait le\nrôle d'un `while`)."
            },
            {
              "text": "Elle crée une liste de $1000$ zéros",
              "correct": false,
              "feedback": "Erreur : `for` répète du code ; la création de liste\nutiliserait par exemple `[0] * 1000`."
            },
            {
              "text": "Elle exécute le bloc une fois avec $n = 1000$",
              "correct": false,
              "feedback": "Erreur : la boucle exécute le bloc **mille fois**, une\npar tour."
            }
          ],
          "explanation": "`for _ in range(N):` répète $N$ fois : combinée à un\ncompteur de succès ou à une liste de résultats, elle simule\n$N$ expériences pour estimer fréquences et moyennes."
        },
        {
          "statement": "Que fait l'instruction Python `for _ in range(500):` placée\nau-dessus d'un bloc de code ?",
          "options": [
            {
              "text": "Elle exécute le bloc $500$ fois",
              "correct": true,
              "feedback": "Bonne réponse : `range(500)` fournit $500$ tours de\nboucle ; le nom `_` signale qu'on n'utilise pas le\ncompteur. C'est le squelette de toute simulation répétée."
            },
            {
              "text": "Elle exécute le bloc jusqu'à obtenir $500$",
              "correct": false,
              "feedback": "Erreur : aucune condition d'arrêt sur une valeur : le\nnombre de répétitions est **fixé** à $500$ (ce serait le\nrôle d'un `while`)."
            },
            {
              "text": "Elle crée une liste de $500$ zéros",
              "correct": false,
              "feedback": "Erreur : `for` répète du code ; la création de liste\nutiliserait par exemple `[0] * 500`."
            },
            {
              "text": "Elle exécute le bloc une fois avec $n = 500$",
              "correct": false,
              "feedback": "Erreur : la boucle exécute le bloc **cinq cents fois**, une\npar tour."
            }
          ],
          "explanation": "`for _ in range(N):` répète $N$ fois : combinée à un\ncompteur de succès ou à une liste de résultats, elle simule\n$N$ expériences pour estimer fréquences et moyennes."
        },
        {
          "statement": "Que fait l'instruction Python `for _ in range(200):` placée\nau-dessus d'un bloc de code ?",
          "options": [
            {
              "text": "Elle exécute le bloc $200$ fois",
              "correct": true,
              "feedback": "Bonne réponse : `range(200)` fournit $200$ tours de\nboucle ; le nom `_` signale qu'on n'utilise pas le\ncompteur. C'est le squelette de toute simulation répétée."
            },
            {
              "text": "Elle exécute le bloc jusqu'à obtenir $200$",
              "correct": false,
              "feedback": "Erreur : aucune condition d'arrêt sur une valeur : le\nnombre de répétitions est **fixé** à $200$ (ce serait le\nrôle d'un `while`)."
            },
            {
              "text": "Elle crée une liste de $200$ zéros",
              "correct": false,
              "feedback": "Erreur : `for` répète du code ; la création de liste\nutiliserait par exemple `[0] * 200`."
            },
            {
              "text": "Elle exécute le bloc une fois avec $n = 200$",
              "correct": false,
              "feedback": "Erreur : la boucle exécute le bloc **deux cents fois**, une\npar tour."
            }
          ],
          "explanation": "`for _ in range(N):` répète $N$ fois : combinée à un\ncompteur de succès ou à une liste de résultats, elle simule\n$N$ expériences pour estimer fréquences et moyennes."
        },
        {
          "statement": "Que fait l'instruction Python `for _ in range(100):` placée\nau-dessus d'un bloc de code ?",
          "options": [
            {
              "text": "Elle exécute le bloc $100$ fois",
              "correct": true,
              "feedback": "Bonne réponse : `range(100)` fournit $100$ tours de\nboucle ; le nom `_` signale qu'on n'utilise pas le\ncompteur. C'est le squelette de toute simulation répétée."
            },
            {
              "text": "Elle exécute le bloc jusqu'à obtenir $100$",
              "correct": false,
              "feedback": "Erreur : aucune condition d'arrêt sur une valeur : le\nnombre de répétitions est **fixé** à $100$ (ce serait le\nrôle d'un `while`)."
            },
            {
              "text": "Elle crée une liste de $100$ zéros",
              "correct": false,
              "feedback": "Erreur : `for` répète du code ; la création de liste\nutiliserait par exemple `[0] * 100`."
            },
            {
              "text": "Elle exécute le bloc une fois avec $n = 100$",
              "correct": false,
              "feedback": "Erreur : la boucle exécute le bloc **cent fois**, une\npar tour."
            }
          ],
          "explanation": "`for _ in range(N):` répète $N$ fois : combinée à un\ncompteur de succès ou à une liste de résultats, elle simule\n$N$ expériences pour estimer fréquences et moyennes."
        }
      ]
    },
    {
      "id": "q08",
      "difficulty": 2,
      "skills": [
        "estimation",
        "monte-carlo"
      ],
      "title": "Estimer une probabilité par simulation",
      "partie": "estimation",
      "statement": "Pourquoi simuler $10\\,000$ fois une expérience pour estimer\nla probabilité d'un événement ?",
      "options": [
        {
          "text": "Parce que la fréquence observée approche la probabilité",
          "correct": true,
          "feedback": "Bonne réponse : sur un grand nombre de répétitions, la\nfréquence observée approche la probabilité cherchée :\nc'est la loi des grands nombres (version vulgarisée),\nutile quand le calcul exact est hors de portée (méthode\nde Monte-Carlo)."
        },
        {
          "text": "Parce que la fréquence observée est exactement égale à la\nprobabilité",
          "correct": false,
          "feedback": "Erreur : la fréquence reste une **approximation**\nfluctuante ; elle se resserre autour de la probabilité\nsans la donner exactement."
        },
        {
          "text": "Parce qu'une simulation remplace toute démonstration",
          "correct": false,
          "feedback": "Erreur : la simulation **conjecture** et illustre ; elle\nne démontre pas. Les deux registres se complètent."
        },
        {
          "text": "Parce que l'ordinateur produit du vrai hasard parfait",
          "correct": false,
          "feedback": "Erreur : les générateurs sont pseudo-aléatoires ;\nl'argument valable est statistique (grand nombre de\nrépétitions), pas la perfection du hasard machine."
        }
      ],
      "explanation": "Estimation par simulation : fréquence sur $N$ répétitions\n$\\approx$ probabilité, avec une précision qui croît avec $N$.\nExemple du programme : estimer $\\pi$ ou une aire par\nMonte-Carlo."
    },
    {
      "id": "q09",
      "difficulty": 3,
      "skills": [
        "proportion-2sigma"
      ],
      "title": "La proportion des cas dans $\\left[\\mu - \\frac{2\\sigma}{\\sqrt{n}}\\,;\\,\\mu + \\frac{2\\sigma}{\\sqrt{n}}\\right]$",
      "partie": "estimation",
      "statement": "On simule $N$ échantillons de taille $n$ d'une variable\nd'espérance $\\mu$ et d'écart-type $\\sigma$, et on calcule\nchaque moyenne $m$. Quelle proportion des cas vérifie\ntypiquement $|m - \\mu| \\leq \\dfrac{2\\sigma}{\\sqrt{n}}$ ?",
      "options": [
        {
          "text": "Environ $95\\ \\%$",
          "correct": true,
          "feedback": "Bonne réponse : c'est le constat expérimental attendu au\nprogramme : l'écart dépasse rarement deux fois\n$\\dfrac{\\sigma}{\\sqrt{n}}$ (ordre de grandeur, précisé en\nterminale)."
        },
        {
          "text": "Environ $50\\ \\%$",
          "correct": false,
          "feedback": "Erreur : la moitié des cas correspondrait à un intervalle\nbien plus étroit (environ $0{,}7\\sigma/\\sqrt{n}$ de\nrayon). À $2\\sigma/\\sqrt{n}$ : autour de $95\\ \\%$."
        },
        {
          "text": "Exactement $100\\ \\%$",
          "correct": false,
          "feedback": "Erreur : quelques échantillons « malchanceux » sortent de\nl'intervalle (environ $5\\ \\%$) : l'aléa ne se laisse pas\nenfermer totalement."
        },
        {
          "text": "Environ $5\\ \\%$",
          "correct": false,
          "feedback": "Inversé : $5\\ \\%$ est la proportion des cas qui\n**sortent** de l'intervalle."
        }
      ],
      "explanation": "Constat de simulation (capacité attendue) : environ $95\\ \\%$\ndes moyennes d'échantillons tombent à moins de\n$\\frac{2\\sigma}{\\sqrt{n}}$ de $\\mu$. La terminale en fera un\nthéorème (concentration, Bienaymé-Tchebychev)."
    },
    {
      "id": "q10",
      "difficulty": 2,
      "skills": [
        "python",
        "lecture-code"
      ],
      "title": "Lire une simulation complète",
      "partie": "python",
      "statement": "Que renvoie cette fonction ?\n\n```python\nfrom random import randint\ndef f(n):\n    c = 0\n    for _ in range(n):\n        if randint(1, 6) == 6:\n            c = c + 1\n    return c / n\n```",
      "options": [
        {
          "text": "La fréquence des « 6 » parmi $n$ lancers",
          "correct": true,
          "feedback": "Bonne réponse : le compteur `c` compte les 6 obtenus sur\n$n$ lancers de dé simulés, et `c / n` en donne la\nfréquence : elle approche $\\dfrac{1}{6} \\approx 0{,}167$\npour $n$ grand."
        },
        {
          "text": "Le nombre de « 6 » obtenus sur $n$ lancers",
          "correct": false,
          "feedback": "Presque : ce serait `return c`. La division finale\n`c / n` transforme le compte en **fréquence**."
        },
        {
          "text": "La probabilité exacte $\\dfrac{1}{6}$",
          "correct": false,
          "feedback": "Erreur : la fonction renvoie une fréquence **simulée**,\nfluctuante ($0{,}171$, $0{,}163$…), proche de\n$\\frac{1}{6}$ sans lui être égale."
        },
        {
          "text": "Toujours $0$, car `c` est initialisé à $0$",
          "correct": false,
          "feedback": "Erreur : `c` **démarre** à $0$ puis s'incrémente à chaque\n6 : l'initialisation n'est pas une valeur définitive."
        }
      ],
      "explanation": "Schéma type d'une simulation : initialiser un compteur,\nboucler $n$ fois, incrémenter sous condition, renvoyer\n`c / n` (fréquence). À savoir lire, modifier et écrire."
    },
    {
      "id": "q11",
      "difficulty": 3,
      "skills": [
        "python",
        "modification"
      ],
      "title": "Modifier la simulation",
      "partie": "python",
      "statement": "Dans la fonction précédente, par quoi remplacer la condition\n`randint(1, 6) == 6` pour estimer la fréquence d'un résultat\n**pair** ?",
      "options": [
        {
          "text": "`randint(1, 6) % 2 == 0`",
          "correct": true,
          "feedback": "Bonne réponse : le reste modulo $2$ nul caractérise les\npairs ($2$, $4$, $6$) : la fréquence approchera\n$\\dfrac{3}{6} = 0{,}5$."
        },
        {
          "text": "`randint(1, 6) == 2, 4, 6`",
          "correct": false,
          "feedback": "Erreur de syntaxe : cette écriture ne teste pas\nl'appartenance (il faudrait `in (2, 4, 6)` ou le test de\nparité `% 2 == 0`)."
        },
        {
          "text": "`randint(1, 6) % 2 == 1`",
          "correct": false,
          "feedback": "Sens inversé : reste $1$ modulo $2$ caractérise les\n**impairs**."
        },
        {
          "text": "`randint(2, 6)`",
          "correct": false,
          "feedback": "Erreur : changer les bornes fausse le dé lui-même (plus\nque $5$ faces) au lieu de tester la parité du résultat."
        }
      ],
      "explanation": "Adapter une simulation, c'est changer la **condition de succès** sans toucher au générateur : parité par `% 2 == 0`, seuil par\n`>= 5`, appartenance par `in (2, 4, 6)`."
    },
    {
      "id": "q12",
      "difficulty": 3,
      "skills": [
        "interpretation",
        "fluctuation"
      ],
      "title": "Conclure prudemment d'une simulation",
      "partie": "estimation",
      "statement": "On simule $100$ lancers d'une pièce supposée équilibrée et\non observe une fréquence de pile de $0{,}56$. Peut-on\nconclure que la pièce est truquée ?",
      "options": [
        {
          "text": "Non, l'écart est dans la fluctuation normale",
          "correct": true,
          "feedback": "Bonne réponse : pour $n = 100$, un écart de $0{,}06$ est\ndans la fluctuation normale d'échantillonnage. L'ordre\nde grandeur des fluctuations est\n$\\dfrac{2\\sigma}{\\sqrt{n}} = \\dfrac{2 \\times 0{,}5}{10}\n= 0{,}1$ : observer $0{,}56$ n'a rien d'anormal pour une\npièce équilibrée."
        },
        {
          "text": "Oui : $0{,}56 \\neq 0{,}5$, donc la pièce est déséquilibrée",
          "correct": false,
          "feedback": "Erreur : la fréquence observée fluctue **toujours**\nautour de la probabilité ; l'égalité exacte serait au\ncontraire surprenante. Il faut comparer l'écart à son\nordre de grandeur naturel."
        },
        {
          "text": "Oui, si la simulation a été faite en Python",
          "correct": false,
          "feedback": "Erreur : l'outil n'y change rien ; la question est\nstatistique (taille de l'écart contre taille de la\nfluctuation attendue)."
        },
        {
          "text": "Non : une simulation ne donne jamais aucune information",
          "correct": false,
          "feedback": "Trop fort : la simulation informe (avec $n = 100\\,000$,\nune fréquence de $0{,}56$ serait accablante) ; ici\nl'échantillon est simplement trop petit pour conclure."
        }
      ],
      "explanation": "Esprit critique attendu : comparer l'écart observé\n($0{,}06$) à la fluctuation typique\n$\\frac{2\\sigma}{\\sqrt{n}}$ ($0{,}1$ pour $n = 100$) : rien\nd'anormal. Grossir l'échantillon resserre l'intervalle et\nrend le verdict possible."
    },
    {
      "id": "q13",
      "difficulty": 2,
      "skills": [
        "python",
        "simulation"
      ],
      "title": "Tirer un nombre au hasard en Python",
      "partie": "python",
      "statement": "Quelle instruction Python simule le lancer d'une pièce équilibrée ?",
      "options": [
        {
          "text": "`randint(0, 1)`",
          "correct": true,
          "feedback": "Bonne réponse : cette fonction renvoie $0$ ou $1$ avec la même\nprobabilité, ce qui modélise pile ou face."
        },
        {
          "text": "`random()`",
          "correct": false,
          "feedback": "Elle renvoie un nombre décimal entre $0$ et $1$ : il reste à le\ncomparer à un seuil pour obtenir deux issues."
        },
        {
          "text": "`randint(1, 6)`",
          "correct": false,
          "feedback": "Six issues équiprobables : c'est la simulation d'un dé, pas d'une\npièce."
        },
        {
          "text": "`round(random())`",
          "correct": false,
          "feedback": "L'arrondi donne bien $0$ ou $1$, mais l'écriture est inutilement\ndétournée et l'équiprobabilité y est moins lisible."
        }
      ],
      "explanation": "Pour simuler une expérience à issues équiprobables, on tire un entier au\nhasard dans l'intervalle correspondant. Pour une probabilité quelconque, on\ncompare un décimal tiré au hasard à un seuil."
    },
    {
      "id": "q14",
      "difficulty": 2,
      "skills": [
        "simulation",
        "frequence"
      ],
      "title": "Ce que mesure une fréquence simulée",
      "partie": "simulation",
      "statement": "Après $10\\,000$ simulations, une issue apparaît dans $32$ % des cas.\nQue peut-on en dire ?",
      "options": [
        {
          "text": "Sa probabilité est proche de $0{,}32$",
          "correct": true,
          "feedback": "Bonne réponse : la loi des grands nombres rapproche la fréquence\nobservée de la probabilité théorique."
        },
        {
          "text": "Sa probabilité vaut exactement $0{,}32$",
          "correct": false,
          "feedback": "Une simulation donne une valeur approchée : relancée, elle donnerait un\nrésultat légèrement différent."
        },
        {
          "text": "Sa probabilité est inconnue",
          "correct": false,
          "feedback": "La simulation apporte une estimation, même si elle ne donne pas la\nvaleur exacte."
        },
        {
          "text": "La simulation est trop courte pour conclure",
          "correct": false,
          "feedback": "Dix mille répétitions suffisent largement à stabiliser une fréquence\nau centième près."
        }
      ],
      "explanation": "Une fréquence observée estime une probabilité, avec une précision qui\ns'améliore quand le nombre de répétitions augmente. Elle ne la donne jamais\nexactement.",
      "variants": [
        {
          "statement": "Après $10\\,000$ simulations, une issue apparaît dans $32$ % des cas.\nQue peut-on en dire ?",
          "options": [
            {
              "text": "Sa probabilité est proche de $0{,}32$",
              "correct": true,
              "feedback": "Bonne réponse : la loi des grands nombres rapproche la fréquence\nobservée de la probabilité théorique."
            },
            {
              "text": "Sa probabilité vaut exactement $0{,}32$",
              "correct": false,
              "feedback": "Une simulation donne une valeur approchée : relancée, elle donnerait un\nrésultat légèrement différent."
            },
            {
              "text": "Sa probabilité est inconnue",
              "correct": false,
              "feedback": "La simulation apporte une estimation, même si elle ne donne pas la\nvaleur exacte."
            },
            {
              "text": "La simulation est trop courte pour conclure",
              "correct": false,
              "feedback": "Dix mille répétitions suffisent largement à stabiliser une fréquence\nau centième près."
            }
          ],
          "explanation": "Une fréquence observée estime une probabilité, avec une précision qui\ns'améliore quand le nombre de répétitions augmente. Elle ne la donne jamais\nexactement."
        },
        {
          "statement": "Après $10\\,000$ simulations, une issue apparaît dans $47$ % des cas.\nQue peut-on en dire ?",
          "options": [
            {
              "text": "Sa probabilité est proche de $0{,}47$",
              "correct": true,
              "feedback": "Bonne réponse : la loi des grands nombres rapproche la fréquence\nobservée de la probabilité théorique."
            },
            {
              "text": "Sa probabilité vaut exactement $0{,}47$",
              "correct": false,
              "feedback": "Une simulation donne une valeur approchée : relancée, elle donnerait un\nrésultat légèrement différent."
            },
            {
              "text": "Sa probabilité est inconnue",
              "correct": false,
              "feedback": "La simulation apporte une estimation, même si elle ne donne pas la\nvaleur exacte."
            },
            {
              "text": "La simulation est trop courte pour conclure",
              "correct": false,
              "feedback": "Dix mille répétitions suffisent largement à stabiliser une fréquence\nau centième près."
            }
          ],
          "explanation": "Une fréquence observée estime une probabilité, avec une précision qui\ns'améliore quand le nombre de répétitions augmente. Elle ne la donne jamais\nexactement."
        },
        {
          "statement": "Après $10\\,000$ simulations, une issue apparaît dans $18$ % des cas.\nQue peut-on en dire ?",
          "options": [
            {
              "text": "Sa probabilité est proche de $0{,}18$",
              "correct": true,
              "feedback": "Bonne réponse : la loi des grands nombres rapproche la fréquence\nobservée de la probabilité théorique."
            },
            {
              "text": "Sa probabilité vaut exactement $0{,}18$",
              "correct": false,
              "feedback": "Une simulation donne une valeur approchée : relancée, elle donnerait un\nrésultat légèrement différent."
            },
            {
              "text": "Sa probabilité est inconnue",
              "correct": false,
              "feedback": "La simulation apporte une estimation, même si elle ne donne pas la\nvaleur exacte."
            },
            {
              "text": "La simulation est trop courte pour conclure",
              "correct": false,
              "feedback": "Dix mille répétitions suffisent largement à stabiliser une fréquence\nau centième près."
            }
          ],
          "explanation": "Une fréquence observée estime une probabilité, avec une précision qui\ns'améliore quand le nombre de répétitions augmente. Elle ne la donne jamais\nexactement."
        },
        {
          "statement": "Après $10\\,000$ simulations, une issue apparaît dans $65$ % des cas.\nQue peut-on en dire ?",
          "options": [
            {
              "text": "Sa probabilité est proche de $0{,}65$",
              "correct": true,
              "feedback": "Bonne réponse : la loi des grands nombres rapproche la fréquence\nobservée de la probabilité théorique."
            },
            {
              "text": "Sa probabilité vaut exactement $0{,}65$",
              "correct": false,
              "feedback": "Une simulation donne une valeur approchée : relancée, elle donnerait un\nrésultat légèrement différent."
            },
            {
              "text": "Sa probabilité est inconnue",
              "correct": false,
              "feedback": "La simulation apporte une estimation, même si elle ne donne pas la\nvaleur exacte."
            },
            {
              "text": "La simulation est trop courte pour conclure",
              "correct": false,
              "feedback": "Dix mille répétitions suffisent largement à stabiliser une fréquence\nau centième près."
            }
          ],
          "explanation": "Une fréquence observée estime une probabilité, avec une précision qui\ns'améliore quand le nombre de répétitions augmente. Elle ne la donne jamais\nexactement."
        }
      ]
    },
    {
      "id": "q15",
      "difficulty": 3,
      "skills": [
        "echantillonnage",
        "ecart-type"
      ],
      "title": "Diviser l'incertitude par deux",
      "partie": "echantillonnage",
      "statement": "Pour réduire de moitié la largeur de l'intervalle\n$\\left[\\mu - \\dfrac{2\\sigma}{\\sqrt{n}}\\,;\\,\\mu +\n\\dfrac{2\\sigma}{\\sqrt{n}}\\right]$, que faut-il faire ?",
      "options": [
        {
          "text": "Multiplier $n$ par $4$",
          "correct": true,
          "feedback": "Bonne réponse : la largeur varie comme $\\dfrac{1}{\\sqrt{n}}$, donc\nquadrupler $n$ divise bien la largeur par deux."
        },
        {
          "text": "Multiplier $n$ par $2$",
          "correct": false,
          "feedback": "Cela divise la largeur par $\\sqrt{2}$, soit environ $1{,}41$, pas par\ndeux."
        },
        {
          "text": "Diviser $n$ par $2$",
          "correct": false,
          "feedback": "Réduire l'échantillon élargit l'intervalle au lieu de le resserrer."
        },
        {
          "text": "Multiplier $\\sigma$ par $2$",
          "correct": false,
          "feedback": "L'écart-type dépend du phénomène étudié, il n'est pas un réglage de\nl'expérience, et le doubler élargirait l'intervalle."
        }
      ],
      "explanation": "La précision d'une moyenne d'échantillon progresse comme la racine carrée\nde la taille de l'échantillon. Gagner un facteur deux coûte quatre fois\nplus d'observations."
    },
    {
      "id": "q16",
      "difficulty": 2,
      "skills": [
        "python",
        "boucle"
      ],
      "title": "Compter des succès dans une boucle",
      "partie": "python",
      "statement": "Dans une simulation, à quoi sert la variable qui s'incrémente à chaque\nsuccès ?",
      "options": [
        {
          "text": "À compter le nombre de succès obtenus",
          "correct": true,
          "feedback": "Bonne réponse : divisée par le nombre de répétitions, elle donne la\nfréquence observée."
        },
        {
          "text": "À stocker la probabilité de succès",
          "correct": false,
          "feedback": "La probabilité est une donnée du modèle, elle ne se construit pas\npendant la boucle."
        },
        {
          "text": "À arrêter la boucle au premier succès",
          "correct": false,
          "feedback": "Un compteur n'interrompt rien : l'arrêt viendrait d'une condition dans\nune boucle `while`."
        },
        {
          "text": "À mémoriser le dernier résultat obtenu",
          "correct": false,
          "feedback": "Un compteur cumule ; mémoriser le dernier résultat demanderait une\nsimple affectation."
        }
      ],
      "explanation": "Une simulation répète l'expérience, compte les succès, puis divise par le\nnombre de répétitions. C'est le passage de l'observation à la fréquence."
    },
    {
      "id": "q17",
      "difficulty": 3,
      "skills": [
        "echantillonnage",
        "interpretation"
      ],
      "title": "Un échantillon hors de l'intervalle",
      "partie": "echantillonnage",
      "statement": "Une moyenne d'échantillon tombe hors de l'intervalle\n$\\left[\\mu - \\dfrac{2\\sigma}{\\sqrt{n}}\\,;\\,\\mu +\n\\dfrac{2\\sigma}{\\sqrt{n}}\\right]$. Que conclure ?",
      "options": [
        {
          "text": "C'est rare, mais cela ne prouve rien à soi seul",
          "correct": true,
          "feedback": "Bonne réponse : environ $5$ % des échantillons sortent de cet\nintervalle même quand le modèle est exact."
        },
        {
          "text": "Le modèle est certainement faux",
          "correct": false,
          "feedback": "Un événement rare n'est pas impossible : une observation isolée ne\nsuffit pas à rejeter un modèle."
        },
        {
          "text": "Le calcul de la moyenne est erroné",
          "correct": false,
          "feedback": "Rien ne le laisse penser : l'écart peut parfaitement venir du hasard\nde l'échantillonnage."
        },
        {
          "text": "L'échantillon est trop petit",
          "correct": false,
          "feedback": "La taille intervient déjà dans la largeur de l'intervalle, qui en tient\ncompte."
        }
      ],
      "explanation": "L'intervalle contient environ $95$ % des moyennes d'échantillons. En\nsortir est un signal, à confirmer par d'autres échantillons avant toute\nconclusion."
    },
    {
      "id": "q18",
      "difficulty": 2,
      "skills": [
        "simulation",
        "methode"
      ],
      "title": "Pourquoi répéter une simulation",
      "partie": "simulation",
      "statement": "Pourquoi relance-t-on plusieurs fois une même simulation ?",
      "options": [
        {
          "text": "Pour mesurer la variabilité des résultats",
          "correct": true,
          "feedback": "Bonne réponse : chaque exécution donne un résultat différent, et leur\ndispersion renseigne sur la fiabilité de l'estimation."
        },
        {
          "text": "Pour corriger les erreurs du programme",
          "correct": false,
          "feedback": "Une erreur de programmation se reproduit à l'identique à chaque\nexécution."
        },
        {
          "text": "Pour obtenir toujours le même résultat",
          "correct": false,
          "feedback": "C'est le contraire : les résultats diffèrent, et c'est précisément ce\nqui est intéressant."
        },
        {
          "text": "Pour augmenter la probabilité de succès",
          "correct": false,
          "feedback": "La probabilité est fixée par le modèle, aucune répétition ne la\nmodifie."
        }
      ],
      "explanation": "Répéter une simulation donne une idée de la dispersion des estimations.\nAugmenter la taille de chaque échantillon, lui, réduit cette dispersion."
    },
    {
      "id": "q19",
      "difficulty": 2,
      "skills": [
        "python",
        "fonction"
      ],
      "title": "Ce que renvoie une fonction de simulation",
      "partie": "python",
      "statement": "Une fonction Python simule $n$ lancers et renvoie le nombre de piles\nobtenus. Que vaut ce nombre pour $n = 100$ ?",
      "options": [
        {
          "text": "Un entier proche de $50$, variable d'un appel à l'autre",
          "correct": true,
          "feedback": "Bonne réponse : l'espérance vaut $50$, mais chaque exécution donne un\nrésultat différent."
        },
        {
          "text": "Exactement $50$ à chaque appel",
          "correct": false,
          "feedback": "Ce serait une simulation sans hasard : les écarts font partie du\nphénomène."
        },
        {
          "text": "Un nombre décimal compris entre $0$ et $1$",
          "correct": false,
          "feedback": "C'est la fréquence qui est décimale ; la fonction décrite compte des\nlancers."
        },
        {
          "text": "Un entier quelconque entre $0$ et $100$, sans tendance",
          "correct": false,
          "feedback": "Les valeurs ne sont pas équiprobables : les résultats se concentrent\nautour de $50$."
        }
      ],
      "explanation": "Une simulation produit un résultat aléatoire dont la moyenne théorique est\nconnue. Les écarts autour de cette valeur diminuent en proportion quand\n$n$ augmente."
    },
    {
      "id": "q20",
      "difficulty": 3,
      "skills": [
        "echantillonnage",
        "taille"
      ],
      "title": "Ce que change la taille de l'échantillon",
      "partie": "echantillonnage",
      "statement": "Quand la taille $n$ d'un échantillon augmente, qu'advient-il de la\nmoyenne observée ?",
      "options": [
        {
          "text": "Elle se concentre autour de l'espérance",
          "correct": true,
          "feedback": "Bonne réponse : sa dispersion vaut $\\dfrac{\\sigma}{\\sqrt{n}}$, qui\ndiminue quand $n$ grandit."
        },
        {
          "text": "Elle devient exactement égale à l'espérance",
          "correct": false,
          "feedback": "Aucune taille finie ne supprime le hasard : l'écart devient petit,\njamais nul."
        },
        {
          "text": "Elle augmente avec la taille",
          "correct": false,
          "feedback": "La moyenne ne dérive pas : seule sa dispersion change."
        },
        {
          "text": "Elle devient imprévisible",
          "correct": false,
          "feedback": "C'est l'inverse : plus l'échantillon est grand, plus la moyenne est\nprévisible."
        }
      ],
      "explanation": "La moyenne d'un échantillon a pour espérance celle de la variable, et pour\nécart-type $\\dfrac{\\sigma}{\\sqrt{n}}$. Elle se resserre donc autour de\nl'espérance sans jamais l'atteindre à coup sûr."
    },
    {
      "id": "q21",
      "difficulty": 2,
      "skills": [
        "python",
        "seuil"
      ],
      "title": "Simuler une probabilité quelconque",
      "partie": "python",
      "statement": "Comment simuler un événement de probabilité $0{,}3$ à partir d'un\ndécimal tiré au hasard entre $0$ et $1$ ?",
      "options": [
        {
          "text": "Tester si le nombre tiré est inférieur à $0{,}3$",
          "correct": true,
          "feedback": "Bonne réponse : la proportion des tirages vérifiant cette condition\nvaut précisément $0{,}3$."
        },
        {
          "text": "Tester si le nombre tiré est supérieur à $0{,}3$",
          "correct": false,
          "feedback": "Cette condition a une probabilité de $0{,}7$, soit l'événement\ncontraire."
        },
        {
          "text": "Multiplier le nombre tiré par $0{,}3$",
          "correct": false,
          "feedback": "Cette opération produit un nombre, pas un événement à deux issues."
        },
        {
          "text": "Arrondir le nombre tiré à $0{,}3$ près",
          "correct": false,
          "feedback": "L'arrondi ne définit aucun événement de probabilité $0{,}3$."
        }
      ],
      "explanation": "Un décimal tiré uniformément entre $0$ et $1$ a une probabilité $p$ d'être\ninférieur à $p$. C'est la méthode standard pour simuler une épreuve de\nBernoulli de paramètre quelconque.",
      "variants": [
        {
          "statement": "Comment simuler un événement de probabilité $0{,}3$ à partir d'un\ndécimal tiré au hasard entre $0$ et $1$ ?",
          "options": [
            {
              "text": "Tester si le nombre tiré est inférieur à $0{,}3$",
              "correct": true,
              "feedback": "Bonne réponse : la proportion des tirages vérifiant cette condition\nvaut précisément $0{,}3$."
            },
            {
              "text": "Tester si le nombre tiré est supérieur à $0{,}3$",
              "correct": false,
              "feedback": "Cette condition a une probabilité de $0{,}7$, soit l'événement\ncontraire."
            },
            {
              "text": "Multiplier le nombre tiré par $0{,}3$",
              "correct": false,
              "feedback": "Cette opération produit un nombre, pas un événement à deux issues."
            },
            {
              "text": "Arrondir le nombre tiré à $0{,}3$ près",
              "correct": false,
              "feedback": "L'arrondi ne définit aucun événement de probabilité $0{,}3$."
            }
          ],
          "explanation": "Un décimal tiré uniformément entre $0$ et $1$ a une probabilité $p$ d'être\ninférieur à $p$. C'est la méthode standard pour simuler une épreuve de\nBernoulli de paramètre quelconque."
        },
        {
          "statement": "Comment simuler un événement de probabilité $0{,}4$ à partir d'un\ndécimal tiré au hasard entre $0$ et $1$ ?",
          "options": [
            {
              "text": "Tester si le nombre tiré est inférieur à $0{,}4$",
              "correct": true,
              "feedback": "Bonne réponse : la proportion des tirages vérifiant cette condition\nvaut précisément $0{,}4$."
            },
            {
              "text": "Tester si le nombre tiré est supérieur à $0{,}4$",
              "correct": false,
              "feedback": "Cette condition a une probabilité de $0{,}6$, soit l'événement\ncontraire."
            },
            {
              "text": "Multiplier le nombre tiré par $0{,}4$",
              "correct": false,
              "feedback": "Cette opération produit un nombre, pas un événement à deux issues."
            },
            {
              "text": "Arrondir le nombre tiré à $0{,}4$ près",
              "correct": false,
              "feedback": "L'arrondi ne définit aucun événement de probabilité $0{,}4$."
            }
          ],
          "explanation": "Un décimal tiré uniformément entre $0$ et $1$ a une probabilité $p$ d'être\ninférieur à $p$. C'est la méthode standard pour simuler une épreuve de\nBernoulli de paramètre quelconque."
        },
        {
          "statement": "Comment simuler un événement de probabilité $0{,}15$ à partir d'un\ndécimal tiré au hasard entre $0$ et $1$ ?",
          "options": [
            {
              "text": "Tester si le nombre tiré est inférieur à $0{,}15$",
              "correct": true,
              "feedback": "Bonne réponse : la proportion des tirages vérifiant cette condition\nvaut précisément $0{,}15$."
            },
            {
              "text": "Tester si le nombre tiré est supérieur à $0{,}15$",
              "correct": false,
              "feedback": "Cette condition a une probabilité de $0{,}85$, soit l'événement\ncontraire."
            },
            {
              "text": "Multiplier le nombre tiré par $0{,}15$",
              "correct": false,
              "feedback": "Cette opération produit un nombre, pas un événement à deux issues."
            },
            {
              "text": "Arrondir le nombre tiré à $0{,}15$ près",
              "correct": false,
              "feedback": "L'arrondi ne définit aucun événement de probabilité $0{,}15$."
            }
          ],
          "explanation": "Un décimal tiré uniformément entre $0$ et $1$ a une probabilité $p$ d'être\ninférieur à $p$. C'est la méthode standard pour simuler une épreuve de\nBernoulli de paramètre quelconque."
        },
        {
          "statement": "Comment simuler un événement de probabilité $0{,}8$ à partir d'un\ndécimal tiré au hasard entre $0$ et $1$ ?",
          "options": [
            {
              "text": "Tester si le nombre tiré est inférieur à $0{,}8$",
              "correct": true,
              "feedback": "Bonne réponse : la proportion des tirages vérifiant cette condition\nvaut précisément $0{,}8$."
            },
            {
              "text": "Tester si le nombre tiré est supérieur à $0{,}8$",
              "correct": false,
              "feedback": "Cette condition a une probabilité de $0{,}2$, soit l'événement\ncontraire."
            },
            {
              "text": "Multiplier le nombre tiré par $0{,}8$",
              "correct": false,
              "feedback": "Cette opération produit un nombre, pas un événement à deux issues."
            },
            {
              "text": "Arrondir le nombre tiré à $0{,}8$ près",
              "correct": false,
              "feedback": "L'arrondi ne définit aucun événement de probabilité $0{,}8$."
            }
          ],
          "explanation": "Un décimal tiré uniformément entre $0$ et $1$ a une probabilité $p$ d'être\ninférieur à $p$. C'est la méthode standard pour simuler une épreuve de\nBernoulli de paramètre quelconque."
        }
      ]
    },
    {
      "id": "q22",
      "difficulty": 2,
      "skills": [
        "simulation",
        "esprit-critique"
      ],
      "title": "Les limites d'une simulation",
      "partie": "simulation",
      "statement": "Que ne permet jamais une simulation, aussi longue soit-elle ?",
      "options": [
        {
          "text": "Démontrer une propriété mathématique",
          "correct": true,
          "feedback": "Bonne réponse : une simulation donne des observations, jamais une\npreuve valable pour tous les cas."
        },
        {
          "text": "Estimer une probabilité difficile à calculer",
          "correct": false,
          "feedback": "C'est au contraire son usage principal, quand le calcul exact est hors\nde portée."
        },
        {
          "text": "Conjecturer un résultat",
          "correct": false,
          "feedback": "Les simulations sont un excellent outil de conjecture, à confirmer\nensuite par une démonstration."
        },
        {
          "text": "Comparer deux stratégies de jeu",
          "correct": false,
          "feedback": "Une simulation permet cette comparaison, avec la prudence qui\ns'impose sur les écarts faibles."
        }
      ],
      "explanation": "Une simulation illustre, estime et suggère. Seul un raisonnement établit\nune propriété pour tous les cas possibles."
    },
    {
      "id": "q23",
      "difficulty": 2,
      "skills": [
        "python",
        "lecture"
      ],
      "title": "Lire le résultat d'une simulation",
      "partie": "python",
      "statement": "Une simulation renvoie $0{,}497$ pour la fréquence de pile sur\n$100\\,000$ lancers. Que faut-il en penser ?",
      "options": [
        {
          "text": "Le résultat est compatible avec une pièce équilibrée",
          "correct": true,
          "feedback": "Bonne réponse : l'écart à $0{,}5$ vaut $0{,}003$, largement dans les\nfluctuations attendues."
        },
        {
          "text": "La pièce est truquée en faveur de face",
          "correct": false,
          "feedback": "Un écart de trois millièmes sur cent mille lancers n'a rien\nd'anormal."
        },
        {
          "text": "La simulation comporte une erreur",
          "correct": false,
          "feedback": "Un résultat exactement égal à $0{,}5$ serait bien plus suspect qu'un\nécart de cet ordre."
        },
        {
          "text": "Il faudrait relancer jusqu'à obtenir $0{,}5$",
          "correct": false,
          "feedback": "Relancer jusqu'au résultat voulu revient à choisir ses données, ce qui\nvide l'expérience de son sens."
        }
      ],
      "explanation": "Interpréter une simulation demande de comparer l'écart observé à\nl'ordre de grandeur des fluctuations attendues, et non de chercher\nl'égalité parfaite."
    },
    {
      "id": "q24",
      "difficulty": 3,
      "skills": [
        "echantillonnage",
        "modelisation"
      ],
      "title": "Estimer une proportion inconnue",
      "partie": "echantillonnage",
      "statement": "Un sondage sur $400$ personnes donne $52$ % d'avis favorables, avec\n$\\sigma \\approx 0{,}5$. Quelle est la demi-largeur de l'intervalle\n$\\dfrac{2\\sigma}{\\sqrt{n}}$ ?",
      "options": [
        {
          "text": "$0{,}05$",
          "correct": true,
          "feedback": "Bonne réponse : $\\dfrac{2 \\times 0{,}5}{\\sqrt{400}} = \\dfrac{1}{20}$."
        },
        {
          "text": "$0{,}0025$",
          "correct": false,
          "feedback": "Racine oubliée : diviser par $400$ au lieu de $20$ donne une\nprécision bien trop optimiste."
        },
        {
          "text": "$0{,}1$",
          "correct": false,
          "feedback": "Facteur $2$ compté deux fois : le numérateur vaut $1$, pas $2$."
        },
        {
          "text": "$0{,}52$",
          "correct": false,
          "feedback": "Proportion observée recopiée : elle donne le centre de l'intervalle,\npas sa demi-largeur."
        }
      ],
      "explanation": "La demi-largeur de l'intervalle vaut $\\dfrac{2\\sigma}{\\sqrt{n}}$. Ici elle\nreprésente cinq points, ce qui explique la prudence des commentateurs\ndevant un écart de deux points.",
      "variants": [
        {
          "statement": "Un sondage sur $400$ personnes donne $52$ % d'avis favorables, avec\n$\\sigma \\approx 0{,}5$. Quelle est la demi-largeur de l'intervalle\n$\\dfrac{2\\sigma}{\\sqrt{n}}$ ?",
          "options": [
            {
              "text": "$0{,}05$",
              "correct": true,
              "feedback": "Bonne réponse : $\\dfrac{2 \\times 0{,}5}{\\sqrt{400}} = \\dfrac{1}{20}$."
            },
            {
              "text": "$0{,}0025$",
              "correct": false,
              "feedback": "Racine oubliée : diviser par $400$ au lieu de $20$ donne une\nprécision bien trop optimiste."
            },
            {
              "text": "$0{,}1$",
              "correct": false,
              "feedback": "Facteur $2$ compté deux fois : le numérateur vaut $1$, pas $2$."
            },
            {
              "text": "$0{,}52$",
              "correct": false,
              "feedback": "Proportion observée recopiée : elle donne le centre de l'intervalle,\npas sa demi-largeur."
            }
          ],
          "explanation": "La demi-largeur de l'intervalle vaut $\\dfrac{2\\sigma}{\\sqrt{n}}$. Ici elle\nreprésente cinq points, ce qui explique la prudence des commentateurs\ndevant un écart de deux points."
        },
        {
          "statement": "Un sondage sur $100$ personnes donne $47$ % d'avis favorables, avec\n$\\sigma \\approx 0{,}5$. Quelle est la demi-largeur de l'intervalle\n$\\dfrac{2\\sigma}{\\sqrt{n}}$ ?",
          "options": [
            {
              "text": "$0{,}1$",
              "correct": true,
              "feedback": "Bonne réponse : $\\dfrac{2 \\times 0{,}5}{\\sqrt{100}} = \\dfrac{1}{10}$."
            },
            {
              "text": "$0{,}01$",
              "correct": false,
              "feedback": "Racine oubliée : diviser par $100$ au lieu de $10$ donne une\nprécision bien trop optimiste."
            },
            {
              "text": "$0{,}2$",
              "correct": false,
              "feedback": "Facteur $2$ compté deux fois : le numérateur vaut $1$, pas $2$."
            },
            {
              "text": "$0{,}47$",
              "correct": false,
              "feedback": "Proportion observée recopiée : elle donne le centre de l'intervalle,\npas sa demi-largeur."
            }
          ],
          "explanation": "La demi-largeur de l'intervalle vaut $\\dfrac{2\\sigma}{\\sqrt{n}}$. Ici elle\nreprésente dix points, ce qui explique la prudence des commentateurs\ndevant un écart de deux points."
        },
        {
          "statement": "Un sondage sur $2500$ personnes donne $38$ % d'avis favorables, avec\n$\\sigma \\approx 0{,}5$. Quelle est la demi-largeur de l'intervalle\n$\\dfrac{2\\sigma}{\\sqrt{n}}$ ?",
          "options": [
            {
              "text": "$0{,}02$",
              "correct": true,
              "feedback": "Bonne réponse : $\\dfrac{2 \\times 0{,}5}{\\sqrt{2500}} = \\dfrac{1}{50}$."
            },
            {
              "text": "$0{,}0004$",
              "correct": false,
              "feedback": "Racine oubliée : diviser par $2500$ au lieu de $50$ donne une\nprécision bien trop optimiste."
            },
            {
              "text": "$0{,}04$",
              "correct": false,
              "feedback": "Facteur $2$ compté deux fois : le numérateur vaut $1$, pas $2$."
            },
            {
              "text": "$0{,}38$",
              "correct": false,
              "feedback": "Proportion observée recopiée : elle donne le centre de l'intervalle,\npas sa demi-largeur."
            }
          ],
          "explanation": "La demi-largeur de l'intervalle vaut $\\dfrac{2\\sigma}{\\sqrt{n}}$. Ici elle\nreprésente deux points, ce qui explique la prudence des commentateurs\ndevant un écart de deux points."
        },
        {
          "statement": "Un sondage sur $625$ personnes donne $55$ % d'avis favorables, avec\n$\\sigma \\approx 0{,}5$. Quelle est la demi-largeur de l'intervalle\n$\\dfrac{2\\sigma}{\\sqrt{n}}$ ?",
          "options": [
            {
              "text": "$0{,}04$",
              "correct": true,
              "feedback": "Bonne réponse : $\\dfrac{2 \\times 0{,}5}{\\sqrt{625}} = \\dfrac{1}{25}$."
            },
            {
              "text": "$0{,}0016$",
              "correct": false,
              "feedback": "Racine oubliée : diviser par $625$ au lieu de $25$ donne une\nprécision bien trop optimiste."
            },
            {
              "text": "$0{,}08$",
              "correct": false,
              "feedback": "Facteur $2$ compté deux fois : le numérateur vaut $1$, pas $2$."
            },
            {
              "text": "$0{,}55$",
              "correct": false,
              "feedback": "Proportion observée recopiée : elle donne le centre de l'intervalle,\npas sa demi-largeur."
            }
          ],
          "explanation": "La demi-largeur de l'intervalle vaut $\\dfrac{2\\sigma}{\\sqrt{n}}$. Ici elle\nreprésente quatre points, ce qui explique la prudence des commentateurs\ndevant un écart de deux points."
        }
      ]
    },
    {
      "id": "q25",
      "difficulty": 2,
      "skills": [
        "python",
        "boucle"
      ],
      "title": "Le rôle de `for` dans une simulation",
      "partie": "python",
      "statement": "Dans une simulation de $n$ répétitions, à quoi sert la boucle `for` ?",
      "options": [
        {
          "text": "À répéter l'expérience un nombre fixé de fois",
          "correct": true,
          "feedback": "Bonne réponse : le nombre de tours est connu d'avance, ce qui est la\nsituation type d'une boucle `for`."
        },
        {
          "text": "À répéter jusqu'à obtenir un succès",
          "correct": false,
          "feedback": "Cette situation, où le nombre de tours est inconnu, relève d'une boucle\n`while`."
        },
        {
          "text": "À tirer un nombre au hasard",
          "correct": false,
          "feedback": "Le tirage se fait à l'intérieur de la boucle, par une fonction du\nmodule `random`."
        },
        {
          "text": "À calculer la fréquence observée",
          "correct": false,
          "feedback": "La fréquence se calcule après la boucle, en divisant le compteur par\nle nombre de répétitions."
        }
      ],
      "explanation": "Une boucle `for` convient quand le nombre de répétitions est fixé à\nl'avance, une boucle `while` quand l'arrêt dépend d'une condition\nrencontrée en cours de route."
    },
    {
      "id": "q26",
      "difficulty": 2,
      "skills": [
        "echantillonnage",
        "vocabulaire"
      ],
      "title": "Population et échantillon",
      "partie": "echantillonnage",
      "statement": "Qu'appelle-t-on échantillon de taille $n$ ?",
      "options": [
        {
          "text": "$n$ observations tirées au hasard dans la population",
          "correct": true,
          "feedback": "Bonne réponse : le tirage au hasard est ce qui rend l'échantillon\nreprésentatif."
        },
        {
          "text": "Les $n$ premières observations de la population",
          "correct": false,
          "feedback": "Un tel choix peut être biaisé : les premières observations n'ont aucune\nraison de représenter l'ensemble."
        },
        {
          "text": "Les $n$ observations les plus fréquentes",
          "correct": false,
          "feedback": "Sélectionner les valeurs les plus fréquentes écrase justement la\ndiversité que l'on cherche à mesurer."
        },
        {
          "text": "La population entière découpée en $n$ parts",
          "correct": false,
          "feedback": "Un échantillon est une partie de la population, pas un découpage de\ncelle-ci."
        }
      ],
      "explanation": "Un échantillon est un sous-ensemble tiré au hasard dans une population. Le\nhasard du tirage est ce qui autorise à généraliser les résultats observés."
    },
    {
      "id": "q27",
      "difficulty": 3,
      "skills": [
        "simulation",
        "comparaison"
      ],
      "title": "Comparer deux stratégies",
      "partie": "simulation",
      "statement": "Deux stratégies de jeu sont simulées $1\\,000$ fois chacune, avec des\ntaux de réussite de $51$ % et $49$ %. Que conclure ?",
      "options": [
        {
          "text": "L'écart est trop faible pour départager",
          "correct": true,
          "feedback": "Bonne réponse : sur mille répétitions, les fluctuations dépassent\nlargement deux points d'écart."
        },
        {
          "text": "La première stratégie est meilleure",
          "correct": false,
          "feedback": "Relancer les simulations pourrait très bien inverser le classement."
        },
        {
          "text": "Les deux stratégies sont équivalentes",
          "correct": false,
          "feedback": "L'absence de conclusion n'est pas une preuve d'égalité : il faudrait\nbien plus de répétitions pour trancher."
        },
        {
          "text": "La simulation est mal programmée",
          "correct": false,
          "feedback": "Rien ne l'indique : deux résultats proches sont attendus quand les\nstratégies le sont aussi."
        }
      ],
      "explanation": "Avant de conclure d'une comparaison, on compare l'écart observé à la\ntaille des fluctuations d'échantillonnage. Ici la précision est de l'ordre\nde trois points, donc insuffisante."
    },
    {
      "id": "q28",
      "difficulty": 2,
      "skills": [
        "python",
        "structure"
      ],
      "title": "L'ordre des instructions",
      "partie": "python",
      "statement": "Dans une simulation, où faut-il placer le calcul de la fréquence ?",
      "options": [
        {
          "text": "Après la boucle de répétitions",
          "correct": true,
          "feedback": "Bonne réponse : la fréquence se calcule une fois tous les tirages\neffectués, à partir du compteur final."
        },
        {
          "text": "Avant la boucle de répétitions",
          "correct": false,
          "feedback": "Le compteur vaut alors zéro : la fréquence obtenue serait nulle."
        },
        {
          "text": "À l'intérieur de la boucle, à chaque tour",
          "correct": false,
          "feedback": "Le calcul serait refait inutilement, et seule la dernière valeur\nservirait."
        },
        {
          "text": "Dans la condition de la boucle",
          "correct": false,
          "feedback": "Une boucle `for` n'a pas de condition d'arrêt à évaluer : son nombre de\ntours est fixé."
        }
      ],
      "explanation": "Le schéma classique d'une simulation comporte trois temps : initialiser le\ncompteur, répéter l'expérience en le mettant à jour, puis exploiter le\nrésultat après la boucle."
    },
    {
      "id": "q29",
      "difficulty": 2,
      "skills": [
        "python",
        "echantillonnage"
      ],
      "title": "Traduire l'écart en Python",
      "partie": "python",
      "statement": "Dans une simulation, `m` est la moyenne d'un échantillon de taille `n`, `mu` l'espérance\net `sigma` l'écart type de la variable étudiée ; la fonction `sqrt` est importée du module\n`math`. Quelle condition est vraie exactement lorsque l'écart entre `m` et `mu` est inférieur\nou égal à $\\dfrac{2\\sigma}{\\sqrt{n}}$ ?",
      "options": [
        {
          "text": "`abs(m - mu) <= 2 * sigma / sqrt(n)`",
          "correct": true,
          "feedback": "Bonne réponse : l'écart entre `m` et `mu` est la distance `abs(m - mu)`, comparée\nau seuil $\\dfrac{2\\sigma}{\\sqrt{n}}$.\n"
        },
        {
          "text": "`m - mu <= 2 * sigma / sqrt(n)`",
          "correct": false,
          "feedback": "Erreur : sans `abs`, une moyenne très inférieure à `mu` donne une différence négative\net passe le test, alors que l'écart est grand.\n"
        },
        {
          "text": "`abs(m - mu) >= 2 * sigma / sqrt(n)`",
          "correct": false,
          "feedback": "Erreur : le sens de la comparaison est inversé ; cette condition repère les\néchantillons dont l'écart dépasse ou atteint le seuil.\n"
        },
        {
          "text": "`abs(m - mu) <= 2 * sigma / n`",
          "correct": false,
          "feedback": "Erreur : le seuil divise par $\\sqrt{n}$, pas par $n$ ; ici la condition devient\nbeaucoup trop exigeante dès que `n` est grand.\n"
        }
      ],
      "explanation": "L'écart entre `m` et `mu` se calcule avec la valeur absolue `abs(m - mu)`. En comptant les\néchantillons qui vérifient `abs(m - mu) <= 2 * sigma / sqrt(n)`, puis en divisant par leur\nnombre total, on obtient la proportion étudiée dans la simulation."
    },
    {
      "id": "q30",
      "difficulty": 2,
      "skills": [
        "simulation",
        "esprit-critique"
      ],
      "title": "Une conclusion prudente",
      "partie": "simulation",
      "statement": "Comment rédiger honnêtement la conclusion d'une simulation ?",
      "options": [
        {
          "text": "En indiquant le nombre de répétitions effectuées",
          "correct": true,
          "feedback": "Bonne réponse : sans cette information, le lecteur ne peut pas juger de\nla fiabilité du résultat."
        },
        {
          "text": "En arrondissant le résultat à la valeur attendue",
          "correct": false,
          "feedback": "Cette pratique dissimule l'écart observé, qui est précisément\nl'information intéressante."
        },
        {
          "text": "En ne gardant que la meilleure des exécutions",
          "correct": false,
          "feedback": "Sélectionner le résultat qui arrange revient à choisir ses données."
        },
        {
          "text": "En affirmant que le résultat est démontré",
          "correct": false,
          "feedback": "Une simulation ne démontre rien : elle estime et suggère."
        }
      ],
      "explanation": "Une conclusion de simulation précise le protocole, le nombre de\nrépétitions et la précision attendue. Elle emploie un verbe prudent, du\ntype « semble » ou « est compatible avec »."
    },
    {
      "id": "q31",
      "difficulty": 1,
      "skills": [
        "bernoulli",
        "vocabulaire"
      ],
      "title": "Reconnaître une épreuve de Bernoulli",
      "partie": "simulation",
      "statement": "Dans une simulation, à quoi reconnaît-on une épreuve de\nBernoulli ?",
      "options": [
        {
          "text": "À ses deux issues, nommées succès et échec",
          "correct": true,
          "feedback": "Bonne réponse : une épreuve de Bernoulli n'a que deux\nissues. En Python, elle se simule par un test du type\n`random() < p`, qui vaut `True` ou `False`."
        },
        {
          "text": "À la répétition d'une même expérience un grand nombre de fois",
          "correct": false,
          "feedback": "Erreur : la répétition vient après. Une épreuve de\nBernoulli est l'expérience élémentaire que l'on répète,\npas la répétition elle-même."
        },
        {
          "text": "À l'équiprobabilité de toutes les issues possibles",
          "correct": false,
          "feedback": "Erreur : le succès peut avoir n'importe quelle\nprobabilité $p$. Le cas $p = 0{,}5$ n'est qu'un exemple\nparmi d'autres."
        },
        {
          "text": "Au tirage au hasard d'un entier entre deux bornes",
          "correct": false,
          "feedback": "Erreur : `randint` produit souvent bien plus de deux\nissues. Ce tirage sert à simuler l'épreuve, il ne la\ndéfinit pas."
        }
      ],
      "explanation": "Une épreuve de Bernoulli comporte exactement deux issues,\nsuccès de probabilité $p$ et échec de probabilité $1 - p$.\nSa simulation tient en une ligne : `random() < p`."
    },
    {
      "id": "q32",
      "difficulty": 1,
      "skills": [
        "frequence",
        "lecture"
      ],
      "title": "Lire le résultat d'un comptage",
      "partie": "echantillonnage",
      "statement": "Une simulation de $500$ répétitions a compté $130$ succès.\nQuelle fréquence de succès a-t-elle observée ?",
      "options": [
        {
          "text": "$0{,}26$",
          "correct": true,
          "feedback": "Bonne réponse : la fréquence rapporte le nombre de succès\nau nombre de répétitions :\n$\\dfrac{130}{500} = 0{,}26$."
        },
        {
          "text": "$130$",
          "correct": false,
          "feedback": "Effectif brut recopié : $130$ compte les succès, il ne\ndevient une fréquence qu'après division par $500$."
        },
        {
          "text": "$0{,}74$",
          "correct": false,
          "feedback": "Fréquence des échecs : elle complète la précédente,\npuisque les deux totalisent $1$."
        },
        {
          "text": "$26$",
          "correct": false,
          "feedback": "Pourcentage et fréquence confondus : $26\\ \\%$\ns'écrit $0{,}26$ sous forme de fréquence."
        }
      ],
      "explanation": "Une fréquence est un quotient compris entre $0$ et $1$ :\nnombre de succès divisé par nombre de répétitions. C'est\nelle qui estime la probabilité cherchée.",
      "variants": [
        {
          "statement": "Une simulation de $500$ répétitions a compté $130$ succès.\nQuelle fréquence de succès a-t-elle observée ?",
          "options": [
            {
              "text": "$0{,}26$",
              "correct": true,
              "feedback": "Bonne réponse : la fréquence rapporte le nombre de succès\nau nombre de répétitions :\n$\\dfrac{130}{500} = 0{,}26$."
            },
            {
              "text": "$130$",
              "correct": false,
              "feedback": "Effectif brut recopié : $130$ compte les succès, il ne\ndevient une fréquence qu'après division par $500$."
            },
            {
              "text": "$0{,}74$",
              "correct": false,
              "feedback": "Fréquence des échecs : elle complète la précédente,\npuisque les deux totalisent $1$."
            },
            {
              "text": "$26$",
              "correct": false,
              "feedback": "Pourcentage et fréquence confondus : $26\\ \\%$\ns'écrit $0{,}26$ sous forme de fréquence."
            }
          ],
          "explanation": "Une fréquence est un quotient compris entre $0$ et $1$ :\nnombre de succès divisé par nombre de répétitions. C'est\nelle qui estime la probabilité cherchée."
        },
        {
          "statement": "Une simulation de $200$ répétitions a compté $46$ succès.\nQuelle fréquence de succès a-t-elle observée ?",
          "options": [
            {
              "text": "$0{,}23$",
              "correct": true,
              "feedback": "Bonne réponse : la fréquence rapporte le nombre de succès\nau nombre de répétitions :\n$\\dfrac{46}{200} = 0{,}23$."
            },
            {
              "text": "$46$",
              "correct": false,
              "feedback": "Effectif brut recopié : $46$ compte les succès, il ne\ndevient une fréquence qu'après division par $200$."
            },
            {
              "text": "$0{,}77$",
              "correct": false,
              "feedback": "Fréquence des échecs : elle complète la précédente,\npuisque les deux totalisent $1$."
            },
            {
              "text": "$23$",
              "correct": false,
              "feedback": "Pourcentage et fréquence confondus : $23\\ \\%$\ns'écrit $0{,}23$ sous forme de fréquence."
            }
          ],
          "explanation": "Une fréquence est un quotient compris entre $0$ et $1$ :\nnombre de succès divisé par nombre de répétitions. C'est\nelle qui estime la probabilité cherchée."
        },
        {
          "statement": "Une simulation de $400$ répétitions a compté $140$ succès.\nQuelle fréquence de succès a-t-elle observée ?",
          "options": [
            {
              "text": "$0{,}35$",
              "correct": true,
              "feedback": "Bonne réponse : la fréquence rapporte le nombre de succès\nau nombre de répétitions :\n$\\dfrac{140}{400} = 0{,}35$."
            },
            {
              "text": "$140$",
              "correct": false,
              "feedback": "Effectif brut recopié : $140$ compte les succès, il ne\ndevient une fréquence qu'après division par $400$."
            },
            {
              "text": "$0{,}65$",
              "correct": false,
              "feedback": "Fréquence des échecs : elle complète la précédente,\npuisque les deux totalisent $1$."
            },
            {
              "text": "$35$",
              "correct": false,
              "feedback": "Pourcentage et fréquence confondus : $35\\ \\%$\ns'écrit $0{,}35$ sous forme de fréquence."
            }
          ],
          "explanation": "Une fréquence est un quotient compris entre $0$ et $1$ :\nnombre de succès divisé par nombre de répétitions. C'est\nelle qui estime la probabilité cherchée."
        },
        {
          "statement": "Une simulation de $250$ répétitions a compté $95$ succès.\nQuelle fréquence de succès a-t-elle observée ?",
          "options": [
            {
              "text": "$0{,}38$",
              "correct": true,
              "feedback": "Bonne réponse : la fréquence rapporte le nombre de succès\nau nombre de répétitions :\n$\\dfrac{95}{250} = 0{,}38$."
            },
            {
              "text": "$95$",
              "correct": false,
              "feedback": "Effectif brut recopié : $95$ compte les succès, il ne\ndevient une fréquence qu'après division par $250$."
            },
            {
              "text": "$0{,}62$",
              "correct": false,
              "feedback": "Fréquence des échecs : elle complète la précédente,\npuisque les deux totalisent $1$."
            },
            {
              "text": "$38$",
              "correct": false,
              "feedback": "Pourcentage et fréquence confondus : $38\\ \\%$\ns'écrit $0{,}38$ sous forme de fréquence."
            }
          ],
          "explanation": "Une fréquence est un quotient compris entre $0$ et $1$ :\nnombre de succès divisé par nombre de répétitions. C'est\nelle qui estime la probabilité cherchée."
        }
      ]
    },
    {
      "id": "q33",
      "difficulty": 1,
      "skills": [
        "repetition",
        "python"
      ],
      "title": "Compter les tirages d'une simulation",
      "partie": "simulation",
      "statement": "Un programme simule $20$ échantillons de taille\n$40$. Combien de tirages au hasard effectue-t-il en\ntout ?",
      "options": [
        {
          "text": "$800$",
          "correct": true,
          "feedback": "Bonne réponse : chaque échantillon demande $40$\ntirages, et le programme en construit $20$ :\n$20 \\times 40 = 800$."
        },
        {
          "text": "$60$",
          "correct": false,
          "feedback": "Addition au lieu d'un produit : les deux boucles sont\nimbriquées, la seconde recommençant à chaque tour de la\npremière."
        },
        {
          "text": "$20$",
          "correct": false,
          "feedback": "Nombre d'échantillons seul : chacun contient encore\n$40$ valeurs tirées au hasard."
        },
        {
          "text": "$40$",
          "correct": false,
          "feedback": "Taille d'un seul échantillon : le programme en construit\n$20$ de suite."
        }
      ],
      "explanation": "Simuler $N$ échantillons de taille $n$ demande deux boucles\nimbriquées, donc $N \\times n$ tirages. Le temps de calcul\ncroît avec ce produit.",
      "variants": [
        {
          "statement": "Un programme simule $20$ échantillons de taille\n$40$. Combien de tirages au hasard effectue-t-il en\ntout ?",
          "options": [
            {
              "text": "$800$",
              "correct": true,
              "feedback": "Bonne réponse : chaque échantillon demande $40$\ntirages, et le programme en construit $20$ :\n$20 \\times 40 = 800$."
            },
            {
              "text": "$60$",
              "correct": false,
              "feedback": "Addition au lieu d'un produit : les deux boucles sont\nimbriquées, la seconde recommençant à chaque tour de la\npremière."
            },
            {
              "text": "$20$",
              "correct": false,
              "feedback": "Nombre d'échantillons seul : chacun contient encore\n$40$ valeurs tirées au hasard."
            },
            {
              "text": "$40$",
              "correct": false,
              "feedback": "Taille d'un seul échantillon : le programme en construit\n$20$ de suite."
            }
          ],
          "explanation": "Simuler $N$ échantillons de taille $n$ demande deux boucles\nimbriquées, donc $N \\times n$ tirages. Le temps de calcul\ncroît avec ce produit."
        },
        {
          "statement": "Un programme simule $25$ échantillons de taille\n$30$. Combien de tirages au hasard effectue-t-il en\ntout ?",
          "options": [
            {
              "text": "$750$",
              "correct": true,
              "feedback": "Bonne réponse : chaque échantillon demande $30$\ntirages, et le programme en construit $25$ :\n$25 \\times 30 = 750$."
            },
            {
              "text": "$55$",
              "correct": false,
              "feedback": "Addition au lieu d'un produit : les deux boucles sont\nimbriquées, la seconde recommençant à chaque tour de la\npremière."
            },
            {
              "text": "$25$",
              "correct": false,
              "feedback": "Nombre d'échantillons seul : chacun contient encore\n$30$ valeurs tirées au hasard."
            },
            {
              "text": "$30$",
              "correct": false,
              "feedback": "Taille d'un seul échantillon : le programme en construit\n$25$ de suite."
            }
          ],
          "explanation": "Simuler $N$ échantillons de taille $n$ demande deux boucles\nimbriquées, donc $N \\times n$ tirages. Le temps de calcul\ncroît avec ce produit."
        },
        {
          "statement": "Un programme simule $40$ échantillons de taille\n$15$. Combien de tirages au hasard effectue-t-il en\ntout ?",
          "options": [
            {
              "text": "$600$",
              "correct": true,
              "feedback": "Bonne réponse : chaque échantillon demande $15$\ntirages, et le programme en construit $40$ :\n$40 \\times 15 = 600$."
            },
            {
              "text": "$55$",
              "correct": false,
              "feedback": "Addition au lieu d'un produit : les deux boucles sont\nimbriquées, la seconde recommençant à chaque tour de la\npremière."
            },
            {
              "text": "$40$",
              "correct": false,
              "feedback": "Nombre d'échantillons seul : chacun contient encore\n$15$ valeurs tirées au hasard."
            },
            {
              "text": "$15$",
              "correct": false,
              "feedback": "Taille d'un seul échantillon : le programme en construit\n$40$ de suite."
            }
          ],
          "explanation": "Simuler $N$ échantillons de taille $n$ demande deux boucles\nimbriquées, donc $N \\times n$ tirages. Le temps de calcul\ncroît avec ce produit."
        },
        {
          "statement": "Un programme simule $35$ échantillons de taille\n$20$. Combien de tirages au hasard effectue-t-il en\ntout ?",
          "options": [
            {
              "text": "$700$",
              "correct": true,
              "feedback": "Bonne réponse : chaque échantillon demande $20$\ntirages, et le programme en construit $35$ :\n$35 \\times 20 = 700$."
            },
            {
              "text": "$55$",
              "correct": false,
              "feedback": "Addition au lieu d'un produit : les deux boucles sont\nimbriquées, la seconde recommençant à chaque tour de la\npremière."
            },
            {
              "text": "$35$",
              "correct": false,
              "feedback": "Nombre d'échantillons seul : chacun contient encore\n$20$ valeurs tirées au hasard."
            },
            {
              "text": "$20$",
              "correct": false,
              "feedback": "Taille d'un seul échantillon : le programme en construit\n$35$ de suite."
            }
          ],
          "explanation": "Simuler $N$ échantillons de taille $n$ demande deux boucles\nimbriquées, donc $N \\times n$ tirages. Le temps de calcul\ncroît avec ce produit."
        }
      ]
    },
    {
      "id": "q34",
      "difficulty": 1,
      "skills": [
        "fluctuation",
        "modelisation"
      ],
      "title": "La fluctuation d'échantillonnage",
      "partie": "echantillonnage",
      "statement": "Qu'appelle-t-on fluctuation d'échantillonnage ?",
      "options": [
        {
          "text": "La variation des résultats d'un échantillon à l'autre",
          "correct": true,
          "feedback": "Bonne réponse : deux échantillons tirés dans la même\npopulation ne donnent pas la même moyenne ni la même\nfréquence. Cette variation est inévitable."
        },
        {
          "text": "La perte de précision quand la taille de l'échantillon grandit",
          "correct": false,
          "feedback": "Sens inversé : agrandir l'échantillon réduit les écarts,\ndont l'ordre de grandeur suit $\\dfrac{1}{\\sqrt{n}}$."
        },
        {
          "text": "L'écart entre le modèle choisi et le phénomène réel",
          "correct": false,
          "feedback": "Autre question : la qualité du modèle est un problème\ndistinct. La fluctuation existe même avec un modèle\nparfaitement exact."
        },
        {
          "text": "L'imperfection du générateur de nombres aléatoires",
          "correct": false,
          "feedback": "Erreur : la fluctuation n'est pas un défaut technique,\nelle apparaît tout autant avec un vrai tirage au sort."
        }
      ],
      "explanation": "La fluctuation d'échantillonnage est la variabilité naturelle\ndes résultats d'un échantillon à l'autre. Elle diminue quand\nla taille augmente, sans jamais disparaître."
    },
    {
      "id": "q35",
      "difficulty": 1,
      "skills": [
        "modification",
        "python"
      ],
      "title": "Renvoyer un effectif plutôt qu'une fréquence",
      "partie": "python",
      "statement": "Une fonction simule `n` répétitions, compte les succès dans\nla variable `c` et se termine par `return c / n`. Comment la\nmodifier pour qu'elle renvoie le nombre de succès ?",
      "options": [
        {
          "text": "Remplacer la dernière ligne par `return c`",
          "correct": true,
          "feedback": "Bonne réponse : le compteur `c` contient déjà le nombre\nde succès. La division par `n` est justement ce qui le\ntransformait en fréquence."
        },
        {
          "text": "Remplacer la dernière ligne par `return c * n`",
          "correct": false,
          "feedback": "Erreur : multiplier par `n` ne défait pas la division,\nil l'aggrave. Il suffit de supprimer le quotient."
        },
        {
          "text": "Déplacer l'instruction `return c` dans la boucle",
          "correct": false,
          "feedback": "Erreur : un `return` placé dans la boucle interrompt la\nfonction dès le premier tour, avant tout comptage."
        },
        {
          "text": "Initialiser le compteur `c` à `n` au lieu de `0`",
          "correct": false,
          "feedback": "Erreur : le compteur partirait d'une valeur fausse et\ncompterait $n$ succès de trop."
        }
      ],
      "explanation": "Effectif et fréquence ne diffèrent que d'une division par le\nnombre de répétitions. Passer de l'un à l'autre ne demande\ndonc qu'une retouche de la ligne `return`."
    },
    {
      "id": "q36",
      "difficulty": 2,
      "skills": [
        "structure",
        "python"
      ],
      "title": "Un `return` mal placé",
      "partie": "python",
      "statement": "Pourquoi cette fonction ne renvoie-t-elle jamais plus de $1$ ?\n\n```python\nfrom random import randint\ndef compte(n):\n    c = 0\n    for _ in range(n):\n        if randint(1, 6) == 6:\n            c = c + 1\n        return c\n```",
      "options": [
        {
          "text": "Le `return` est placé à l'intérieur de la boucle",
          "correct": true,
          "feedback": "Bonne réponse : un `return` interrompt la fonction dès\nqu'il est atteint. Ici il l'arrête au premier tour, après\nun seul lancer simulé."
        },
        {
          "text": "Le compteur `c` est réinitialisé à chaque tour de boucle",
          "correct": false,
          "feedback": "Lecture erronée : `c = 0` est écrit avant la boucle, donc\nexécuté une seule fois. L'initialisation n'est pas en\ncause."
        },
        {
          "text": "L'instruction `c = c + 1` n'augmente pas vraiment `c`",
          "correct": false,
          "feedback": "Erreur : cette écriture ajoute bien $1$ au compteur. Elle\nest correcte et ne s'exécute simplement qu'une fois."
        },
        {
          "text": "La variable `c` est déclarée en dehors de la boucle",
          "correct": false,
          "feedback": "Exact mais sans rapport : initialiser le compteur avant\nla boucle est précisément ce qu'il faut faire."
        }
      ],
      "explanation": "Le corps d'une boucle est délimité par l'indentation. Le\n`return` doit être aligné avec le `for`, donc écrit après la\nboucle, pour que le comptage aille jusqu'au bout."
    },
    {
      "id": "q37",
      "difficulty": 2,
      "skills": [
        "fonction",
        "methode"
      ],
      "title": "L'intérêt d'un paramètre",
      "partie": "python",
      "statement": "Une simulation est écrite sous la forme `def simulation(n):`\nplutôt qu'avec le nombre de répétitions inscrit dans le code.\nQuel avantage cette écriture présente-t-elle ?",
      "options": [
        {
          "text": "Relancer la simulation avec d'autres tailles",
          "correct": true,
          "feedback": "Bonne réponse : un seul programme sert alors à comparer\n$n = 100$, $n = 1\\,000$ ou $n = 10\\,000$, ce qui est\nexactement la démarche du chapitre."
        },
        {
          "text": "Obtenir un résultat identique d'une exécution à l'autre",
          "correct": false,
          "feedback": "Erreur : les tirages restent aléatoires, donc le résultat\nchange à chaque appel, paramètre ou non."
        },
        {
          "text": "Supprimer les fluctuations dues au hasard",
          "correct": false,
          "feedback": "Erreur : aucune écriture ne supprime les fluctuations ;\nseule une grande valeur de `n` les réduit."
        },
        {
          "text": "Rendre chaque exécution nettement plus rapide",
          "correct": false,
          "feedback": "Erreur : le temps de calcul dépend du nombre de tirages,\npas de la façon dont ce nombre est fourni."
        }
      ],
      "explanation": "Un paramètre rend la simulation réutilisable : on fait varier\nla taille sans réécrire le programme, ce qui permet\nd'observer l'effet de $n$ sur les résultats."
    },
    {
      "id": "q38",
      "difficulty": 2,
      "skills": [
        "distinction",
        "ecart-type"
      ],
      "title": "Ce que la taille ne change pas",
      "partie": "echantillonnage",
      "statement": "On simule des échantillons de plus en plus grands d'une même\nvariable aléatoire. Que devient l'écart-type $\\sigma$ de\ncette variable ?",
      "options": [
        {
          "text": "Il ne change pas : il est fixé par la loi de $X$",
          "correct": true,
          "feedback": "Bonne réponse : $\\sigma$ se calcule sur la loi de la\nvariable, pas sur les données simulées. C'est la\ndispersion des moyennes, en $\\dfrac{\\sigma}{\\sqrt{n}}$,\nqui diminue."
        },
        {
          "text": "Il diminue comme la dispersion des moyennes observées",
          "correct": false,
          "feedback": "Confusion classique : $\\dfrac{\\sigma}{\\sqrt{n}}$ décroît,\nmais $\\sigma$ lui-même reste fixe."
        },
        {
          "text": "Il se rapproche de zéro quand la taille devient grande",
          "correct": false,
          "feedback": "Erreur : une variable très dispersée le reste, quel que\nsoit le nombre de valeurs observées."
        },
        {
          "text": "Il augmente avec le nombre de valeurs simulées",
          "correct": false,
          "feedback": "Erreur : ajouter des observations ne rend pas le\nphénomène plus dispersé qu'il n'est."
        }
      ],
      "explanation": "Deux écarts-types à distinguer : celui de la variable,\n$\\sigma$, fixé par la loi, et celui de la moyenne d'un\néchantillon, $\\dfrac{\\sigma}{\\sqrt{n}}$, qui décroît avec la\ntaille."
    },
    {
      "id": "q39",
      "difficulty": 2,
      "skills": [
        "comparaison",
        "estimation"
      ],
      "title": "Deux estimations d'une même probabilité",
      "partie": "echantillonnage",
      "statement": "Deux simulations estiment la même probabilité : la première\nannonce $0{,}48$ après $100$ répétitions, la seconde $0{,}51$\naprès $10\\,000$ répétitions. Laquelle retenir ?",
      "options": [
        {
          "text": "La seconde, dont la précision est bien meilleure",
          "correct": true,
          "feedback": "Bonne réponse : la précision croît avec le nombre de\nrépétitions. Cent répétitions laissent un écart typique\nde l'ordre de $0{,}1$, dix mille de l'ordre de $0{,}01$."
        },
        {
          "text": "Leur moyenne, qui compense les erreurs des deux essais",
          "correct": false,
          "feedback": "Erreur : une moyenne simple donnerait autant de poids à\ncent répétitions qu'à dix mille, alors qu'elles ne se\nvalent pas."
        },
        {
          "text": "La première, dont le résultat est plus proche de $0{,}5$",
          "correct": false,
          "feedback": "Argument circulaire : la valeur cherchée est inconnue,\nrien ne dit qu'elle vaut $0{,}5$."
        },
        {
          "text": "Aucune, deux résultats différents s'annulant l'un l'autre",
          "correct": false,
          "feedback": "Erreur : deux estimations différentes sont normales, et\nla plus longue des deux simulations reste la plus sûre."
        }
      ],
      "explanation": "La fiabilité d'une estimation se juge au nombre de\nrépétitions. Multiplier ce nombre par $100$ divise par $10$\nl'ordre de grandeur des écarts."
    },
    {
      "id": "q40",
      "difficulty": 2,
      "skills": [
        "proportion-2sigma",
        "interpretation"
      ],
      "title": "Combien d'échantillons hors de l'intervalle",
      "partie": "estimation",
      "statement": "On simule $200$ échantillons d'une même variable aléatoire\net on relève les moyennes qui sortent de l'intervalle\n$\\left[\\mu - \\dfrac{2\\sigma}{\\sqrt{n}}\\,;\\,\\mu +\n\\dfrac{2\\sigma}{\\sqrt{n}}\\right]$. Combien en attend-on\nenviron ?",
      "options": [
        {
          "text": "$10$",
          "correct": true,
          "feedback": "Bonne réponse : environ $5\\ \\%$ des moyennes sortent de\ncet intervalle, soit $10$ échantillons sur $200$."
        },
        {
          "text": "$190$",
          "correct": false,
          "feedback": "Proportion inversée : $95\\ \\%$ des moyennes restent\n**dans** l'intervalle ; la question porte sur celles qui\nen sortent."
        },
        {
          "text": "$100$",
          "correct": false,
          "feedback": "Erreur : la moitié des cas correspondrait à un intervalle\nbien plus étroit que $\\dfrac{2\\sigma}{\\sqrt{n}}$."
        },
        {
          "text": "$20$",
          "correct": false,
          "feedback": "Proportion doublée : $10\\ \\%$ est le double de ce qu'on\nobserve, qui est voisin de $5\\ \\%$."
        }
      ],
      "explanation": "Constat de simulation du programme : environ $95\\ \\%$ des\nmoyennes d'échantillons tombent dans l'intervalle, donc\nenviron $5\\ \\%$ en sortent, sans que ce soit anormal.",
      "variants": [
        {
          "statement": "On simule $200$ échantillons d'une même variable aléatoire\net on relève les moyennes qui sortent de l'intervalle\n$\\left[\\mu - \\dfrac{2\\sigma}{\\sqrt{n}}\\,;\\,\\mu +\n\\dfrac{2\\sigma}{\\sqrt{n}}\\right]$. Combien en attend-on\nenviron ?",
          "options": [
            {
              "text": "$10$",
              "correct": true,
              "feedback": "Bonne réponse : environ $5\\ \\%$ des moyennes sortent de\ncet intervalle, soit $10$ échantillons sur $200$."
            },
            {
              "text": "$190$",
              "correct": false,
              "feedback": "Proportion inversée : $95\\ \\%$ des moyennes restent\n**dans** l'intervalle ; la question porte sur celles qui\nen sortent."
            },
            {
              "text": "$100$",
              "correct": false,
              "feedback": "Erreur : la moitié des cas correspondrait à un intervalle\nbien plus étroit que $\\dfrac{2\\sigma}{\\sqrt{n}}$."
            },
            {
              "text": "$20$",
              "correct": false,
              "feedback": "Proportion doublée : $10\\ \\%$ est le double de ce qu'on\nobserve, qui est voisin de $5\\ \\%$."
            }
          ],
          "explanation": "Constat de simulation du programme : environ $95\\ \\%$ des\nmoyennes d'échantillons tombent dans l'intervalle, donc\nenviron $5\\ \\%$ en sortent, sans que ce soit anormal."
        },
        {
          "statement": "On simule $400$ échantillons d'une même variable aléatoire\net on relève les moyennes qui sortent de l'intervalle\n$\\left[\\mu - \\dfrac{2\\sigma}{\\sqrt{n}}\\,;\\,\\mu +\n\\dfrac{2\\sigma}{\\sqrt{n}}\\right]$. Combien en attend-on\nenviron ?",
          "options": [
            {
              "text": "$20$",
              "correct": true,
              "feedback": "Bonne réponse : environ $5\\ \\%$ des moyennes sortent de\ncet intervalle, soit $20$ échantillons sur $400$."
            },
            {
              "text": "$380$",
              "correct": false,
              "feedback": "Proportion inversée : $95\\ \\%$ des moyennes restent\n**dans** l'intervalle ; la question porte sur celles qui\nen sortent."
            },
            {
              "text": "$200$",
              "correct": false,
              "feedback": "Erreur : la moitié des cas correspondrait à un intervalle\nbien plus étroit que $\\dfrac{2\\sigma}{\\sqrt{n}}$."
            },
            {
              "text": "$40$",
              "correct": false,
              "feedback": "Proportion doublée : $10\\ \\%$ est le double de ce qu'on\nobserve, qui est voisin de $5\\ \\%$."
            }
          ],
          "explanation": "Constat de simulation du programme : environ $95\\ \\%$ des\nmoyennes d'échantillons tombent dans l'intervalle, donc\nenviron $5\\ \\%$ en sortent, sans que ce soit anormal."
        },
        {
          "statement": "On simule $600$ échantillons d'une même variable aléatoire\net on relève les moyennes qui sortent de l'intervalle\n$\\left[\\mu - \\dfrac{2\\sigma}{\\sqrt{n}}\\,;\\,\\mu +\n\\dfrac{2\\sigma}{\\sqrt{n}}\\right]$. Combien en attend-on\nenviron ?",
          "options": [
            {
              "text": "$30$",
              "correct": true,
              "feedback": "Bonne réponse : environ $5\\ \\%$ des moyennes sortent de\ncet intervalle, soit $30$ échantillons sur $600$."
            },
            {
              "text": "$570$",
              "correct": false,
              "feedback": "Proportion inversée : $95\\ \\%$ des moyennes restent\n**dans** l'intervalle ; la question porte sur celles qui\nen sortent."
            },
            {
              "text": "$300$",
              "correct": false,
              "feedback": "Erreur : la moitié des cas correspondrait à un intervalle\nbien plus étroit que $\\dfrac{2\\sigma}{\\sqrt{n}}$."
            },
            {
              "text": "$60$",
              "correct": false,
              "feedback": "Proportion doublée : $10\\ \\%$ est le double de ce qu'on\nobserve, qui est voisin de $5\\ \\%$."
            }
          ],
          "explanation": "Constat de simulation du programme : environ $95\\ \\%$ des\nmoyennes d'échantillons tombent dans l'intervalle, donc\nenviron $5\\ \\%$ en sortent, sans que ce soit anormal."
        },
        {
          "statement": "On simule $800$ échantillons d'une même variable aléatoire\net on relève les moyennes qui sortent de l'intervalle\n$\\left[\\mu - \\dfrac{2\\sigma}{\\sqrt{n}}\\,;\\,\\mu +\n\\dfrac{2\\sigma}{\\sqrt{n}}\\right]$. Combien en attend-on\nenviron ?",
          "options": [
            {
              "text": "$40$",
              "correct": true,
              "feedback": "Bonne réponse : environ $5\\ \\%$ des moyennes sortent de\ncet intervalle, soit $40$ échantillons sur $800$."
            },
            {
              "text": "$760$",
              "correct": false,
              "feedback": "Proportion inversée : $95\\ \\%$ des moyennes restent\n**dans** l'intervalle ; la question porte sur celles qui\nen sortent."
            },
            {
              "text": "$400$",
              "correct": false,
              "feedback": "Erreur : la moitié des cas correspondrait à un intervalle\nbien plus étroit que $\\dfrac{2\\sigma}{\\sqrt{n}}$."
            },
            {
              "text": "$80$",
              "correct": false,
              "feedback": "Proportion doublée : $10\\ \\%$ est le double de ce qu'on\nobserve, qui est voisin de $5\\ \\%$."
            }
          ],
          "explanation": "Constat de simulation du programme : environ $95\\ \\%$ des\nmoyennes d'échantillons tombent dans l'intervalle, donc\nenviron $5\\ \\%$ en sortent, sans que ce soit anormal."
        }
      ]
    },
    {
      "id": "q41",
      "difficulty": 3,
      "skills": [
        "seuil",
        "ecart-type-moyenne"
      ],
      "title": "Quelle taille pour une précision donnée",
      "partie": "estimation",
      "statement": "Une variable aléatoire a pour écart-type $\\sigma = 5$. À\npartir de quelle taille $n$ l'ordre de grandeur\n$\\dfrac{2\\sigma}{\\sqrt{n}}$ des écarts devient-il inférieur\nou égal à $1$ ?",
      "options": [
        {
          "text": "$100$",
          "correct": true,
          "feedback": "Bonne réponse : $\\dfrac{2 \\times 5}{\\sqrt{n}} \\leq 1$\néquivaut à $\\sqrt{n} \\geq 10$, donc à\n$n \\geq 10^2 = 100$."
        },
        {
          "text": "$10$",
          "correct": false,
          "feedback": "Carré oublié : $10$ est la valeur minimale de\n$\\sqrt{n}$, pas celle de $n$."
        },
        {
          "text": "$25$",
          "correct": false,
          "feedback": "Facteur $2$ oublié : le numérateur vaut $2\\sigma$, soit\n$10 \\times 1$, et non $\\sigma$ seul."
        },
        {
          "text": "$200$",
          "correct": false,
          "feedback": "Erreur de manipulation : le facteur $2$ intervient avant\nl'élévation au carré, il ne double pas le résultat final."
        }
      ],
      "explanation": "On résout $\\dfrac{2\\sigma}{\\sqrt{n}} \\leq e$ en isolant\n$\\sqrt{n} \\geq \\dfrac{2\\sigma}{e}$, puis en élevant au carré.\nDiviser la précision demandée par $10$ multiplie la taille\npar $100$.",
      "variants": [
        {
          "statement": "Une variable aléatoire a pour écart-type $\\sigma = 5$. À\npartir de quelle taille $n$ l'ordre de grandeur\n$\\dfrac{2\\sigma}{\\sqrt{n}}$ des écarts devient-il inférieur\nou égal à $1$ ?",
          "options": [
            {
              "text": "$100$",
              "correct": true,
              "feedback": "Bonne réponse : $\\dfrac{2 \\times 5}{\\sqrt{n}} \\leq 1$\néquivaut à $\\sqrt{n} \\geq 10$, donc à\n$n \\geq 10^2 = 100$."
            },
            {
              "text": "$10$",
              "correct": false,
              "feedback": "Carré oublié : $10$ est la valeur minimale de\n$\\sqrt{n}$, pas celle de $n$."
            },
            {
              "text": "$25$",
              "correct": false,
              "feedback": "Facteur $2$ oublié : le numérateur vaut $2\\sigma$, soit\n$10 \\times 1$, et non $\\sigma$ seul."
            },
            {
              "text": "$200$",
              "correct": false,
              "feedback": "Erreur de manipulation : le facteur $2$ intervient avant\nl'élévation au carré, il ne double pas le résultat final."
            }
          ],
          "explanation": "On résout $\\dfrac{2\\sigma}{\\sqrt{n}} \\leq e$ en isolant\n$\\sqrt{n} \\geq \\dfrac{2\\sigma}{e}$, puis en élevant au carré.\nDiviser la précision demandée par $10$ multiplie la taille\npar $100$."
        },
        {
          "statement": "Une variable aléatoire a pour écart-type $\\sigma = 3$. À\npartir de quelle taille $n$ l'ordre de grandeur\n$\\dfrac{2\\sigma}{\\sqrt{n}}$ des écarts devient-il inférieur\nou égal à $0{,}2$ ?",
          "options": [
            {
              "text": "$900$",
              "correct": true,
              "feedback": "Bonne réponse : $\\dfrac{2 \\times 3}{\\sqrt{n}} \\leq 0{,}2$\néquivaut à $\\sqrt{n} \\geq 30$, donc à\n$n \\geq 30^2 = 900$."
            },
            {
              "text": "$30$",
              "correct": false,
              "feedback": "Carré oublié : $30$ est la valeur minimale de\n$\\sqrt{n}$, pas celle de $n$."
            },
            {
              "text": "$225$",
              "correct": false,
              "feedback": "Facteur $2$ oublié : le numérateur vaut $2\\sigma$, soit\n$30 \\times 0{,}2$, et non $\\sigma$ seul."
            },
            {
              "text": "$1800$",
              "correct": false,
              "feedback": "Erreur de manipulation : le facteur $2$ intervient avant\nl'élévation au carré, il ne double pas le résultat final."
            }
          ],
          "explanation": "On résout $\\dfrac{2\\sigma}{\\sqrt{n}} \\leq e$ en isolant\n$\\sqrt{n} \\geq \\dfrac{2\\sigma}{e}$, puis en élevant au carré.\nDiviser la précision demandée par $10$ multiplie la taille\npar $100$."
        },
        {
          "statement": "Une variable aléatoire a pour écart-type $\\sigma = 4$. À\npartir de quelle taille $n$ l'ordre de grandeur\n$\\dfrac{2\\sigma}{\\sqrt{n}}$ des écarts devient-il inférieur\nou égal à $0{,}5$ ?",
          "options": [
            {
              "text": "$256$",
              "correct": true,
              "feedback": "Bonne réponse : $\\dfrac{2 \\times 4}{\\sqrt{n}} \\leq 0{,}5$\néquivaut à $\\sqrt{n} \\geq 16$, donc à\n$n \\geq 16^2 = 256$."
            },
            {
              "text": "$16$",
              "correct": false,
              "feedback": "Carré oublié : $16$ est la valeur minimale de\n$\\sqrt{n}$, pas celle de $n$."
            },
            {
              "text": "$64$",
              "correct": false,
              "feedback": "Facteur $2$ oublié : le numérateur vaut $2\\sigma$, soit\n$16 \\times 0{,}5$, et non $\\sigma$ seul."
            },
            {
              "text": "$512$",
              "correct": false,
              "feedback": "Erreur de manipulation : le facteur $2$ intervient avant\nl'élévation au carré, il ne double pas le résultat final."
            }
          ],
          "explanation": "On résout $\\dfrac{2\\sigma}{\\sqrt{n}} \\leq e$ en isolant\n$\\sqrt{n} \\geq \\dfrac{2\\sigma}{e}$, puis en élevant au carré.\nDiviser la précision demandée par $10$ multiplie la taille\npar $100$."
        },
        {
          "statement": "Une variable aléatoire a pour écart-type $\\sigma = 6$. À\npartir de quelle taille $n$ l'ordre de grandeur\n$\\dfrac{2\\sigma}{\\sqrt{n}}$ des écarts devient-il inférieur\nou égal à $2$ ?",
          "options": [
            {
              "text": "$36$",
              "correct": true,
              "feedback": "Bonne réponse : $\\dfrac{2 \\times 6}{\\sqrt{n}} \\leq 2$\néquivaut à $\\sqrt{n} \\geq 6$, donc à\n$n \\geq 6^2 = 36$."
            },
            {
              "text": "$6$",
              "correct": false,
              "feedback": "Carré oublié : $6$ est la valeur minimale de\n$\\sqrt{n}$, pas celle de $n$."
            },
            {
              "text": "$9$",
              "correct": false,
              "feedback": "Facteur $2$ oublié : le numérateur vaut $2\\sigma$, soit\n$6 \\times 2$, et non $\\sigma$ seul."
            },
            {
              "text": "$72$",
              "correct": false,
              "feedback": "Erreur de manipulation : le facteur $2$ intervient avant\nl'élévation au carré, il ne double pas le résultat final."
            }
          ],
          "explanation": "On résout $\\dfrac{2\\sigma}{\\sqrt{n}} \\leq e$ en isolant\n$\\sqrt{n} \\geq \\dfrac{2\\sigma}{e}$, puis en élevant au carré.\nDiviser la précision demandée par $10$ multiplie la taille\npar $100$."
        }
      ]
    },
    {
      "id": "q42",
      "difficulty": 2,
      "skills": [
        "modelisation",
        "simulation"
      ],
      "title": "Choisir un protocole de simulation",
      "partie": "simulation",
      "statement": "On veut estimer par simulation la probabilité d'obtenir au\nmoins deux « pile » en lançant trois fois une pièce\néquilibrée. Quel protocole convient ?",
      "options": [
        {
          "text": "Répéter souvent trois lancers et compter les cas favorables",
          "correct": true,
          "feedback": "Bonne réponse : l'expérience à répéter est la série de\ntrois lancers. La fréquence des séries comportant au\nmoins deux « pile » estime la probabilité cherchée."
        },
        {
          "text": "Répéter souvent un lancer et multiplier la fréquence par trois",
          "correct": false,
          "feedback": "Erreur : une probabilité ne se multiplie pas ainsi. Le\nrésultat dépasserait même $1$ dans bien des cas."
        },
        {
          "text": "Simuler beaucoup de lancers et compter les « pile » obtenus",
          "correct": false,
          "feedback": "Groupes oubliés : ce comptage donne la fréquence de\n« pile », sans jamais former les séries de trois lancers."
        },
        {
          "text": "Lancer trois fois la pièce, puis conclure sur le résultat",
          "correct": false,
          "feedback": "Répétition oubliée : une seule série ne fournit qu'une\nobservation, d'où aucune fréquence ne peut sortir."
        }
      ],
      "explanation": "Simuler un événement composé demande d'identifier\nl'expérience à répéter, ici trois lancers, puis de compter\nles répétitions où l'événement se réalise."
    },
    {
      "id": "q43",
      "difficulty": 2,
      "skills": [
        "monte-carlo",
        "estimation"
      ],
      "title": "Estimer une aire par simulation",
      "partie": "simulation",
      "statement": "Pour estimer l'aire d'une figure tracée dans un carré d'aire\n$16$, on tire $500$ points au hasard dans ce carré :\n$150$ tombent dans la figure. Quelle estimation de\nl'aire obtient-on ?",
      "options": [
        {
          "text": "$4{,}8$",
          "correct": true,
          "feedback": "Bonne réponse : la proportion de points tombés dans la\nfigure estime la part d'aire qu'elle occupe, d'où\n$16 \\times \\dfrac{150}{500} = 4{,}8$."
        },
        {
          "text": "$0{,}3$",
          "correct": false,
          "feedback": "Aire du carré oubliée : cette fréquence est une\nproportion, qu'il reste à convertir en aire."
        },
        {
          "text": "$11{,}2$",
          "correct": false,
          "feedback": "Zone complémentaire : ce résultat mesure la partie du\ncarré située hors de la figure."
        },
        {
          "text": "$150$",
          "correct": false,
          "feedback": "Effectif recopié : un nombre de points n'est pas une\naire ; il faut le rapporter au total des points tirés."
        }
      ],
      "explanation": "Méthode de Monte-Carlo : la fréquence des points tombant dans\nla figure estime le rapport des aires. On multiplie donc\ncette fréquence par l'aire du carré.",
      "variants": [
        {
          "statement": "Pour estimer l'aire d'une figure tracée dans un carré d'aire\n$16$, on tire $500$ points au hasard dans ce carré :\n$150$ tombent dans la figure. Quelle estimation de\nl'aire obtient-on ?",
          "options": [
            {
              "text": "$4{,}8$",
              "correct": true,
              "feedback": "Bonne réponse : la proportion de points tombés dans la\nfigure estime la part d'aire qu'elle occupe, d'où\n$16 \\times \\dfrac{150}{500} = 4{,}8$."
            },
            {
              "text": "$0{,}3$",
              "correct": false,
              "feedback": "Aire du carré oubliée : cette fréquence est une\nproportion, qu'il reste à convertir en aire."
            },
            {
              "text": "$11{,}2$",
              "correct": false,
              "feedback": "Zone complémentaire : ce résultat mesure la partie du\ncarré située hors de la figure."
            },
            {
              "text": "$150$",
              "correct": false,
              "feedback": "Effectif recopié : un nombre de points n'est pas une\naire ; il faut le rapporter au total des points tirés."
            }
          ],
          "explanation": "Méthode de Monte-Carlo : la fréquence des points tombant dans\nla figure estime le rapport des aires. On multiplie donc\ncette fréquence par l'aire du carré."
        },
        {
          "statement": "Pour estimer l'aire d'une figure tracée dans un carré d'aire\n$25$, on tire $400$ points au hasard dans ce carré :\n$160$ tombent dans la figure. Quelle estimation de\nl'aire obtient-on ?",
          "options": [
            {
              "text": "$10$",
              "correct": true,
              "feedback": "Bonne réponse : la proportion de points tombés dans la\nfigure estime la part d'aire qu'elle occupe, d'où\n$25 \\times \\dfrac{160}{400} = 10$."
            },
            {
              "text": "$0{,}4$",
              "correct": false,
              "feedback": "Aire du carré oubliée : cette fréquence est une\nproportion, qu'il reste à convertir en aire."
            },
            {
              "text": "$15$",
              "correct": false,
              "feedback": "Zone complémentaire : ce résultat mesure la partie du\ncarré située hors de la figure."
            },
            {
              "text": "$160$",
              "correct": false,
              "feedback": "Effectif recopié : un nombre de points n'est pas une\naire ; il faut le rapporter au total des points tirés."
            }
          ],
          "explanation": "Méthode de Monte-Carlo : la fréquence des points tombant dans\nla figure estime le rapport des aires. On multiplie donc\ncette fréquence par l'aire du carré."
        },
        {
          "statement": "Pour estimer l'aire d'une figure tracée dans un carré d'aire\n$36$, on tire $800$ points au hasard dans ce carré :\n$200$ tombent dans la figure. Quelle estimation de\nl'aire obtient-on ?",
          "options": [
            {
              "text": "$9$",
              "correct": true,
              "feedback": "Bonne réponse : la proportion de points tombés dans la\nfigure estime la part d'aire qu'elle occupe, d'où\n$36 \\times \\dfrac{200}{800} = 9$."
            },
            {
              "text": "$0{,}25$",
              "correct": false,
              "feedback": "Aire du carré oubliée : cette fréquence est une\nproportion, qu'il reste à convertir en aire."
            },
            {
              "text": "$27$",
              "correct": false,
              "feedback": "Zone complémentaire : ce résultat mesure la partie du\ncarré située hors de la figure."
            },
            {
              "text": "$200$",
              "correct": false,
              "feedback": "Effectif recopié : un nombre de points n'est pas une\naire ; il faut le rapporter au total des points tirés."
            }
          ],
          "explanation": "Méthode de Monte-Carlo : la fréquence des points tombant dans\nla figure estime le rapport des aires. On multiplie donc\ncette fréquence par l'aire du carré."
        },
        {
          "statement": "Pour estimer l'aire d'une figure tracée dans un carré d'aire\n$9$, on tire $600$ points au hasard dans ce carré :\n$240$ tombent dans la figure. Quelle estimation de\nl'aire obtient-on ?",
          "options": [
            {
              "text": "$3{,}6$",
              "correct": true,
              "feedback": "Bonne réponse : la proportion de points tombés dans la\nfigure estime la part d'aire qu'elle occupe, d'où\n$9 \\times \\dfrac{240}{600} = 3{,}6$."
            },
            {
              "text": "$0{,}4$",
              "correct": false,
              "feedback": "Aire du carré oubliée : cette fréquence est une\nproportion, qu'il reste à convertir en aire."
            },
            {
              "text": "$5{,}4$",
              "correct": false,
              "feedback": "Zone complémentaire : ce résultat mesure la partie du\ncarré située hors de la figure."
            },
            {
              "text": "$240$",
              "correct": false,
              "feedback": "Effectif recopié : un nombre de points n'est pas une\naire ; il faut le rapporter au total des points tirés."
            }
          ],
          "explanation": "Méthode de Monte-Carlo : la fréquence des points tombant dans\nla figure estime le rapport des aires. On multiplie donc\ncette fréquence par l'aire du carré."
        }
      ]
    },
    {
      "id": "q44",
      "difficulty": 3,
      "skills": [
        "python",
        "lecture-code"
      ],
      "title": "Deux façons de diviser",
      "partie": "python",
      "statement": "Que change-t-on dans cette fonction en remplaçant\n`sum(L) / len(L)` par `sum(L) / n` ?\n\n```python\nfrom random import randint\ndef moyenne_echantillon(n):\n    L = []\n    for _ in range(n):\n        L.append(randint(1, 6))\n    return sum(L) / len(L)\n```",
      "options": [
        {
          "text": "Rien : la liste contient `n` valeurs après la boucle",
          "correct": true,
          "feedback": "Bonne réponse : la boucle ajoute exactement une valeur\npar tour, donc `len(L)` vaut `n` à la sortie. Les deux\nécritures donnent la même moyenne."
        },
        {
          "text": "Le programme s'arrête, car `n` n'est pas défini ici",
          "correct": false,
          "feedback": "Erreur : `n` est le paramètre de la fonction, donc connu\ndans tout son corps. Il en irait autrement si la fonction\nrecevait la liste `L`."
        },
        {
          "text": "Le résultat devient la somme des tirages effectués",
          "correct": false,
          "feedback": "Erreur : la division subsiste, seul son diviseur est\nécrit autrement."
        },
        {
          "text": "La fonction renvoie une fréquence et non une moyenne",
          "correct": false,
          "feedback": "Erreur : les valeurs ajoutées sont des faces de dé, pas\ndes succès ; leur somme divisée par `n` reste une\nmoyenne."
        }
      ],
      "explanation": "`len(L)` compte les éléments effectivement rangés dans la\nliste, `n` annonce le nombre de tours prévus. Les deux\ncoïncident tant que la boucle ajoute une valeur par tour."
    },
    {
      "id": "q45",
      "difficulty": 3,
      "skills": [
        "methode",
        "interpretation"
      ],
      "title": "Trop de décimales",
      "partie": "python",
      "statement": "Une simulation de $1\\,000$ répétitions annonce une fréquence\nde succès de $0{,}4863$. Que penser de ces quatre décimales ?",
      "options": [
        {
          "text": "Deux décimales seraient déjà bien généreuses",
          "correct": true,
          "feedback": "Bonne réponse : pour $n = 1\\,000$, l'ordre de grandeur\ndes écarts atteint $0{,}03$. Au-delà du centième, les\nchiffres changent à chaque exécution."
        },
        {
          "text": "Elles sont justifiées par les mille répétitions",
          "correct": false,
          "feedback": "Erreur d'échelle : mille répétitions donnent une\nprécision de l'ordre du centième, pas du dix-millième."
        },
        {
          "text": "Elles sont exactes, l'ordinateur ne se trompant pas",
          "correct": false,
          "feedback": "Confusion : le calcul est exact, mais il porte sur un\néchantillon particulier, que le hasard renouvelle."
        },
        {
          "text": "Elles deviendraient fiables en relançant la simulation",
          "correct": false,
          "feedback": "Erreur : relancer donnerait d'autres décimales. Seule\nune valeur de `n` bien plus grande les stabiliserait."
        }
      ],
      "explanation": "Le nombre de décimales annoncées doit rester compatible avec\nla précision de la simulation, mesurée par\n$\\dfrac{2\\sigma}{\\sqrt{n}}$. Annoncer davantage donne une\nillusion d'exactitude."
    },
    {
      "id": "q46",
      "difficulty": 1,
      "skills": [
        "estimation",
        "frequence",
        "probabilite"
      ],
      "title": "Estimer une probabilité par une fréquence",
      "partie": "estimation",
      "statement": "En répétant $200$ fois une expérience, on observe $37$ fois\nl'événement $A$. Quelle estimation de $P(A)$ en déduit-on ?",
      "options": [
        {
          "text": "$0{,}185$, la fréquence observée",
          "correct": true,
          "feedback": "Bonne réponse : la fréquence $\\dfrac{37}{200} = 0{,}185$ estime\nla probabilité, d'autant mieux que $200$ est grand.\n"
        },
        {
          "text": "$37$, le nombre de réalisations",
          "correct": false,
          "feedback": "Erreur : un effectif n'est pas une probabilité ; il faut le\nrapporter au nombre d'essais.\n"
        },
        {
          "text": "$\\dfrac{163}{200}$, la fréquence du contraire",
          "correct": false,
          "feedback": "Erreur : $\\dfrac{163}{200}$ estime $P(\\bar{A})$.\n"
        },
        {
          "text": "$\\dfrac{1}{200}$, une chance sur $200$",
          "correct": false,
          "feedback": "Erreur : $\\dfrac{1}{200}$ ne tient pas compte des $37$\nréalisations.\n"
        }
      ],
      "explanation": "La fréquence d'un événement sur un grand nombre d'essais est une\nestimation de sa probabilité.",
      "variants": [
        {
          "statement": "En répétant $200$ fois une expérience, on observe $37$ fois\nl'événement $A$. Quelle estimation de $P(A)$ en déduit-on ?",
          "options": [
            {
              "text": "$0{,}185$, la fréquence observée",
              "correct": true,
              "feedback": "Bonne réponse : la fréquence $\\dfrac{37}{200} = 0{,}185$ estime\nla probabilité, d'autant mieux que $200$ est grand.\n"
            },
            {
              "text": "$37$, le nombre de réalisations",
              "correct": false,
              "feedback": "Erreur : un effectif n'est pas une probabilité ; il faut le\nrapporter au nombre d'essais.\n"
            },
            {
              "text": "$\\dfrac{163}{200}$, la fréquence du contraire",
              "correct": false,
              "feedback": "Erreur : $\\dfrac{163}{200}$ estime $P(\\bar{A})$.\n"
            },
            {
              "text": "$\\dfrac{1}{200}$, une chance sur $200$",
              "correct": false,
              "feedback": "Erreur : $\\dfrac{1}{200}$ ne tient pas compte des $37$\nréalisations.\n"
            }
          ],
          "explanation": "La fréquence d'un événement sur un grand nombre d'essais est une\nestimation de sa probabilité."
        },
        {
          "statement": "En répétant $400$ fois une expérience, on observe $48$ fois\nl'événement $A$. Quelle estimation de $P(A)$ en déduit-on ?",
          "options": [
            {
              "text": "$0{,}12$, la fréquence observée",
              "correct": true,
              "feedback": "Bonne réponse : la fréquence $\\dfrac{48}{400} = 0{,}12$ estime\nla probabilité, d'autant mieux que $400$ est grand.\n"
            },
            {
              "text": "$48$, le nombre de réalisations",
              "correct": false,
              "feedback": "Erreur : un effectif n'est pas une probabilité ; il faut le\nrapporter au nombre d'essais.\n"
            },
            {
              "text": "$\\dfrac{352}{400}$, la fréquence du contraire",
              "correct": false,
              "feedback": "Erreur : $\\dfrac{352}{400}$ estime $P(\\bar{A})$.\n"
            },
            {
              "text": "$\\dfrac{1}{400}$, une chance sur $400$",
              "correct": false,
              "feedback": "Erreur : $\\dfrac{1}{400}$ ne tient pas compte des $48$\nréalisations.\n"
            }
          ],
          "explanation": "La fréquence d'un événement sur un grand nombre d'essais est une\nestimation de sa probabilité."
        },
        {
          "statement": "En répétant $150$ fois une expérience, on observe $27$ fois\nl'événement $A$. Quelle estimation de $P(A)$ en déduit-on ?",
          "options": [
            {
              "text": "$0{,}18$, la fréquence observée",
              "correct": true,
              "feedback": "Bonne réponse : la fréquence $\\dfrac{27}{150} = 0{,}18$ estime\nla probabilité, d'autant mieux que $150$ est grand.\n"
            },
            {
              "text": "$27$, le nombre de réalisations",
              "correct": false,
              "feedback": "Erreur : un effectif n'est pas une probabilité ; il faut le\nrapporter au nombre d'essais.\n"
            },
            {
              "text": "$\\dfrac{123}{150}$, la fréquence du contraire",
              "correct": false,
              "feedback": "Erreur : $\\dfrac{123}{150}$ estime $P(\\bar{A})$.\n"
            },
            {
              "text": "$\\dfrac{1}{150}$, une chance sur $150$",
              "correct": false,
              "feedback": "Erreur : $\\dfrac{1}{150}$ ne tient pas compte des $27$\nréalisations.\n"
            }
          ],
          "explanation": "La fréquence d'un événement sur un grand nombre d'essais est une\nestimation de sa probabilité."
        },
        {
          "statement": "En répétant $300$ fois une expérience, on observe $63$ fois\nl'événement $A$. Quelle estimation de $P(A)$ en déduit-on ?",
          "options": [
            {
              "text": "$0{,}21$, la fréquence observée",
              "correct": true,
              "feedback": "Bonne réponse : la fréquence $\\dfrac{63}{300} = 0{,}21$ estime\nla probabilité, d'autant mieux que $300$ est grand.\n"
            },
            {
              "text": "$63$, le nombre de réalisations",
              "correct": false,
              "feedback": "Erreur : un effectif n'est pas une probabilité ; il faut le\nrapporter au nombre d'essais.\n"
            },
            {
              "text": "$\\dfrac{237}{300}$, la fréquence du contraire",
              "correct": false,
              "feedback": "Erreur : $\\dfrac{237}{300}$ estime $P(\\bar{A})$.\n"
            },
            {
              "text": "$\\dfrac{1}{300}$, une chance sur $300$",
              "correct": false,
              "feedback": "Erreur : $\\dfrac{1}{300}$ ne tient pas compte des $63$\nréalisations.\n"
            }
          ],
          "explanation": "La fréquence d'un événement sur un grand nombre d'essais est une\nestimation de sa probabilité."
        }
      ]
    },
    {
      "id": "q47",
      "difficulty": 2,
      "skills": [
        "estimation",
        "fluctuation",
        "taille"
      ],
      "title": "Taille de l'échantillon et fluctuation",
      "partie": "estimation",
      "statement": "On multiplie par $4$ la taille des échantillons. Comment évolue\nl'amplitude $\\dfrac{2\\sigma}{\\sqrt{n}}$ de la fluctuation des\nmoyennes ?",
      "options": [
        {
          "text": "Elle est divisée par $2$",
          "correct": true,
          "feedback": "Bonne réponse : $\\sqrt{4n} = 2\\sqrt{n}$ ; l'amplitude est\ninversement proportionnelle à $\\sqrt{n}$.\n"
        },
        {
          "text": "Elle est divisée par $4$",
          "correct": false,
          "feedback": "Erreur : c'est la racine carrée de $n$ qui intervient, pas $n$.\n"
        },
        {
          "text": "Elle ne change pas, $\\sigma$ étant fixé",
          "correct": false,
          "feedback": "Erreur : $\\sigma$ est fixé, mais $n$ apparaît au dénominateur.\n"
        },
        {
          "text": "Elle est multipliée par $2$",
          "correct": false,
          "feedback": "Erreur : plus l'échantillon est grand, moins la moyenne\nfluctue.\n"
        }
      ],
      "explanation": "Pour diviser la fluctuation par $2$, il faut quadrupler la taille\nde l'échantillon : la précision coûte cher.",
      "variants": [
        {
          "statement": "On multiplie par $4$ la taille des échantillons. Comment évolue\nl'amplitude $\\dfrac{2\\sigma}{\\sqrt{n}}$ de la fluctuation des\nmoyennes ?",
          "options": [
            {
              "text": "Elle est divisée par $2$",
              "correct": true,
              "feedback": "Bonne réponse : $\\sqrt{4n} = 2\\sqrt{n}$ ; l'amplitude est\ninversement proportionnelle à $\\sqrt{n}$.\n"
            },
            {
              "text": "Elle est divisée par $4$",
              "correct": false,
              "feedback": "Erreur : c'est la racine carrée de $n$ qui intervient, pas $n$.\n"
            },
            {
              "text": "Elle ne change pas, $\\sigma$ étant fixé",
              "correct": false,
              "feedback": "Erreur : $\\sigma$ est fixé, mais $n$ apparaît au dénominateur.\n"
            },
            {
              "text": "Elle est multipliée par $2$",
              "correct": false,
              "feedback": "Erreur : plus l'échantillon est grand, moins la moyenne\nfluctue.\n"
            }
          ],
          "explanation": "Pour diviser la fluctuation par $2$, il faut quadrupler la taille\nde l'échantillon : la précision coûte cher."
        },
        {
          "statement": "On multiplie par $9$ la taille des échantillons. Comment évolue\nl'amplitude $\\dfrac{2\\sigma}{\\sqrt{n}}$ de la fluctuation des\nmoyennes ?",
          "options": [
            {
              "text": "Elle est divisée par $3$",
              "correct": true,
              "feedback": "Bonne réponse : $\\sqrt{9n} = 3\\sqrt{n}$ ; l'amplitude est\ninversement proportionnelle à $\\sqrt{n}$.\n"
            },
            {
              "text": "Elle est divisée par $9$",
              "correct": false,
              "feedback": "Erreur : c'est la racine carrée de $n$ qui intervient, pas $n$.\n"
            },
            {
              "text": "Elle ne change pas, $\\sigma$ étant fixé",
              "correct": false,
              "feedback": "Erreur : $\\sigma$ est fixé, mais $n$ apparaît au dénominateur.\n"
            },
            {
              "text": "Elle est multipliée par $3$",
              "correct": false,
              "feedback": "Erreur : plus l'échantillon est grand, moins la moyenne\nfluctue.\n"
            }
          ],
          "explanation": "Pour diviser la fluctuation par $2$, il faut quadrupler la taille\nde l'échantillon : la précision coûte cher."
        },
        {
          "statement": "On multiplie par $16$ la taille des échantillons. Comment évolue\nl'amplitude $\\dfrac{2\\sigma}{\\sqrt{n}}$ de la fluctuation des\nmoyennes ?",
          "options": [
            {
              "text": "Elle est divisée par $4$",
              "correct": true,
              "feedback": "Bonne réponse : $\\sqrt{16n} = 4\\sqrt{n}$ ; l'amplitude est\ninversement proportionnelle à $\\sqrt{n}$.\n"
            },
            {
              "text": "Elle est divisée par $16$",
              "correct": false,
              "feedback": "Erreur : c'est la racine carrée de $n$ qui intervient, pas $n$.\n"
            },
            {
              "text": "Elle ne change pas, $\\sigma$ étant fixé",
              "correct": false,
              "feedback": "Erreur : $\\sigma$ est fixé, mais $n$ apparaît au dénominateur.\n"
            },
            {
              "text": "Elle est multipliée par $4$",
              "correct": false,
              "feedback": "Erreur : plus l'échantillon est grand, moins la moyenne\nfluctue.\n"
            }
          ],
          "explanation": "Pour diviser la fluctuation par $2$, il faut quadrupler la taille\nde l'échantillon : la précision coûte cher."
        },
        {
          "statement": "On multiplie par $25$ la taille des échantillons. Comment évolue\nl'amplitude $\\dfrac{2\\sigma}{\\sqrt{n}}$ de la fluctuation des\nmoyennes ?",
          "options": [
            {
              "text": "Elle est divisée par $5$",
              "correct": true,
              "feedback": "Bonne réponse : $\\sqrt{25n} = 5\\sqrt{n}$ ; l'amplitude est\ninversement proportionnelle à $\\sqrt{n}$.\n"
            },
            {
              "text": "Elle est divisée par $25$",
              "correct": false,
              "feedback": "Erreur : c'est la racine carrée de $n$ qui intervient, pas $n$.\n"
            },
            {
              "text": "Elle ne change pas, $\\sigma$ étant fixé",
              "correct": false,
              "feedback": "Erreur : $\\sigma$ est fixé, mais $n$ apparaît au dénominateur.\n"
            },
            {
              "text": "Elle est multipliée par $5$",
              "correct": false,
              "feedback": "Erreur : plus l'échantillon est grand, moins la moyenne\nfluctue.\n"
            }
          ],
          "explanation": "Pour diviser la fluctuation par $2$, il faut quadrupler la taille\nde l'échantillon : la précision coûte cher."
        }
      ]
    },
    {
      "id": "q48",
      "difficulty": 2,
      "skills": [
        "estimation",
        "interpretation",
        "modele"
      ],
      "title": "Une fréquence hors de l'intervalle attendu",
      "partie": "estimation",
      "statement": "Un dé supposé équilibré est lancé $600$ fois ; la fréquence du $6$\nvaut $0{,}25$, nettement hors de l'intervalle attendu autour de\n$\\dfrac{1}{6}$. Que peut-on raisonnablement penser ?",
      "options": [
        {
          "text": "Le dé est probablement déséquilibré, l'écart étant trop grand",
          "correct": true,
          "feedback": "Bonne réponse : une fréquence hors de l'intervalle de\nfluctuation est rare si le modèle est juste ; on remet le modèle\nen doute, sans certitude absolue.\n"
        },
        {
          "text": "Rien, toute fréquence est possible avec un dé équilibré",
          "correct": false,
          "feedback": "Erreur : possible ne veut pas dire probable ; un tel écart sur\n$600$ lancers est très improbable avec un dé équilibré.\n"
        },
        {
          "text": "Le dé est certainement truqué, la preuve est faite",
          "correct": false,
          "feedback": "Erreur : une simulation ne prouve pas ; elle rend une hypothèse\ntrès peu crédible.\n"
        },
        {
          "text": "Il faut refaire exactement $600$ lancers pour conclure",
          "correct": false,
          "feedback": "Erreur : refaire des lancers peut aider, mais la conclusion\nprudente est déjà possible.\n"
        }
      ],
      "explanation": "Prendre une décision à partir d'un échantillon : on compare la\nfréquence à l'intervalle attendu et l'on conclut avec prudence."
    },
    {
      "id": "q49",
      "difficulty": 3,
      "skills": [
        "estimation",
        "intervalle",
        "calcul"
      ],
      "title": "Calculer l'intervalle de fluctuation d'une fréquence",
      "partie": "estimation",
      "statement": "Une pièce équilibrée, $p = 0{,}5$ et $\\sigma = 0{,}5$, est lancée\n$100$ fois. Quel est l'intervalle $\\left[p - \\dfrac{2\\sigma}\n{\\sqrt{n}} ; p + \\dfrac{2\\sigma}{\\sqrt{n}}\\right]$ ?",
      "options": [
        {
          "text": "$[0{,}4 ; 0{,}6]$",
          "correct": true,
          "feedback": "Bonne réponse : $\\dfrac{2 \\times 0{,}5}{\\sqrt{100}} = 0{,}1$,\nd'où $[0{,}5 - 0{,}1 ; 0{,}5 + 0{,}1] = [0{,}4 ; 0{,}6]$.\n"
        },
        {
          "text": "$[0{,}45 ; 0{,}55]$",
          "correct": false,
          "feedback": "Erreur : la demi-largeur $\\dfrac{2\\sigma}{\\sqrt{n}}$ a été mal\ncalculée ; vérifiez $\\sqrt{100}$.\n"
        },
        {
          "text": "$[0 ; 1]$",
          "correct": false,
          "feedback": "Erreur : $[0 ; 1]$ contient toutes les fréquences possibles,\nce n'est pas l'intervalle de fluctuation.\n"
        },
        {
          "text": "$[0{,}5 - 0{,}1 ; 0{,}5]$",
          "correct": false,
          "feedback": "Erreur : l'intervalle est symétrique autour de $p = 0{,}5$.\n"
        }
      ],
      "explanation": "L'intervalle $\\left[p - \\dfrac{2\\sigma}{\\sqrt{n}} ; p +\n\\dfrac{2\\sigma}{\\sqrt{n}}\\right]$ contient environ $95\\ \\%$ des\nfréquences observées.",
      "variants": [
        {
          "statement": "Une pièce équilibrée, $p = 0{,}5$ et $\\sigma = 0{,}5$, est lancée\n$100$ fois. Quel est l'intervalle $\\left[p - \\dfrac{2\\sigma}\n{\\sqrt{n}} ; p + \\dfrac{2\\sigma}{\\sqrt{n}}\\right]$ ?",
          "options": [
            {
              "text": "$[0{,}4 ; 0{,}6]$",
              "correct": true,
              "feedback": "Bonne réponse : $\\dfrac{2 \\times 0{,}5}{\\sqrt{100}} = 0{,}1$,\nd'où $[0{,}5 - 0{,}1 ; 0{,}5 + 0{,}1] = [0{,}4 ; 0{,}6]$.\n"
            },
            {
              "text": "$[0{,}45 ; 0{,}55]$",
              "correct": false,
              "feedback": "Erreur : la demi-largeur $\\dfrac{2\\sigma}{\\sqrt{n}}$ a été mal\ncalculée ; vérifiez $\\sqrt{100}$.\n"
            },
            {
              "text": "$[0 ; 1]$",
              "correct": false,
              "feedback": "Erreur : $[0 ; 1]$ contient toutes les fréquences possibles,\nce n'est pas l'intervalle de fluctuation.\n"
            },
            {
              "text": "$[0{,}5 - 0{,}1 ; 0{,}5]$",
              "correct": false,
              "feedback": "Erreur : l'intervalle est symétrique autour de $p = 0{,}5$.\n"
            }
          ],
          "explanation": "L'intervalle $\\left[p - \\dfrac{2\\sigma}{\\sqrt{n}} ; p +\n\\dfrac{2\\sigma}{\\sqrt{n}}\\right]$ contient environ $95\\ \\%$ des\nfréquences observées."
        },
        {
          "statement": "Une pièce équilibrée, $p = 0{,}5$ et $\\sigma = 0{,}5$, est lancée\n$400$ fois. Quel est l'intervalle $\\left[p - \\dfrac{2\\sigma}\n{\\sqrt{n}} ; p + \\dfrac{2\\sigma}{\\sqrt{n}}\\right]$ ?",
          "options": [
            {
              "text": "$[0{,}45 ; 0{,}55]$",
              "correct": true,
              "feedback": "Bonne réponse : $\\dfrac{2 \\times 0{,}5}{\\sqrt{400}} = 0{,}05$,\nd'où $[0{,}5 - 0{,}05 ; 0{,}5 + 0{,}05] = [0{,}45 ; 0{,}55]$.\n"
            },
            {
              "text": "$[0{,}4 ; 0{,}6]$",
              "correct": false,
              "feedback": "Erreur : la demi-largeur $\\dfrac{2\\sigma}{\\sqrt{n}}$ a été mal\ncalculée ; vérifiez $\\sqrt{400}$.\n"
            },
            {
              "text": "$[0 ; 1]$",
              "correct": false,
              "feedback": "Erreur : $[0 ; 1]$ contient toutes les fréquences possibles,\nce n'est pas l'intervalle de fluctuation.\n"
            },
            {
              "text": "$[0{,}5 - 0{,}05 ; 0{,}5]$",
              "correct": false,
              "feedback": "Erreur : l'intervalle est symétrique autour de $p = 0{,}5$.\n"
            }
          ],
          "explanation": "L'intervalle $\\left[p - \\dfrac{2\\sigma}{\\sqrt{n}} ; p +\n\\dfrac{2\\sigma}{\\sqrt{n}}\\right]$ contient environ $95\\ \\%$ des\nfréquences observées."
        },
        {
          "statement": "Une pièce équilibrée, $p = 0{,}5$ et $\\sigma = 0{,}5$, est lancée\n$25$ fois. Quel est l'intervalle $\\left[p - \\dfrac{2\\sigma}\n{\\sqrt{n}} ; p + \\dfrac{2\\sigma}{\\sqrt{n}}\\right]$ ?",
          "options": [
            {
              "text": "$[0{,}3 ; 0{,}7]$",
              "correct": true,
              "feedback": "Bonne réponse : $\\dfrac{2 \\times 0{,}5}{\\sqrt{25}} = 0{,}2$,\nd'où $[0{,}5 - 0{,}2 ; 0{,}5 + 0{,}2] = [0{,}3 ; 0{,}7]$.\n"
            },
            {
              "text": "$[0{,}4 ; 0{,}6]$",
              "correct": false,
              "feedback": "Erreur : la demi-largeur $\\dfrac{2\\sigma}{\\sqrt{n}}$ a été mal\ncalculée ; vérifiez $\\sqrt{25}$.\n"
            },
            {
              "text": "$[0 ; 1]$",
              "correct": false,
              "feedback": "Erreur : $[0 ; 1]$ contient toutes les fréquences possibles,\nce n'est pas l'intervalle de fluctuation.\n"
            },
            {
              "text": "$[0{,}5 - 0{,}2 ; 0{,}5]$",
              "correct": false,
              "feedback": "Erreur : l'intervalle est symétrique autour de $p = 0{,}5$.\n"
            }
          ],
          "explanation": "L'intervalle $\\left[p - \\dfrac{2\\sigma}{\\sqrt{n}} ; p +\n\\dfrac{2\\sigma}{\\sqrt{n}}\\right]$ contient environ $95\\ \\%$ des\nfréquences observées."
        },
        {
          "statement": "Une pièce équilibrée, $p = 0{,}5$ et $\\sigma = 0{,}5$, est lancée\n$16$ fois. Quel est l'intervalle $\\left[p - \\dfrac{2\\sigma}\n{\\sqrt{n}} ; p + \\dfrac{2\\sigma}{\\sqrt{n}}\\right]$ ?",
          "options": [
            {
              "text": "$[0{,}25 ; 0{,}75]$",
              "correct": true,
              "feedback": "Bonne réponse : $\\dfrac{2 \\times 0{,}5}{\\sqrt{16}} = 0{,}25$,\nd'où $[0{,}5 - 0{,}25 ; 0{,}5 + 0{,}25] = [0{,}25 ; 0{,}75]$.\n"
            },
            {
              "text": "$[0{,}375 ; 0{,}625]$",
              "correct": false,
              "feedback": "Erreur : la demi-largeur $\\dfrac{2\\sigma}{\\sqrt{n}}$ a été mal\ncalculée ; vérifiez $\\sqrt{16}$.\n"
            },
            {
              "text": "$[0 ; 1]$",
              "correct": false,
              "feedback": "Erreur : $[0 ; 1]$ contient toutes les fréquences possibles,\nce n'est pas l'intervalle de fluctuation.\n"
            },
            {
              "text": "$[0{,}5 - 0{,}25 ; 0{,}5]$",
              "correct": false,
              "feedback": "Erreur : l'intervalle est symétrique autour de $p = 0{,}5$.\n"
            }
          ],
          "explanation": "L'intervalle $\\left[p - \\dfrac{2\\sigma}{\\sqrt{n}} ; p +\n\\dfrac{2\\sigma}{\\sqrt{n}}\\right]$ contient environ $95\\ \\%$ des\nfréquences observées."
        }
      ]
    }
  ]
}