Analyse de l'énoncé
Cet exercice, bien qu'issu initialement d'un sujet de brevet, constitue une excellente base de révision pour le programme de Première Spécialité en ce qui concerne la logique algorithmique et les probabilités simples. L'énoncé demande d'analyser deux structures de boucles : l'une déterministe (Script 1) et l'autre stochastique (Script 2). En Première, la compréhension des structures de contrôle (boucles et conditions) et leur lien avec les probabilités (indépendance) est fondamentale pour maîtriser Python.
Points de vigilance et notions de cours
- Structures itératives : Comprendre le fonctionnement de la boucle 'répéter n fois'.
- Structures conditionnelles : Analyser le bloc 'si ... alors ... sinon' qui introduit une bifurcation dans l'exécution.
- Indépendance en probabilités : Savoir que pour deux événements indépendants $A$ et $B$, la probabilité que les deux se réalisent est $P(A \cap B) = P(A) \times P(B)$.
- Lien Scratch/Python : Savoir traduire mentalement le bloc 'nombre aléatoire entre 1 et 2' par la fonction random.randint(1, 2) de Python.
Correction détaillée
1. Représentation du carré : Le script 'carré' trace un carré de 5 pixels de côté. Avec l'échelle 1 cm pour 2 pixels, le dessin doit être un carré de 2,5 cm de côté. Le stylo finit à 10 pixels (soit 5 cm sur le papier) à droite du point de départ initial grâce au bloc de déplacement final.
2. Attribution des scripts :
Le Script 1 alterne systématiquement un carré et un tiret. C'est un motif régulier. Il correspond donc au Dessin B.
Le Script 2 choisit aléatoirement entre un carré et un tiret à chaque étape. C'est un motif irrégulier. Il correspond au Dessin A.
3. Probabilités :
a) Le script utilise un nombre aléatoire entre 1 et 2. Il y a 1 chance sur 2 d'obtenir 1. La probabilité que le premier élément soit un carré est donc $P(C_1) = \frac{1}{2} = 0,5$.
b) Les tirages sont indépendants. La probabilité d'avoir deux carrés consécutifs est $P(C_1 \cap C_2) = P(C_1) \times P(C_2) = \frac{1}{2} \times \frac{1}{2} = \frac{1}{4} = 0,25$.
4. Modification du script (Couleurs) : Pour ajouter une couleur aléatoire, il faut insérer un nouveau bloc 'si... alors... sinon' à l'intérieur de la boucle principale, juste avant ou après le tracé de l'élément. On testera à nouveau un nombre aléatoire entre 1 et 2 : si égal à 1, mettre la couleur à rouge, sinon mettre la couleur à noir.