Tu as déjà construit une map sur Roblox, codé un mini-jeu, ou réglé un combo de touches sur ta manette ? Sans le savoir, tu donnais déjà des instructions à une machine, dans un ordre précis. C’est exactement ça, l’algorithmique : apprendre à expliquer à un ordinateur, étape par étape, comment réaliser une tâche. En classe de Cinquième, on s’entraîne avec Scratch, un logiciel où l’on assemble des blocs colorés pour faire bouger un personnage : le lutin.
Ce que tu dois savoir faire
À la fin de ce chapitre, je sais :
- lire une séquence de blocs et dire ce que fait le lutin ;
- utiliser une boucle répéter n fois pour ne pas tout réécrire ;
- repérer un point sur la scène grâce à ses coordonnées (x;y) et y placer un lutin ;
- gérer une entrée (une valeur saisie) et une sortie (un résultat affiché) ;
- écrire un petit programme de tracé (carré, triangle…).
À quoi ça sert ?
Tous les jeux auxquels tu joues - Fortnite, EA FC, Roblox - sont faits de programmes. Quand ton score monte de 10 à chaque but, quand un personnage se déplace exactement où tu cliques, quand une vidéo s’enchaîne automatiquement : derrière, il y a un algorithme qui suit des instructions dans l’ordre. Apprendre Scratch, c’est passer du côté de celui qui crée le jeu, pas seulement de celui qui y joue. Et bonne nouvelle : les boucles et les coordonnées que tu vois ici sont la base de tous les langages de programmation.
1. Une séquence d’instructions
Algorithme et séquence
Un algorithme est une suite d’instructions, écrites dans un ordre précis, qui décrit comment réaliser une tâche du début à la fin.
Sur Scratch, on écrit cet algorithme en empilant des blocs : c’est une séquence. Le lutin exécute les blocs un par un, de haut en bas.
L'ordre des instructions compte
Dans une séquence, changer l’ordre des blocs change le résultat. Le lutin fait toujours ce qui est écrit en premier, puis ce qui vient juste en dessous, et ainsi de suite.
Lire une séquence simple
On lit le programme suivant :
aller à x : 0 y : 0
avancer de 100
tourner de 90 degrés vers la droite
avancer de 100
Le lutin part du centre de la scène, avance de 100, fait un quart de tour vers la droite, puis avance encore de 100. Il dessine ainsi un angle droit (deux segments perpendiculaires). Si on inversait les blocs 2 et 3, le lutin tournerait avant d’avancer : le dessin ne serait pas le même.
2. La boucle « répéter n fois »
Quand on doit répéter plusieurs fois la même chose, réécrire chaque bloc serait long et pénible. Scratch propose un bloc qui fait le travail à notre place.
Boucle répéter n fois
Le bloc répéter n fois exécute plusieurs fois de suite les instructions placées à l’intérieur de la boucle. Le nombre n indique combien de fois on répète.
Tracer un carré avec une boucle
Pour tracer un carré de côté 100, on répète 4 fois la même paire d’instructions :
répéter 4 fois :
avancer de 100
tourner de 90 degrés vers la droite
À chaque tour de boucle, le lutin trace un côté (100) puis tourne d’un quart de tour (90 degrés). Au bout des 4 répétitions, il a tracé les 4 côtés et il est revenu à son point de départ, tourné dans sa direction initiale. La somme des angles de rotation vaut 4×90=360 degrés : un tour complet, c’est logique pour une figure fermée.
Choisir l'angle d'un polygone régulier
Pour tracer un polygone régulier (tous les côtés et tous les angles égaux) à n côtés avec une boucle :
- Mettre
répéter n fois (autant de répétitions que de côtés).
- À l’intérieur :
avancer de la longueur du côté.
- Puis
tourner de un angle égal à n360 degrés.
L’idée : sur un tour complet, le lutin tourne en tout de 360 degrés, répartis en n rotations égales.
Exemple : pour un triangle équilatéral (n=3 côtés), l’angle de rotation est 3360=120 degrés.
3. Se repérer sur la scène : les coordonnées
Coordonnées d'un point sur la scène
La scène de Scratch est repérée par deux nombres, comme une carte :
- l’abscisse x donne la position de gauche à droite ;
- l’ordonnée y donne la position de bas en haut.
On note la position d’un point (x;y). Le centre de la scène est le point (0;0).
Lire le signe des coordonnées
À partir du centre (0;0) :
- si x>0, le point est à droite ; si x<0, il est à gauche ;
- si y>0, le point est en haut ; si y<0, il est en bas.
Par exemple, le point (100;50) est à droite et en haut du centre.
Placer un lutin à une position précise
Pour amener le lutin exactement au point (x;y) :
- Utiliser le bloc
aller à x : ... y : ....
- Remplir la case x avec l’abscisse voulue.
- Remplir la case y avec l’ordonnée voulue.
Exemple : pour placer le lutin au point (100;50), on écrit le bloc aller à x : 100 y : 50. Le lutin se téléporte directement à cette position, sans tracer de trait.
x d'abord, y ensuite
On lit et on écrit toujours les coordonnées dans l’ordre : abscisse x d’abord, ordonnée y ensuite. Une bonne façon de retenir : dans l’alphabet, x vient avant y, et sur la scène, on regarde d’abord où (gauche-droite) avant de regarder à quelle hauteur.
4. Entrées et sorties
Un programme devient vraiment utile quand il peut recevoir une information de l’utilisateur et lui renvoyer un résultat.
Entrée et sortie
Une entrée est une valeur que l’utilisateur fournit au programme (par exemple un nombre qu’il saisit au clavier). Sur Scratch, on l’obtient avec le bloc demander ... et attendre, et la valeur tapée est rangée dans réponse.
Une sortie est une information que le programme renvoie à l’utilisateur (un message, un nombre). Sur Scratch, on l’affiche avec le bloc dire ....
Demander un nombre et afficher son double
On veut un programme qui demande un nombre, puis affiche son double :
demander « Donne un nombre » et attendre
mettre double à (réponse × 2)
dire (double)
Si l’utilisateur saisit 7 (l’entrée), la variable double prend la valeur 7×2=14, et le lutin affiche 14 (la sortie).
Stocker une valeur dans une variable avec « mettre à »
Une variable est une étiquette qui retient une valeur (un score, un total, un résultat). Pour y ranger une valeur, on utilise le bloc mettre ... à ... :
- Créer la variable et lui donner un nom clair (
score, total, périmètre…).
- Bloc
mettre <variable> à <valeur> pour fixer sa valeur.
- Bloc
ajouter <nombre> à <variable> pour l’augmenter sans repartir de zéro.
Exemple : mettre score à 0 fixe le score à 0 en début de partie ; ajouter 10 à score fait ensuite monter le score de 10.
5. Un programme de tracé complet
Écrire un programme de tracé
Pour faire dessiner une figure au lutin :
- Se placer :
aller à x : ... y : ... pour choisir le point de départ.
- Préparer le stylo :
stylo en position d'écriture (le lutin laisse une trace en se déplaçant).
- Tracer : une boucle
répéter n fois qui enchaîne avancer de ... et tourner de ....
- Relever le stylo :
relever le stylo quand le dessin est fini.
Programme complet : un carré au point (50 ; 50)
aller à x : 50 y : 50
stylo en position d'écriture
répéter 4 fois :
avancer de 80
tourner de 90 degrés vers la droite
relever le stylo
Le lutin part du point (50;50), abaisse son stylo, trace un carré de côté 80 (boucle de 4 tours, angle de 90 degrés à chaque fois), puis relève le stylo. Le carré est dessiné.
Le piège de l'angle du triangle équilatéral
FAUX : pour tracer un triangle équilatéral, beaucoup écrivent tourner de 60 degrés, parce qu’ils savent que les angles d’un triangle équilatéral mesurent 60 degrés.
VRAI : l’angle à mettre dans Scratch n’est pas l’angle de la figure, mais l’angle dont le lutin tourne à chaque sommet. Sur un tour complet, il tourne en tout de 360 degrés, répartis sur 3 sommets, donc 3360=120 degrés à chaque fois. La bonne instruction est tourner de 120 degrés. (L’angle de rotation 120 et l’angle intérieur 60 sont supplémentaires : 120+60=180 degrés.)
Le piège de l'ordre des coordonnées
FAUX : pour placer un lutin « à 50 vers le haut et 100 vers la droite », écrire aller à x : 50 y : 100.
VRAI : l’abscisse x mesure la gauche-droite, l’ordonnée y mesure le bas-haut. « 100 vers la droite » est donc l’abscisse et « 50 vers le haut » l’ordonnée : il faut écrire aller à x : 100 y : 50. Lis toujours x en premier, y en second, et ne les intervertis pas.
Teste ton programme étape par étape
Quand un programme ne fait pas ce que tu veux, ne refais pas tout : exécute-le dans ta tête, bloc par bloc, en notant la position et la direction du lutin à chaque ligne. Le plus souvent, l’erreur est un ordre de blocs inversé ou un angle mal choisi. C’est ce qu’on appelle « dérouler » l’algorithme.