Scratch : déplacements, boucles et conditions
Un programme Scratch est une suite d'instructions (blocs colorés) qu'un lutin exécute dans l'ordre, de haut en bas. Cet ensemble s'appelle un script. Il démarre au clic sur le drapeau vert.
- Déplacements : faire bouger le lutin sur la scène.
- Boucles : répéter des instructions sans les réécrire.
- Instructions conditionnelles : n'exécuter certains blocs que si une condition est vraie.
Les blocs de déplacement (catégorie bleue) bougent et orientent le lutin. La scène a pour centre le point $(0\,;\,0)$ :
- aller à x: a y: b — place le lutin au point $(a\,;\,b)$.
- avancer de n pas — déplace le lutin de $n$ pas dans sa direction.
- tourner de n degrés — fait pivoter le lutin de $n$ degrés.
Une boucle répète des instructions :
- répéter n fois { … } — exécute les blocs exactement $n$ fois, puis continue.
- répéter indéfiniment { … } — exécute les blocs sans jamais s'arrêter seul.
Si «avancer de $d$ pas» est répété $n$ fois, le déplacement total est $n \times d$ pas.
Une instruction conditionnelle n'exécute ses blocs intérieurs que si une condition est vraie.
- si <condition> alors { … } — si vrai : les blocs s'exécutent ; sinon : on passe à la suite.
- si <condition> alors { … } sinon { … } — deux chemins selon la valeur de 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, dans l'ordre.
- Identifier les boucles et compter le nombre de répétitions $n$.
- Calculer le déplacement total : $n \times d$ (répétitions $\times$ pas par répétition).
- Identifier les conditions : la branche «alors» ne s'exécute que si la condition est vraie.
- Oublier le bloc «Quand ▶ est cliqué» : le script ne se déclenche pas.
- Mettre des blocs à côté de la boucle au lieu de les emboîter dedans : ils ne se répètent pas.
- Confondre «répéter n fois» (s'arrête) et «répéter indéfiniment» (ne s'arrête jamais).
- Mauvais angle : pour un carré $90^\circ$, un triangle équilatéral $120^\circ$, un hexagone $60^\circ$.