<p>Pas de panique ! Même si tu n'as jamais ouvert Scratch, on va voir l'essentiel pour ne pas être perdu au contrôle. On commence par les bases indispensables, et tu vas vite être fonctionnel(le). Accroche-toi !</p>
Pour comprendre Scratch, tu as besoin de maîtriser quelques notions simples.
Opérations : savoir additionner et multiplier (exemple : $30 + 50 + 20 = 100$, $6 \times 15 = 90$).
Repérage : la scène Scratch est un quadrillage. Le centre a pour coordonnées $(0;0)$. On repère les points par $(x;y)$ (abscisse $x$, ordonnée $y$).
Angles : on mesure les rotations en degrés. Un tour complet fait $360^\circ$. Un angle droit $90^\circ$, un demi-tour $180^\circ$.
Figures : un carré a $4$ côtés égaux et $4$ angles droits. Un triangle équilatéral a $3$ côtés égaux et des angles de $60^\circ$, mais pour le tracer avec Scratch, le lutin tourne de $120^\circ$ à chaque sommet car il suit le contour.
Regarde la scène ci-dessous : le lutin se déplace sur ce quadrillage en utilisant des coordonnées ou en avançant.
Un programme Scratch s'appelle un script. C'est une suite d'instructions (les blocs) que le lutin exécute dans l'ordre, de haut en bas, quand on clique sur le drapeau vert ▶.
Les principaux blocs :
- Déplacement (bleus) : avancer de … pas, tourner de … degrés, aller à x:… y:….
- Boucle (orange) : répéter … fois permet de répéter plusieurs fois les blocs qu'elle contient.
- Condition (marron clair) : si … alors … exécute les blocs seulement si la condition est vraie (par exemple « touche un bord ? »).
Calcul important : dans une boucle répéter n fois contenant avancer de d pas, le lutin parcourt au total $n \times d$ pas.
Méthode express :
① Repère le drapeau vert ▶.
② Lis les blocs de haut en bas.
③ Pour une boucle répéter n fois, compte le nombre de répétitions $n$ et multiplie pour trouver le total ($n \times$ valeur).
④ Pour une condition, demande-toi : l'action ne se fait que si la condition est vraie.
Voici le script du lutin (il démarre à $(0;0)$, orienté vers la droite) :Quand ▶ est cliqué
avancer de 40 pas
avancer de 60 pas
avancer de 10 pas
a) Combien de blocs « avancer » ce script contient-il ? Il contient $\underline{\hspace{1.1em}}$ blocs.
b) De combien de pas le lutin avance-t-il au total ? $\underline{\hspace{1.1em}} + \underline{\hspace{1.1em}} + \underline{\hspace{1.1em}} = \underline{\hspace{1.1em}}$ pas.
c) Si on remplace ces trois blocs par un seul bloc « avancer », quelle valeur doit-on écrire ? avancer de $\underline{\hspace{1.1em}}$ pas.
a) 3 blocs.
b) $40 + 60 + 10 = 110$ pas.
c) avancer de $110$ pas.
Script :Quand ▶ est cliqué
répéter 5 fois :
avancer de 20 pas
a) Combien de fois le bloc « avancer de 20 pas » est-il exécuté ? $\underline{\hspace{1.1em}}$ fois.
b) Nombre total de pas : $\underline{\hspace{1.1em}} \times \underline{\hspace{1.1em}} = \underline{\hspace{1.1em}}$ pas.
c) On veut que le lutin avance de 180 pas en répétant 9 fois le même bloc. Quelle valeur faut-il écrire dans « avancer » ? $180 \div 9 = \underline{\hspace{1.1em}}$, donc avancer de $\underline{\hspace{1.1em}}$ pas.
a) 5 fois.
b) $5 \times 20 = 100$ pas.
c) $180 \div 9 = 20$, donc avancer de $20$ pas.
Script :Quand ▶ est cliqué
répéter indéfiniment :
avancer de 10 pas
si
tourner de 180 degrés
a) Quand la condition « touche un bord ? » est fausse (le lutin ne touche pas le bord), que fait le lutin ? Il $\underline{\hspace{1.1em}}$ (avance / tourne).
b) Quand la condition est vraie, qu'arrive-t-il ? Le lutin $\underline{\hspace{1.1em}}$ (fait demi-tour).
a) Il avance.
b) Le lutin fait demi-tour (il tourne de $180^\circ$).
<p>Ah oui, ça commence à revenir ! On remet tout en ordre avec le cours et une méthode claire. Après, tu vas pouvoir appliquer sans hésiter.</p>
1. Structure d’un script :
- Le script démarre par le bloc « Quand ▶ est cliqué ».
- Les blocs s’exécutent dans l’ordre, de haut en bas.
- Les blocs peuvent être emboîtés : une boucle contient d’autres blocs, une condition aussi.
2. Déplacements (catégorie bleue) :
- avancer de n pas : déplace le lutin dans sa direction actuelle.
- tourner de n degrés : fait pivoter le lutin (sens horaire si positif).
- aller à x: a y: b : téléporte le lutin au point $(a;b)$.
3. Boucles (catégorie orange) :
- répéter n fois { … } : les blocs intérieurs sont exécutés $n$ fois de suite.
- répéter indéfiniment { … } : ils sont répétés sans fin (jusqu’à clic sur le bouton stop).
Propriété : si on répète $n$ fois avancer de d pas, la distance totale parcourue est $n \times d$ pas.
4. Instructions conditionnelles (marron) :
- si <condition> alors { … } : si la condition est vraie, les blocs de la branche « alors » s’exécutent ; sinon, on les ignore et on passe à la suite.
- si <condition> alors { … } sinon { … } : deux chemins possibles selon la condition.
Exemples de conditions : touche un bord ?, appuie sur [espace] ?, touche la couleur … ?
① Repérer le bloc de démarrage (drapeau vert).
② Lire les blocs de haut en bas, en respectant l’emboîtement.
③ Identifier les boucles et compter le nombre de répétitions $n$.
④ Pour les déplacements répétés, calculer le total avec la formule $n \times d$ (en pas).
⑤ Pour les conditions, se demander si la condition est vraie ou fausse dans la situation décrite ; seule la branche correspondante s’exécute.
⑥ Ne pas oublier qu’une boucle « répéter indéfiniment » ne s’arrête jamais sans intervention (bouton stop).
Script :Quand ▶ est cliqué
répéter 4 fois :
avancer de 100 pas
tourner de 90 degrés
Analyse :
- Boucle répétée $n = 4$ fois.
- Avance totale : $4 \times 100 = 400$ pas.
- Rotation totale : $4 \times 90^\circ = 360^\circ$ (un tour complet).
- La figure tracée est un carré de côté 100 pas.
Regarde le dessin :
On reprend le script du carré :Quand ▶ est cliqué
répéter $\underline{\hspace{1.1em}}$ fois :
avancer de $\underline{\hspace{1.1em}}$ pas
tourner de $\underline{\hspace{1.1em}}$ degrés
a) Le lutin répète $\underline{\hspace{1.1em}}$ fois les deux blocs.
b) Il avance donc en tout de $\underline{\hspace{1.1em}} \times \underline{\hspace{1.1em}} = \underline{\hspace{1.1em}}$ pas.
c) Il tourne de $\underline{\hspace{1.1em}} \times \underline{\hspace{1.1em}} = \underline{\hspace{1.1em}}$ degrés.
d) La figure obtenue est un $\underline{\hspace{1.1em}}$.
Script complet : répéter 4 fois, avancer de 100 pas, tourner de 90 degrés.
a) 4 fois.
b) $4 \times 100 = 400$ pas.
c) $4 \times 90 = 360$ degrés.
d) un carré.
Pour tracer un triangle équilatéral, on utilise une boucle. On rappelle que l'angle de rotation est $360 \div 3 = 120^\circ$.
Complète le script suivant :Quand ▶ est cliqué
répéter $\underline{\hspace{1.1em}}$ fois :
avancer de 80 pas
tourner de $\underline{\hspace{1.1em}}$ degrés
a) Calcul du total des pas : $\underline{\hspace{1.1em}} \times 80 = \underline{\hspace{1.1em}}$ pas.
b) Total des degrés : $\underline{\hspace{1.1em}} \times \underline{\hspace{1.1em}} = \underline{\hspace{1.1em}}$ degrés.
Script : répéter 3 fois, tourner de 120 degrés.
a) $3 \times 80 = 240$ pas.
b) $3 \times 120 = 360$ degrés.
Voici un script qui fait rebondir le lutin sur les bords :Quand ▶ est cliqué
répéter indéfiniment :
avancer de 5 pas
si <touche un bord ?> alors :
tourner de 180 degrés
Explique ce que fait le lutin quand il ne touche pas le bord, et quand il le touche. Ce script s'arrête-t-il tout seul ? Pourquoi ?
Quand le lutin ne touche pas le bord, il avance de 5 pas (la condition est fausse, le bloc 'tourner' n'est pas exécuté). Dès qu'il touche un bord, la condition devient vraie : il tourne de 180° (demi-tour) et repart dans l'autre sens. Le script ne s'arrête jamais seul car la boucle est 'répéter indéfiniment' ; il faut cliquer sur le bouton stop.
<p>On ne change pas une formule qui gagne ! Voici cinq fois le même calcul, avec des nombres différents. À force, ça va devenir automatique. Allez, on s'échauffe !</p>
Script :Quand ▶ est cliqué
répéter $\underline{\hspace{1.1em}}$ fois :
avancer de 40 pas
Nombre de répétitions : $\underline{\hspace{1.1em}}$
Avance par répétition : 40 pas
Distance totale : $\underline{\hspace{1.1em}} \times \underline{\hspace{1.1em}} = \underline{\hspace{1.1em}}$ pas.
Nombre de répétitions : 3
Distance totale : $3 \times 40 = 120$ pas.
Script :Quand ▶ est cliqué
répéter $\underline{\hspace{1.1em}}$ fois :
avancer de 25 pas
Nombre de répétitions : $\underline{\hspace{1.1em}}$
Avance par répétition : 25 pas
Distance totale : $\underline{\hspace{1.1em}} \times \underline{\hspace{1.1em}} = \underline{\hspace{1.1em}}$ pas.
Nombre de répétitions : 6
Distance totale : $6 \times 25 = 150$ pas.
Script :Quand ▶ est cliqué
répéter $\underline{\hspace{1.1em}}$ fois :
avancer de 30 pas
Nombre de répétitions : $\underline{\hspace{1.1em}}$
Avance par répétition : 30 pas
Distance totale : $\underline{\hspace{1.1em}} \times \underline{\hspace{1.1em}} = \underline{\hspace{1.1em}}$ pas.
Nombre de répétitions : 4
Distance totale : $4 \times 30 = 120$ pas.
Script :Quand ▶ est cliqué
répéter $\underline{\hspace{1.1em}}$ fois :
avancer de 60 pas
Nombre de répétitions : $\underline{\hspace{1.1em}}$
Avance par répétition : 60 pas
Distance totale : $\underline{\hspace{1.1em}} \times \underline{\hspace{1.1em}} = \underline{\hspace{1.1em}}$ pas.
Nombre de répétitions : 5
Distance totale : $5 \times 60 = 300$ pas.
Script :Quand ▶ est cliqué
répéter $\underline{\hspace{1.1em}}$ fois :
avancer de 15 pas
Nombre de répétitions : $\underline{\hspace{1.1em}}$
Avance par répétition : 15 pas
Distance totale : $\underline{\hspace{1.1em}} \times \underline{\hspace{1.1em}} = \underline{\hspace{1.1em}}$ pas.
Nombre de répétitions : 8
Distance totale : $8 \times 15 = 120$ pas.
<p>Ça y est, on est prêt pour le contrôle ! Voici des exercices du même style que ce que tu pourrais avoir. Prends ton temps, lis bien les scripts et applique la méthode.</p>
Le lutin démarre à $x=0$, $y=0$, orienté vers la droite. Voici son script :Quand ▶ est cliqué
avancer de 40 pas
avancer de 60 pas
avancer de 10 pas
a) Combien de blocs « avancer » ce script contient-il ?
b) De combien de pas le lutin avance-t-il au total ?
c) Si l'on remplace les trois blocs « avancer » par un seul, quelle valeur faut-il y écrire ?
a) 3 blocs.
b) $40 + 60 + 10 = 110$ pas.
c) avancer de $110$ pas.
Voici un script :Quand ▶ est cliqué
répéter 5 fois :
avancer de 20 pas
a) Combien de fois le bloc « avancer de 20 pas » est-il exécuté ?
b) De combien de pas le lutin avance-t-il au total ?
c) On veut que le lutin avance de 160 pas en répétant 8 fois le même bloc « avancer ». Combien de pas faut-il écrire dans ce bloc ?
a) 5 fois.
b) $5 \times 20 = 100$ pas.
c) $160 \div 8 = 20$ pas.
Voici un script :Quand ▶ est cliqué
répéter 3 fois :
avancer de 90 pas
tourner de 120 degrés
a) Combien de fois les blocs à l'intérieur de la boucle s'exécutent-ils ?
b) De combien de pas le lutin avance-t-il au total ?
c) De combien de degrés le lutin tourne-t-il au total ?
d) Quelle figure géométrique ce script trace-t-il ? Justifie ta réponse.
a) 3 fois.
b) $3 \times 90 = 270$ pas.
c) $3 \times 120 = 360^\circ$.
d) Triangle équilatéral : 3 côtés égaux (avance de 90 pas chacun) et rotation totale de $360^\circ$ (tour complet).
Voici un script :Quand ▶ est cliqué
répéter indéfiniment :
avancer de 8 pas
si <touche un bord ?> alors :
tourner de 180 degrés
a) Que fait le lutin lorsque la condition « touche un bord ? » est fausse ?
b) Que se passe-t-il dès que le lutin touche un bord ?
c) Ce script s'arrête-t-il seul ? Justifie.
a) Il avance de 8 pas.
b) Il tourne de 180° (demi-tour) et repart dans l'autre sens.
c) Non, car la boucle est « répéter indéfiniment ». Il faut cliquer sur le bouton stop pour l'arrêter.
On veut que le lutin trace un hexagone régulier (6 côtés égaux) dont chaque côté mesure 70 pas. Pour un polygone régulier à $n$ côtés, l'angle de rotation vaut $\frac{360}{n}$ degrés.
a) Calcule l'angle de rotation pour un hexagone ($n=6$).
b) Combien de fois faut-il répéter les blocs « avancer » et « tourner » ?
c) Écris le script complet, bloc par bloc.
d) Vérifie : de combien de degrés le lutin tourne-t-il au total ?
a) $360 \div 6 = 60^\circ$.
b) 6 fois.
c) Quand ▶ est cliqué
répéter 6 fois :
avancer de 70 pas
tourner de 60 degrés
d) $6 \times 60 = 360^\circ$, un tour complet.
<p>Tu maîtrises la base ? Bravo ! L'an prochain, tu verras des choses encore plus folles avec Scratch. Voici un petit avant-goût pour te préparer et briller.</p>
Scratch permet de demander une information au joueur avec le bloc demander [ ] et attendre. La réponse est stockée dans le bloc réponse (capteur bleu clair). On peut l'utiliser dans des calculs, par exemple pour tracer un polygone dont on choisit le nombre de côtés et la longueur. Pour cela, on crée des variables (par exemple n pour le nombre de côtés, long pour la longueur) et on les utilise dans les blocs.
On veut tracer un pentagone régulier (5 côtés égaux) de côté 50 pas.
a) Calcule l'angle de rotation : $\dfrac{360}{5} = \underline{\hspace{1.1em}}^\circ$.
b) Combien de fois faut-il répéter le tracé d'un côté ? $\underline{\hspace{1.1em}}$ fois.
c) Écris le script complet avec les blocs répéter ... fois, avancer de ... pas, tourner de ... degrés.
d) Vérifie : de combien de degrés le lutin tourne-t-il au total ?
a) $72^\circ$.
b) 5 fois.
c) Quand ▶ est cliqué
répéter 5 fois :
avancer de 50 pas
tourner de 72 degrés
d) $5 \times 72 = 360^\circ$, un tour complet.
Voici un script interactif : le joueur choisit le nombre de côtés et la longueur, et le lutin trace le polygone. (On a créé les variables n et long.)Quand ▶ est cliqué
demander [Nombre de côtés ?] et attendre
mettre [n] à (réponse)
demander [Longueur d’un côté en pas ?] et attendre
mettre [long] à (réponse)
répéter (n) fois :
avancer de (long) pas
tourner de (360 / n) degrés
Complète les trous :
a) Dans le bloc répéter, on utilise $\underline{\hspace{1.1em}}$.
b) Dans le bloc avancer, on utilise $\underline{\hspace{1.1em}}$.
c) Dans le bloc tourner, on utilise le calcul $\underline{\hspace{1.1em}} / \underline{\hspace{1.1em}}$.
a) n
b) long
c) 360 / n
Scratch permet aussi de détecter les couleurs. Voici un mini-jeu : le lutin avance et, s'il touche du bleu, il gagne.Quand ▶ est cliqué
répéter indéfiniment :
avancer de 10 pas
si <couleur [bleu] touchée ?> alors :
dire [Gagné !] pendant 2 secondes
stop [tout]
a) Tant que la couleur bleue n'est pas touchée, que fait le lutin ? $\underline{\hspace{1.1em}}$.
b) Dès qu'il touche du bleu, que se passe-t-il ? $\underline{\hspace{1.1em}}$.
c) Pourquoi le jeu s'arrête-t-il alors ?
a) Il avance de 10 pas indéfiniment.
b) Il dit « Gagné ! » pendant 2 secondes, puis le bloc stop [tout] arrête tous les scripts (le jeu s'arrête).
c) Le bloc stop [tout] interrompt la boucle « répéter indéfiniment » et termine le programme.
Fiche gratuite créée par Vidyalaya, association d'éducation populaire — soutien scolaire, FLE & DELF, libre et gratuit pour tous.
Tu bloques encore ? Écris-nous, on t'aide gratuitement : contact@vidyalaya.fr.
Fiche librement réutilisable sous licence CC BY-SA 4.0 — copiez, imprimez, adaptez, en citant Vidyalaya et en conservant la même licence.