Niveau 3ᵉ · Cours
🎯 À la fin de ce chapitre, je sais : remettre des blocs dans l'ordre et prédire ce que fait un script · écrire un script complet avec événements, variables, conditions et boucles · décomposer un problème en blocs personnalisés · simuler une expérience aléatoire et compter les résultats.
Depuis la 4e, tu connais les quatre ingrédients d'un programme Scratch : l'ÉVÉNEMENT qui le déclenche, la VARIABLE qui garde une valeur, la CONDITION qui choisit, et la BOUCLE qui répète.
[quand le drapeau vert est cliqué] → l'événement qui lance le script.
[mettre score à 0] puis [ajouter 2 à score] → la variable « score ».
[si (n > 5) alors … sinon …] → la condition.
[répéter 4 fois : [avancer de 100 ; tourner de 90°]] → la boucle (ici, un carré de côté 100).
Acquis de 4e : événement, variable, condition, boucle.
En 3e : lire et écrire des scripts complets, créer ses propres blocs, faire tourner des scripts en parallèle et simuler le hasard.
Avant d'écrire des programmes, il faut savoir les lire comme l'ordinateur : sans deviner, en exécutant les blocs UN PAR UN. Que fait [mettre x à 2] [répéter 3 fois : [mettre x à (x × 3)]] ? Impossible de répondre de tête sans méthode !
Dérouler un script, c'est exécuter les instructions une par une, dans l'ordre, en notant la valeur des variables à chaque étape.
Le tableau d'état donne la valeur de chaque variable après chaque tour de boucle.
Méthode : dérouler [mettre x à 2] [répéter 3 fois : [mettre x à (x × 3)]] avec un tableau d'état :
Départ : x = 2.
Tour 1 : x = 2 × 3 = 6. Tour 2 : x = 6 × 3 = 18. Tour 3 : x = 18 × 3 = 54.
Valeur finale : x = 54 (et non 2 × 3 = 6 !).
Je déroule le script pas à pas, tour de boucle par tour de boucle.
Un tableau d'état (une colonne par tour) évite toutes les erreurs de calcul.
Question 1 — [mettre x à 3] [répéter 2 fois : [mettre x à (x × x)]]. Quelle est la valeur finale de x ?
Question 2 — [répéter 4 fois : [avancer de 50 ; tourner de 90°]]. Quelle figure le lutin trace-t-il ?
Question 3 — [mettre s à 0] [répéter 3 fois : [ajouter 4 à s ; ajouter 1 à s]]. Quelle est la valeur finale de s ?
Comment programmer le tracé d'un triangle équilatéral ? On ne se jette pas sur les blocs : on DÉCOMPOSE d'abord le problème en étapes (combien de côtés ? quelle longueur ? de quel angle tourner ?), puis on traduit chaque étape en bloc.
Méthode pour un polygone régulier à n côtés :
1) Une boucle « répéter n fois ».
2) Dans la boucle : [avancer de (longueur du côté)].
3) Puis [tourner de (360 ÷ n)°] : c'est l'angle dont TOURNE le lutin à chaque sommet.
Triangle équilatéral : répéter 3 fois, tourner de 120°. Carré : 4 fois, 90°. Pentagone : 5 fois, 72°.
La boucle « répéter jusqu'à (condition) » répète ses instructions tant que la condition est FAUSSE, et s'arrête dès qu'elle devient vraie.
On peut imbriquer des boucles : une boucle qui contient une autre boucle (utile pour répéter un motif complet).
[mettre n à 5] [répéter jusqu'à (n > 20) : [ajouter 5 à n]] : n vaut 10, 15, 20… 20 n'est pas > 20, on continue : n = 25, et 25 > 20 arrête la boucle.
Ligne de 5 carrés : répéter 5 fois : [répéter 4 fois : [avancer de 20 ; tourner de 90°] ; relever le stylo ; avancer de 30 ; stylo en position d'écriture].
J'écris un script en décomposant : que faire ? combien de fois ? avec quelles valeurs ?
Polygone régulier à n côtés : répéter n fois, tourner de (360 ÷ n)° — l'angle dont tourne le lutin.
Question 1 — Pour tracer un triangle équilatéral avec [répéter 3 fois : [avancer de 80 ; tourner de …°]], de combien le lutin doit-il tourner ?
Question 2 — Pour tracer un pentagone régulier (5 côtés), quel angle de rotation faut-il ?
Question 3 — [mettre n à 5] [répéter jusqu'à (n > 20) : [ajouter 5 à n]]. Quelle est la valeur finale de n ?
Pour dessiner une frise de 5 motifs identiques, faut-il recopier 5 fois la même suite de blocs ? Non : on RANGE le motif dans un bloc personnalisé « motif », et le programme principal devient simplement [répéter 5 fois : [motif]].
Un bloc personnalisé est un bloc que l'on crée soi-même : on le DÉFINIT une seule fois (la suite de blocs qu'il contient), puis on l'UTILISE autant de fois qu'on veut.
Décomposer un problème, c'est le découper en sous-problèmes simples, chacun traduit par un bloc personnalisé ou un script.
Frise : définir [motif] = [répéter 4 fois : [avancer de 20 ; tourner de 90°] ; relever le stylo ; avancer de 30 ; stylo en position d'écriture].
Programme principal : [quand le drapeau vert est cliqué] [répéter 5 fois : [motif]] → la frise de 5 carrés.
Dernier outil de 3e : les scripts en PARALLÈLE. Plusieurs scripts portant chacun un bloc chapeau [quand le drapeau vert est cliqué] démarrent en même temps : c'est ainsi qu'on programme un jeu où deux lutins bougent simultanément.
Motif répété → je le range dans un bloc personnalisé, puis je le répète avec une boucle.
Plusieurs scripts avec le même événement fonctionnent en parallèle (jeux à deux lutins).
Question 1 — Le bloc personnalisé [motif] trace un motif complet. Pour une frise de 8 motifs, le programme principal est…
Question 2 — À quoi sert un bloc personnalisé ?
Question 3 — Deux scripts commencent chacun par [quand le drapeau vert est cliqué]. Que se passe-t-il au clic sur le drapeau ?
Lancer une pièce 1 000 fois à la main prendrait une heure… Un lutin le fait en une seconde ! Le bloc [nombre aléatoire entre 0 et 1] tire 0 ou 1 au hasard, comme pile ou face : il ne reste qu'à répéter et à COMPTER.
Simuler une expérience aléatoire, c'est la faire réaliser un grand nombre de fois par un programme, en comptant les issues avec des variables compteurs.
La fréquence d'une issue = compteur ÷ nombre de répétitions.
Méthode : compter les 0 et les 1 sur 100 tirages.
1) Préparer : [mettre compteur-0 à 0] [mettre compteur-1 à 0].
2) Répéter 100 fois : [mettre n à (nombre aléatoire entre 0 et 1)].
3) Compter : [si (n = 0) alors ajouter 1 à compteur-0] [si (n = 1) alors ajouter 1 à compteur-1].
À la fin, compteur-0 + compteur-1 = 100, et chaque compteur vaut environ 50.
Pont avec le chapitre sur les probabilités : sur 100 tirages, la fréquence du 1 peut valoir 0,47 ou 0,55… mais plus on augmente le nombre de tirages, plus elle se STABILISE près de la probabilité 1/2. La simulation permet de le vérifier expérimentalement.
Simuler = répéter (boucle) + tirer au hasard (nombre aléatoire) + compter (compteurs et conditions).
Plus le nombre de tirages est grand, plus les fréquences se stabilisent vers les probabilités.
Question 1 — Quel bloc simule un tirage à deux issues 0 ou 1 (pile ou face) ?
Question 2 — Après [répéter 100 fois : [tirage 0 ou 1 ; compter dans compteur-0 ou compteur-1]], que vaut compteur-0 + compteur-1 ?
Question 3 — Sur un très grand nombre de tirages 0/1, la fréquence du nombre 1…
Ton mémo complet est dans l’encadré « Mémo ». Prêt·e pour les défis ?