Tu joues à un jeu où le score monte à chaque pièce ramassée, où un personnage avance quand tu appuies sur une touche, où un message « Gagné ! » s’affiche dès que tu atteins le bon nombre de points. Derrière tout ça, il y a un algorithme : une suite d’instructions que la machine exécute dans l’ordre. Avec Scratch, tu vas écrire ces instructions en empilant des blocs. Ce chapitre te donne les quatre briques de base : les variables, les boucles, les conditions et les opérateurs.
Mes objectifs
À la fin de ce chapitre, je sais :
- lire un programme Scratch et dire ce qu’il fait, pas à pas ;
- créer une variable et l’initialiser à une valeur de départ ;
- utiliser une boucle (
répéter ou répéter jusqu'à) pour répéter des actions ;
- écrire une condition
si … alors … sinon avec un opérateur de comparaison ;
- traduire un programme de calcul en blocs et déplacer un lutin avec des coordonnées.
À quoi ça sert ?
Tous les jeux et les applis de ton téléphone sont faits d’algorithmes. Quand ton appli de musique passe au morceau suivant, quand une story TikTok se ferme toute seule après quelques secondes, quand un jeu compte tes pièces : à chaque fois, une machine suit des instructions précises.
Apprendre Scratch, c’est apprendre à donner des ordres clairs à une machine. Et la machine est bête : elle fait exactement ce que tu écris, dans l’ordre où tu l’écris. Un bloc oublié ou mal placé, et le jeu bugue. Savoir programmer, c’est apprendre à penser dans le bon ordre.
1. Les variables
Variable
Une variable est une « boîte » qui porte un nom et qui sert à mémoriser une valeur pendant que le programme tourne. La valeur rangée dans la boîte peut changer au cours du programme.
Exemples de variables dans un jeu : score, vies, chrono, pieces.
Les trois blocs des variables
En Scratch, on manipule une variable avec trois blocs :
- créer la variable (dans la catégorie Variables) : on lui donne un nom, par exemple
score ;
mettre score à 0 : on initialise la variable, c’est-à-dire qu’on lui donne sa valeur de départ ;
ajouter 1 à score : on modifie la variable, ici on l’augmente de 1.
Créer un score et le mettre à zéro
Au début d’un jeu, le score vaut toujours 0 : il faut donc l’initialiser.
- Dans la catégorie Variables, clique sur « Créer une variable » et nomme-la
score.
- Au démarrage (sous le bloc
quand drapeau vert cliqué), place le bloc mettre score à 0.
Ainsi, à chaque nouvelle partie, le score repart bien de 0.
Initialiser, ce n'est pas oublié
FAUX : « Ma variable score vaut 0 toute seule au début, pas besoin de l’initialiser. »
VRAI : une variable garde la valeur de la partie précédente. Si tu as fini la partie d’avant avec score = 25, alors sans bloc mettre score à 0, la nouvelle partie démarre à 25 ! Il faut toujours initialiser une variable au début du programme avec mettre … à ….
2. Les boucles
Boucle
Une boucle est un bloc qui répète une ou plusieurs instructions. Elle évite de recopier vingt fois le même bloc.
Scratch propose deux boucles très utiles :
répéter n fois : répète un nombre de fois connu à l’avance ;
répéter jusqu'à ce que … : répète tant qu’une condition n’est pas vraie, et s’arrête dès qu’elle le devient.
Boucle conditionnelle
La boucle répéter jusqu'à ce que … est une boucle conditionnelle : ce n’est pas un nombre fixé d’avance qui décide de l’arrêt, mais une condition.
Par exemple répéter jusqu'à ce que score = 10 : le bloc tourne encore et encore, et il s’arrête pile au moment où score atteint 10.
Avancer en boucle
Pour faire avancer un lutin de 10 pas, cinq fois de suite, au lieu de poser cinq blocs avancer de 10, on écrit :
répéter 5 fois
avancer de 10
Le lutin avance alors de 5×10=50 pas au total.
3. Les conditions
Instruction conditionnelle
Une instruction conditionnelle (ou test) permet à la machine de choisir quoi faire selon qu’une condition est vraie ou fausse.
Le bloc si … alors … sinon … se lit ainsi :
- si la condition est vraie, on exécute les blocs du alors ;
- sinon (la condition est fausse), on exécute les blocs du sinon.
Si une touche est pressée
Le bloc :
si touche espace pressée ? alors
avancer de 10
signifie : si le joueur appuie sur la touche espace, alors le lutin avance de 10 pas. Si la touche n’est pas pressée, il ne se passe rien (il n’y a pas de sinon ici).
4. Les opérateurs
Opérateurs de comparaison
Un opérateur de comparaison sert à comparer deux nombres ; il répond toujours par vrai ou faux. Scratch en propose trois, dans la catégorie Opérateurs :
| Bloc Scratch | Signification | Vrai quand… |
|---|
| a<b | a est plus petit que b | a est strictement inférieur à b |
| a=b | a est égal à b | a et b sont égaux |
| a>b | a est plus grand que b | a est strictement supérieur à b |
On les place dans un bloc si … alors ou répéter jusqu'à … pour écrire la condition.
L'opérateur reste de la division
Pour savoir si un nombre est pair ou impair, on utilise l’opérateur reste de la division de … par ….
- Un nombre est pair quand son reste dans la division par 2 vaut 0 (exemples : 0, 2, 4, 6…).
- Un nombre est impair quand ce reste vaut 1 (exemples : 1, 3, 5, 7…).
Ainsi, la condition « le nombre est pair » s’écrit : reste de (nombre / 2) = 0.
Le simple = n'est pas le double ==
FAUX : confondre affecter une valeur et comparer deux valeurs.
VRAI : ce sont deux choses différentes.
mettre score à 0 range la valeur 0 dans la boîte score : c’est une affectation.
score = 10 (bloc des Opérateurs) demande « est-ce que score vaut 10 ? » et répond vrai ou faux : c’est une comparaison.
On utilise l’affectation pour changer une variable, et la comparaison à l’intérieur d’un test ou d’une boucle conditionnelle.
5. Programmes de calcul
Programme de calcul
Un programme de calcul est une suite d’instructions de calcul appliquées à un nombre de départ. En Scratch, on le traduit avec une variable que l’on transforme étape par étape.
Traduire un programme de calcul en blocs
Programme : « Choisis un nombre, multiplie-le par 4, puis ajoute 3. »
- Demander le nombre de départ et le ranger dans une variable :
demander « Choisis un nombre » et attendre, puis mettre nombre à réponse.
- Multiplier par 4 :
mettre nombre à (nombre × 4).
- Ajouter 3 :
mettre nombre à (nombre + 3).
- Afficher le résultat :
dire nombre.
Vérification avec le nombre 5 : 5×4=20, puis 20+3=23. Le programme doit afficher 23.
6. Déplacements avec coordonnées
Coordonnées du lutin
Sur la scène Scratch, chaque point est repéré par deux nombres : son abscisse x (gauche-droite) et son ordonnée y (bas-haut). Le centre de la scène a pour coordonnées (0;0).
On déplace un lutin avec deux blocs :
aller à x : … y : … : place le lutin directement au point de coordonnées choisies ;
ajouter … à x (ou à y) : décale le lutin horizontalement (ou verticalement).
Placer puis décaler un lutin
Le bloc aller à x : 0 y : 0 place le lutin au centre.
Si on exécute ensuite ajouter 50 à x, son abscisse passe de 0 à 0+50=50 : le lutin se trouve maintenant au point de coordonnées (50;0), c’est-à-dire 50 pas vers la droite.
Le bon ordre, toujours
La machine exécute les blocs de haut en bas, un par un, dans l’ordre où tu les empiles. Avant de te lancer, lis ton programme ligne par ligne comme une recette : « d’abord je mets le score à 0, ensuite je répète… ». Si tu inverses deux blocs, le résultat change. En cas de bug, relis dans l’ordre : c’est presque toujours un bloc mal placé.