Un lutin qui m'obéit : séquences, boucles et conditions avec Scratch
Imagine que tu expliques à ton petit frère comment faire une tartine : « Prends une tranche de pain. Ouvre le pot de confiture. Étale la confiture. » Si tu oublies une étape ou si tu les mélanges, la tartine rate. Un ordinateur, c'est pareil, en bien plus têtu : il fait EXACTEMENT ce qu'on lui dit, dans l'ordre où on le lui dit, et rien de plus. Écrire un programme, c'est écrire cette liste d'instructions sans aucun trou. Avec Scratch, tu vas le faire en emboîtant des blocs de couleur, comme des briques.
Scratch, c'est quoi ?
Scratch est un logiciel gratuit, créé au MIT (une grande université américaine). Tu l'ouvres dans ton navigateur sur scratch.mit.edu, sans rien installer. À l'écran, tu vois trois zones : à gauche, la palette des blocs ; au milieu, la zone de script où tu assembles tes blocs ; à droite, la scène où vit ton lutin (le petit chat orange par défaut). Chaque fois que tu cliques sur le drapeau vert, le programme démarre.
Le lutin se repère sur la scène avec deux coordonnées : x (de −240 à gauche à 240 à droite) et y (de −180 en bas à 180 en haut). Le centre est en (0 ; 0). Le lutin a aussi une direction : 90 signifie « vers la droite », 0 « vers le haut », 180 « vers le bas ».
1. La séquence : une instruction après l'autre
Une séquence, c'est une suite d'instructions exécutées dans l'ordre, de haut en bas. Exemple :
- quand le drapeau vert est cliqué
- aller à x : 0 y : 0
- s'orienter à 90
- avancer de 100
- tourner de 90 degrés (vers la droite)
- avancer de 50
Suivons le lutin pas à pas. Il part du centre, regarde vers la droite, avance de 100 : il est en (100 ; 0). Il tourne de 90° vers la droite : il regarde maintenant vers le bas. Il avance de 50 : il arrive en (100 ; −50). Si tu ajoutes le bloc « stylo en position d'écriture » au début, il laisse une trace et dessine un angle droit. Prends l'habitude de « jouer l'ordinateur » comme ça, avec un crayon, avant de cliquer : c'est la meilleure façon de comprendre un programme.
2. La boucle : répéter sans recopier
Pour tracer un carré de 100 de côté, tu pourrais écrire quatre fois « avancer de 100, tourner de 90 ». C'est long, et pour un polygone à 20 côtés ce serait infernal. La boucle règle le problème :
- stylo en position d'écriture
- répéter 4 fois
- avancer de 100
- tourner de 90 degrés
Le bloc « répéter » enveloppe les instructions à refaire. Quatre tours de boucle, quatre côtés, quatre virages : le lutin revient exactement à son point de départ et a tourné de 4 × 90 = 360°, un tour complet.
Voilà la clé des polygones réguliers : pour fermer la figure, la somme des virages doit toujours faire 360°. Donc pour n côtés, on tourne de 360 ÷ n à chaque fois. Triangle équilatéral : répéter 3 fois, tourner de 120. Hexagone : répéter 6 fois, tourner de 60. Et si tu répètes 36 fois en tournant de 10, tu obtiens une figure si arrondie qu'elle ressemble à un cercle !
Il existe aussi la boucle « répéter indéfiniment », qui ne s'arrête jamais toute seule : on l'utilise dans les jeux, pour que le lutin surveille en permanence ce qui se passe.
3. La condition : « si… alors »
Un programme qui fait toujours la même chose, c'est vite ennuyeux. Avec une instruction conditionnelle, le lutin prend une décision : il teste une condition (vraie ou fausse), et n'exécute les instructions que si elle est vraie.
Exemple : un jeu où le lutin se déplace avec les flèches du clavier.
- quand le drapeau vert est cliqué
- répéter indéfiniment
- si touche « flèche droite » pressée ? alors
- ajouter 10 à x
- si touche « flèche gauche » pressée ? alors
- ajouter −10 à x
- si touche le bord ? alors
- dire « Aïe ! » pendant 1 seconde
Tant que tu n'appuies sur rien, les conditions sont fausses et le lutin reste immobile. Appuie trois fois sur la flèche droite : x passe de 0 à 10, 20, puis 30. Le bloc « si… alors… sinon » va encore plus loin : il prévoit ce qu'il faut faire quand la condition est fausse. Par exemple : si x > 200 alors dire « gagné », sinon dire « continue ».
Exemple complet : la maison
Combinons tout. Un carré, puis un triangle posé dessus (le lutin part vers la droite) :
- répéter 4 fois : avancer de 100, tourner de 90 vers la gauche
- tourner de 90 vers la gauche, puis avancer de 100 (on remonte le côté gauche jusqu'au coin du haut)
- tourner de 90 vers la droite (le lutin regarde de nouveau vers la droite)
- répéter 3 fois : avancer de 100, tourner de 120 vers la gauche
Avant de tester, demande-toi : où est le lutin après le carré ? Au point de départ, dans la direction de départ. C'est ce raisonnement qui t'évitera des heures de tâtonnement.
À retenir
- Un programme est une séquence d'instructions exécutées dans l'ordre, de haut en bas.
- Une boucle (« répéter n fois ») évite de recopier les mêmes instructions ; pour un polygone régulier à n côtés, on tourne de 360 ÷ n degrés.
- Une instruction conditionnelle (« si… alors », « si… alors… sinon ») n'exécute un bloc que si la condition est vraie.
- Sur la scène, le lutin se repère avec x (horizontal), y (vertical) et une direction en degrés.
- Avant de cliquer, joue l'ordinateur avec un crayon : suis les instructions une à une.
★ Pour aller plus loin
Scratch a été lancé en 2007 par l'équipe de Mitchel Resnick au MIT Media Lab. Son nom vient du « scratch » des DJ, qui mélangent des morceaux : l'idée était que les enfants puissent mélanger des sons, des images et du code. Des millions de projets sont partagés en ligne, et tu peux ouvrir n'importe lequel pour voir comment il est fabriqué.
Les trois structures que tu as vues (séquence, boucle, condition) suffisent, en théorie, à écrire n'importe quel programme : c'est un résultat mathématique démontré en 1966 par Böhm et Jacopini. Les langages « sérieux » comme Python ou JavaScript, que tu croiseras au lycée, utilisent exactement les mêmes idées, mais écrites en texte au lieu de blocs. Au collège, tu découvriras aussi les variables (des boîtes qui gardent un nombre, comme un score) et les événements (réagir à un clic, à un son).
Un dernier mot : le bug. Le mot viendrait d'un vrai papillon de nuit coincé dans un ordinateur en 1947. Aujourd'hui, débusquer les bugs est le quotidien des programmeurs, et c'est en corrigeant tes erreurs que tu progresses le plus.
Sources pour creuser
- Scratch pour les kids, Majed Marji (éditions Eyrolles) : un livre progressif, plein de projets.
- Le site officiel scratch.mit.edu : rubrique « Idées » avec des tutoriels guidés en français.
- Chaîne YouTube « Yvan Monka » (maths-et-tiques.fr) : cherche ses vidéos « Scratch » pour le collège (tracer un carré, les boucles, les conditions).
- lumni.fr : cherche « programmation Scratch collège ».
- eduscol.education.fr : ressources « algorithmique et programmation » du cycle 4.