Variables et compteurs
Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.
Créer un compteCe tuto fait suite à Dessiner avec le stylo. Jusqu'à présent, tous les nombres écrits dans nos programmes étaient figés (le côté valait $80$, l'angle $90$…). On va découvrir un outil très puissant pour rendre un programme flexible : la variable. Avec une variable, un seul programme peut tracer un triangle, un carré, un pentagone ou un dodécagone — il suffit de changer une valeur.
À quoi sert une variable
Une variable, en programmation, est une boîte étiquetée qui retient un nombre (ou un texte). On donne un nom à cette boîte (par exemple score ou N), et on peut à tout moment :
- y déposer une valeur (« mettre score à $0$ ») ;
- en lire la valeur courante (« avancer de côté pas ») ;
- la modifier (« ajouter $10$ à score »).
Remarque
Le nom « variable » vient du fait que sa valeur peut varier au cours du programme. Contraste avec un nombre comme $80$ : celui-là est constant, il ne peut pas changer.
Créer une variable
Dans la palette de blocs, cliquer sur la catégorie Variables (orange). Au-dessus de la liste des blocs apparaît un bouton Créer une variable.
- Cliquer sur Créer une variable. Une boîte de dialogue s'ouvre.
- Saisir le nom souhaité (par exemple score).
- Garder l'option par défaut Pour tous les lutins (la variable sera utilisable partout dans le projet).
- Valider avec OK.

Une fois validée, la variable apparaît dans la palette accompagnée d'une case à cocher et de nouveaux blocs spécifiques. La case à cocher permet d'afficher ou non la valeur de la variable sur la scène — très utile pour suivre ce qui se passe pendant l'exécution.
Affecter et modifier une valeur
Deux blocs sont essentiels pour manipuler une variable :
| mettre … à … | Affectation : remplace la valeur courante de la variable par celle indiquée |
| ajouter … à … | Incrément : ajoute la valeur indiquée à la valeur courante (sans la remplacer) |
Attention
Ne pas confondre les deux : mettre score à $5$ efface l'ancienne valeur et la remplace par $5$, tandis que ajouter $5$ à score augmente l'ancienne valeur de $5$. Si score valait $10$, le premier bloc donne $5$, le second donne $15$.
Un petit compteur
On veut afficher un compteur qui démarre à $0$ et augmente de $10$ toutes les secondes, pendant $5$ secondes.
À l'exécution, l'affichage de la variable sur la scène passe de $0$ à $10$, puis $20$, $30$, $40$ et enfin $50$, une valeur par seconde.
?
Afficher une variable sur la scène
Quand une variable est créée, Scratch l'affiche automatiquement en haut à gauche de la scène, dans un petit cadre. On peut :
- Cocher / décocher la case à côté du nom (palette Variables) pour afficher ou cacher l'étiquette ;
- Cliquer droit sur l'étiquette dans la scène pour choisir le format : normal, grand affichage (uniquement la valeur, sans le nom) ou curseur (un slider qu'on peut bouger à la souris) ;
- Déplacer l'étiquette en la glissant ailleurs sur la scène.

Remarque
Les blocs montrer la variable et cacher la variable permettent aussi de contrôler l'affichage depuis le programme, ce qui est pratique pour ne montrer le score qu'à la fin d'une partie, par exemple.
Utiliser la valeur d'une variable
L'étiquette d'une variable dans la palette est un petit bloc rond (par exemple le bloc rond orange étiqueté « score »). On peut le faire glisser à l'intérieur du champ rond de n'importe quel autre bloc, à la place d'un nombre.
Avancer d'un nombre variable de pas
Le lutin avance de $50$ pas. Si on remplace plus tard $50$ par $120$ dans le bloc mettre, il avancera de $120$ pas — sans modifier le bloc avancer.
Paramétrer un polygone
C'est ici que les variables deviennent vraiment utiles. Dans le tuto précédent, on a écrit quatre programmes différents pour tracer le triangle, le carré, le pentagone et l'hexagone. Avec une variable N, on peut tout faire avec un seul programme.
Polygone régulier paramétré
Pour tracer un polygone régulier à $N$ côtés, on utilise une variable N et le programme :
- mettre N à la valeur souhaitée ;
- répéter N fois : avancer de la longueur du côté, tourner de $\dfrac{360}{N}$ degrés.
Polygone universel
Pour passer d'un polygone à un autre, il suffit maintenant de changer une seule valeur : celle de N. Le bloc « $360 / N$ » utilise le bloc opérateur (vert clair) qui effectue la division. Le calcul s'adapte automatiquement.

?
Astuce
Dans le projet téléchargeable, cinq préréglages sont disponibles au clavier : touches 3, 4, 5, 6 et 8. Chaque touche règle la valeur de N correspondante ; l'angle $360 / N$ est recalculé automatiquement par l'opérateur. Il suffit ensuite de cliquer sur le drapeau vert pour tracer le polygone et observer comment il change de forme.
Attention
Le polygone sort de la scène pour N grand — Avec une longueur de côté fixée à $80$ pas, le polygone grandit avec $N$ : le diamètre vaut environ $\dfrac{80}{\sin(180°/N)}$, soit environ $310$ pixels dès $N = 12$, à comparer à la scène qui mesure $480$ pixels de large et $360$ de haut. Au-delà de $N = 8$ ou $9$, le lutin sort par le haut ou le côté pendant le tracé.
Important : les calculs internes restent corrects — la position du lutin est mise à jour normalement, même hors scène, et il revient bien à son point de départ à la fin. Seul le rendu du stylo est coupé : Scratch ne dessine rien en dehors du cadre, d'où l'impression visuelle que le polygone « part en biais » et ne se referme pas.
Pour qu'un polygone à $N$ grand rentre dans la scène, il faut réduire la longueur du côté. La formule $\text{côté} = 200 \times \sin(180° / N)$ maintient un rayon constant de $100$ pixels (côté $\approx 100$ pour l'hexagone, $\approx 52$ pour le dodécagone). C'est exactement l'idée de l'exercice de fin de tuto avec deux variables.
Demander à l'utilisateur
Pour rendre un programme interactif, on peut demander à l'utilisateur de saisir une valeur. Le bloc demander … et attendre se trouve dans la catégorie Capteurs (bleu clair). Il affiche une question en bas de la scène et stocke la réponse dans la variable spéciale réponse.
Quel polygone veux-tu ?
À l'exécution, le lutin pose la question en bas de la scène. L'utilisateur tape un nombre (par exemple $5$), appuie sur Entrée, et le programme trace le pentagone correspondant.

Remarque
La variable réponse est créée automatiquement par Scratch : on n'a pas besoin de la déclarer. Elle est mise à jour à chaque fois qu'un bloc demander est exécuté et que l'utilisateur saisit une valeur.
Récapitulatif des blocs Variables
| Bloc | Effet |
|---|---|
| mettre … à … | Remplace la valeur de la variable par celle indiquée (affectation) |
| ajouter … à … | Augmente la valeur de la variable de la quantité indiquée |
| montrer la variable … | Affiche l'étiquette de la variable sur la scène |
| cacher la variable … | Cache l'étiquette de la variable |
| Bloc rond nom de la variable | Représente la valeur courante ; à glisser dans un champ rond |
À toi de jouer
Modifier le programme « polygone universel » pour qu'il utilise deux variables : N (nombre de côtés) et cote (longueur en pas). Tester avec un hexagone de côté $40$, puis un octogone de côté $60$.
Corrigé
Il suffit de créer une seconde variable cote et de la fixer en début de programme, puis de l'utiliser à la place du nombre $80$ dans le bloc avancer :
Pour l'octogone de côté $60$, on remplace simplement le $6$ par $8$ et le $40$ par $60$ dans les deux blocs mettre.
Astuce
Projet tout-en-un — Le fichier ci-dessous regroupe les programmes du tuto : compteur (touche c), polygone paramétré (drapeau vert), choix du nombre de côtés au clavier (touches 3, 4, 5, 6 ou 8). Ouvrir le projet dans Scratch avec Fichier > Importer depuis votre ordinateur.
?
Remarque
Avec une variable, on peut maintenant écrire un seul programme qui s'adapte à plusieurs situations. Mais on ne sait pas encore réagir différemment selon la valeur d'une variable — par exemple, n'autoriser que les valeurs $N \geq 3$ pour le polygone. Pour cela, il faut découvrir les instructions conditionnelles : c'est le sujet du tuto suivant, Si… alors : les conditions.