Aller au contenu
Rêves Vision

Quatrième · Chapitre 12

Algorithmique (Scratch)

Cours de Quatrième sur l'algorithmique avec Scratch : variables, boucles, conditions si alors sinon, opérateurs de comparaison, programmes de calcul et déplacements. Exercices corrigés.

8 exercices corrigés · Cycle 4 - classe de quatrième · Mis à jour en juin 2026

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 11.

Créer un score et le mettre à zéro

Au début d’un jeu, le score vaut toujours 00 : il faut donc l’initialiser.

  1. Dans la catégorie Variables, clique sur « Créer une variable » et nomme-la score.
  2. 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 00.

Initialiser, ce n'est pas oublié

FAUX : « Ma variable score vaut 00 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 à 2525 ! 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 1010.

Avancer en boucle

Pour faire avancer un lutin de 1010 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=505 \times 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 1010 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 ScratchSignificationVrai quand…
a<ba < baa est plus petit que bbaa est strictement inférieur à bb
a=ba = baa est égal à bbaa et bb sont égaux
a>ba > baa est plus grand que bbaa est strictement supérieur à bb

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 22 vaut 00 (exemples : 00, 22, 44, 66…).
  • Un nombre est impair quand ce reste vaut 11 (exemples : 11, 33, 55, 77…).

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 00 dans la boîte score : c’est une affectation.
  • score = 10 (bloc des Opérateurs) demande « est-ce que score vaut 1010 ? » 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 44, puis ajoute 33. »

  1. Demander le nombre de départ et le ranger dans une variable : demander « Choisis un nombre » et attendre, puis mettre nombre à réponse.
  2. Multiplier par 44 : mettre nombre à (nombre × 4).
  3. Ajouter 33 : mettre nombre à (nombre + 3).
  4. Afficher le résultat : dire nombre.

Vérification avec le nombre 55 : 5×4=205 \times 4 = 20, puis 20+3=2320 + 3 = 23. Le programme doit afficher 2323.

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 xx (gauche-droite) et son ordonnée yy (bas-haut). Le centre de la scène a pour coordonnées (0;0)(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 00 à 0+50=500 + 50 = 50 : le lutin se trouve maintenant au point de coordonnées (50;0)(50\,;\,0), c’est-à-dire 5050 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 à 00, 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é.

Exercices corrigés

Du plus simple au plus exigeant. Cherche d'abord seul, puis déroule le corrigé détaillé.

Gratuit · corrigé

Créer un score et le mettre à zéro

Tu programmes un jeu où le joueur gagne des points. Tu veux une variable score qui démarre à 00 au début de chaque partie. Explique comment créer cette variable, puis donne le bloc qui la met à sa valeur de départ. Que vaut score juste après ce bloc ?

Voir l'exercice corrigé
Gratuit · corrigé

Que fait ce bloc dans le jeu ?

Dans un mini-jeu de plateforme, le lutin (le personnage) est piloté par ce bloc Scratch : *si touche espace pressée ? alors avancer de 10*. Explique avec tes mots ce que fait ce bloc, puis dis ce qui se passe si le joueur n'appuie pas sur la touche espace.

Voir l'exercice corrigé
Gratuit · corrigé

Afficher pair ou impair

On veut un programme Scratch qui demande un nombre à l'utilisateur, puis affiche « pair » si le nombre est pair et « impair » sinon. Écris l'algorithme bloc par bloc, en utilisant un test si alors sinon. Vérifie ensuite ton programme avec le nombre 77.

Voir l'exercice corrigé
Gratuit · corrigé

Compter les pas avec une boucle

Dans un jeu de livraison de sneakers, ton lutin (le livreur) doit traverser la scène. Tu veux une variable distance qui mesure le nombre de pas parcourus. Tu écris ce programme Scratch :

```
quand drapeau vert cliqué
mettre distance à 0
répéter 8 fois
avancer de 15
ajouter 15 à distance
```

Explique le rôle de chaque bloc, puis calcule la valeur de distance affichée à la fin du programme.

Voir l'exercice corrigé
Gratuit · corrigé

Déplacer un lutin avec des coordonnées

Tu programmes le déplacement d'un drone dans un mini-jeu. Sur la scène Scratch, le drone est piloté par cette suite de blocs :

```
aller à x : -40 y : 25
ajouter 70 à x
ajouter -15 à y
```

Donne les coordonnées du drone après chaque bloc, puis donne ses coordonnées finales.

Voir l'exercice corrigé
Gratuit · corrigé

Traduire un programme de calcul en blocs

On donne le programme de calcul suivant : « Choisis un nombre, multiplie-le par 33, puis ajoute 55. » Traduis ce programme en blocs Scratch en utilisant une variable nombre. Teste-le ensuite avec le nombre de départ 44.

Voir l'exercice corrigé
Bonus

Mini-jeu : 10 clics pour gagner

Tu crées un petit jeu façon clicker (comme ceux qui tournent sur TikTok). Règle du jeu : on part d'un score de 00 ; à chaque clic sur le lutin, le score augmente de 11 ; dès que le score atteint 1010, le jeu affiche « Gagné ! ». Écris l'algorithme complet en blocs Scratch, puis explique combien de clics il faut pour gagner.

Débloquer l'exercice
Gratuit · corrigé

Retrouver le nombre de départ d'un programme

Un youtubeur tech présente ce programme de calcul codé en Scratch avec une variable nombre :

```
mettre nombre à réponse
mettre nombre à (nombre × 3)
mettre nombre à (nombre + 7)
dire nombre
```

À l'écran, le programme affiche 2828. Quel nombre l'utilisateur avait-il tapé au départ ? Justifie en remontant le programme, puis vérifie ta réponse en exécutant le programme dans le bon sens.

Voir l'exercice corrigé

Teste-toi

Quiz : 6 questions auto-corrigées

Vérifie en quelques minutes que tu as compris ce chapitre. Correction expliquée, score et points à la clé.

Commencer le quiz

Questions fréquentes

Qu'est-ce qu'une variable en Scratch ?
Une variable est une boite avec un nom qui sert à mémoriser une valeur pendant que le programme tourne. Par exemple une variable score peut contenir le nombre de points du joueur. On la crée dans la catégorie Variables, on la met à une valeur de départ avec le bloc mettre à, et on la fait évoluer avec le bloc ajouter à.
Quelle est la différence entre répéter et répéter jusqu'à en Scratch ?
Le bloc répéter répète un nombre de fois fixé à l'avance, par exemple répéter 10 fois. Le bloc répéter jusqu'à répète tant qu'une condition n'est pas vraie et s'arrête dès qu'elle devient vraie, par exemple répéter jusqu'à ce que le score soit égal à 10. On parle alors de boucle conditionnelle car c'est une condition qui décide quand on s'arrête.
Comment savoir si un nombre est pair ou impair avec un programme ?
On regarde le reste de la division du nombre par 2. Si ce reste vaut 0, le nombre est pair, sinon il est impair. En Scratch on utilise le bloc opérateur reste de la division, puis un test si alors sinon pour afficher la bonne réponse.