Niveau Brevet 19–20/20 : lecture d’algorithmes, tableaux de traces, conditions composées, boucles “tant que”, simulations aléatoires et débogage.
On considère l’algorithme ci-dessous (pseudo-code). On saisit successivement les valeurs : \(x=12\), puis \(x=7\), puis \(x=10\), puis \(x=-2\).
- Compléter le tableau de traces (valeurs de \(c\) et \(S\) après chaque saisie).
- Donner les valeurs finales affichées.
| Étape | \(x\) | Test vrai ? | \(c\) | \(S\) |
|---|---|---|---|---|
| 1 | 12 | … | … | … |
| 2 | 7 | … | … | … |
| 3 | 10 | … | … | … |
| 4 | -2 | … | … | … |
On incrémente \(c\) et on ajoute à \(S\) si : \((0 \le x \le 10)\) OU \((x=12)\).
On exécute l’algorithme suivant :
- Compléter un tableau de traces jusqu’à l’arrêt (au moins 4 lignes).
- Donner les valeurs finales de \(n\) et \(x\) affichées.
- Expliquer pourquoi la boucle s’arrête forcément.
La boucle s’arrête après le tour 4 car \(x=123\) et \(123>80\). On affiche donc \(\boxed{n=4}\) et \(\boxed{x=123}\).
On veut calculer la moyenne de 6 nombres saisis (qui peuvent être négatifs). Voici un algorithme proposé :
- Expliquer précisément pourquoi cet algorithme est faux.
- Écrire l’algorithme corrigé.
- Tester votre correction avec : \(2,\; -1,\; 4,\; 0,\; 3,\; -2\).
Erreur : la ligne \(S \leftarrow x\) écrase la somme à chaque tour. À la fin, \(S\) vaut seulement le dernier nombre lu. Il faut additionner : \(S \leftarrow S+x\).
Test : \(S = 2 + (-1) + 4 + 0 + 3 + (-2) = 6\), donc \[ m=\dfrac{6}{6}=1 \] Valeur affichée : \(\boxed{1}\).
On simule un jeu : on tire un entier aléatoire \(r\) entre 1 et 20. On dit que le tirage est gagnant si \(r\in[5;8]\) ou \(r\in[15;20]\).
- Écrire un algorithme qui répète \(N\) fois le tirage et calcule la fréquence de gain.
- Calculer la probabilité théorique de gagner.
- Comparer théorie et simulation pour \(N=1000\) (interprétation).
Théorie : il y a \(20\) issues équiprobables. Favorables : \([5;8]\) contient 4 valeurs (5,6,7,8) et \([15;20]\) contient 6 valeurs (15 à 20), soit \(4+6=10\) issues favorables. \[ \mathbb{P}(\text{gain})=\dfrac{10}{20}=\dfrac{1}{2} \] Donc la fréquence affichée doit être proche de \(0{,}5\) si \(N\) est grand.
Un programme Scratch fait :
- Trouver toutes les valeurs entières de \(x\) dans \([0;30]\) pour lesquelles le programme affiche “OK”.
- Expliquer la méthode (raisonnement modulo 5).
Condition “OK” : \(y=3x-7\) multiple de 5, donc \[ 3x-7 \equiv 0 \pmod{5} \] Or \(-7 \equiv -2 \equiv 3 \pmod{5}\), donc : \[ 3x + 3 \equiv 0 \pmod{5} \quad\Longleftrightarrow\quad 3x \equiv -3 \equiv 2 \pmod{5} \] On cherche \(x\) tel que \(3x \equiv 2 \pmod{5}\). On teste \(x \equiv 0,1,2,3,4\) : \[ 3\cdot 4 = 12 \equiv 2 \pmod{5} \] Donc \(x \equiv 4 \pmod{5}\).
Dans \([0;30]\), les valeurs sont : \[ x \in \{4,\;9,\;14,\;19,\;24,\;29\} \] Réponse : \(\boxed{4,\;9,\;14,\;19,\;24,\;29}\).