Aller au contenu
Rêves Vision

Cinquième · Chapitre 14

Algorithmique (Scratch)

Cours de Cinquième sur l'algorithmique avec Scratch : séquence d'instructions, boucle répéter n fois, coordonnées x et y, entrées-sorties, programme de tracé. Méthodes et exercices corrigés.

8 exercices corrigés · Cycle 4 - classe de cinquième (programme 2026) · Mis à jour en juin 2026

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 nn fois pour ne pas tout réécrire ;
  • repérer un point sur la scène grâce à ses coordonnées (x;y)(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 1010 à 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 :

  1. aller à x : 0 y : 0
  2. avancer de 100
  3. tourner de 90 degrés vers la droite
  4. avancer de 100

Le lutin part du centre de la scène, avance de 100100, fait un quart de tour vers la droite, puis avance encore de 100100. 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 nn indique combien de fois on répète.

Ce que fait une boucle

Si on place des instructions dans un bloc répéter n fois, alors ces instructions sont exécutées nn fois au total, l’une après l’autre, sans qu’on ait besoin de les réécrire.

reˊpeˊter n fois (avancer ; tourner)    n×(avancer ; tourner)\text{répéter } n \text{ fois (avancer ; tourner)} \;\Longleftrightarrow\; n \times (\text{avancer ; tourner})

Tracer un carré avec une boucle

Pour tracer un carré de côté 100100, on répète 44 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é (100100) puis tourne d’un quart de tour (9090 degrés). Au bout des 44 répétitions, il a tracé les 44 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=3604 \times 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) à nn côtés avec une boucle :

  1. Mettre répéter n fois (autant de répétitions que de côtés).
  2. À l’intérieur : avancer de la longueur du côté.
  3. Puis tourner de un angle égal à 360n\dfrac{360}{n} degrés.

L’idée : sur un tour complet, le lutin tourne en tout de 360360 degrés, répartis en nn rotations égales.

Exemple : pour un triangle équilatéral (n=3n = 3 côtés), l’angle de rotation est 3603=120\dfrac{360}{3} = 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 xx donne la position de gauche à droite ;
  • l’ordonnée yy donne la position de bas en haut.

On note la position d’un point (x;y)(x\,;\,y). Le centre de la scène est le point (0;0)(0\,;\,0).

Lire le signe des coordonnées

À partir du centre (0;0)(0\,;\,0) :

  • si x>0x > 0, le point est à droite ; si x<0x < 0, il est à gauche ;
  • si y>0y > 0, le point est en haut ; si y<0y < 0, il est en bas.

Par exemple, le point (100;50)(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)(x\,;\,y) :

  1. Utiliser le bloc aller à x : ... y : ....
  2. Remplir la case xx avec l’abscisse voulue.
  3. Remplir la case yy avec l’ordonnée voulue.

Exemple : pour placer le lutin au point (100;50)(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 xx d’abord, ordonnée yy ensuite. Une bonne façon de retenir : dans l’alphabet, x vient avant y, et sur la scène, on regarde d’abord (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 77 (l’entrée), la variable double prend la valeur 7×2=147 \times 2 = 14, et le lutin affiche 1414 (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 ... à ... :

  1. Créer la variable et lui donner un nom clair (score, total, périmètre…).
  2. Bloc mettre <variable> à <valeur> pour fixer sa valeur.
  3. Bloc ajouter <nombre> à <variable> pour l’augmenter sans repartir de zéro.

Exemple : mettre score à 0 fixe le score à 00 en début de partie ; ajouter 10 à score fait ensuite monter le score de 1010.

5. Un programme de tracé complet

Écrire un programme de tracé

Pour faire dessiner une figure au lutin :

  1. Se placer : aller à x : ... y : ... pour choisir le point de départ.
  2. Préparer le stylo : stylo en position d'écriture (le lutin laisse une trace en se déplaçant).
  3. Tracer : une boucle répéter n fois qui enchaîne avancer de ... et tourner de ....
  4. 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)(50\,;\,50), abaisse son stylo, trace un carré de côté 8080 (boucle de 44 tours, angle de 9090 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 6060 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 360360 degrés, répartis sur 33 sommets, donc 3603=120\dfrac{360}{3} = 120 degrés à chaque fois. La bonne instruction est tourner de 120 degrés. (L’angle de rotation 120120 et l’angle intérieur 6060 sont supplémentaires : 120+60=180120 + 60 = 180 degrés.)

Le piège de l'ordre des coordonnées

FAUX : pour placer un lutin « à 5050 vers le haut et 100100 vers la droite », écrire aller à x : 50 y : 100.

VRAI : l’abscisse xx mesure la gauche-droite, l’ordonnée yy mesure le bas-haut. « 100100 vers la droite » est donc l’abscisse et « 5050 vers le haut » l’ordonnée : il faut écrire aller à x : 100 y : 50. Lis toujours xx en premier, yy 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.

Exercices corrigés

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

Gratuit · corrigé

Où se trouve le lutin à la fin ?

Tu codes une animation sur Scratch : un petit logo de chaîne de streaming doit se déplacer sur la scène. Le centre de la scène est le point (0;0)(0\,;\,0), et au départ le lutin est dirigé vers la droite (sa direction de départ). On exécute cette séquence :

```
aller à x : 120 y : -60
avancer de 40
```

1. À quel point le lutin se trouve-t-il juste après le bloc `aller à` ?
2. Le bloc `avancer de 40` le fait avancer vers la droite : quelles sont ses coordonnées finales ?
3. Le point d'arrivée est-il à droite ou à gauche du centre ? En haut ou en bas ?

Voir l'exercice corrigé
Gratuit · corrigé

Placer un lutin au point (100 ; 50)

Dans un jeu que tu codes sur Scratch, tu veux placer ton lutin (un ballon de basket) au point de coordonnées (100;50)(100\,;\,50) de la scène. Le centre de la scène est le point (0;0)(0\,;\,0).

1. Le point (100;50)(100\,;\,50) se trouve-t-il à droite ou à gauche du centre ? En haut ou en bas ?
2. Écris le bloc Scratch qui place le lutin à cette position.

Voir l'exercice corrigé
Gratuit · corrigé

Que dessine ce programme Scratch ?

Sur Scratch, le stylo du lutin est en position d'écriture. On exécute le programme suivant :

```
répéter 4 fois :
avancer de 50
tourner de 90 degrés vers la droite
```

1. Quelle figure le lutin dessine-t-il ?
2. Quelle est la longueur de chaque côté ?

Voir l'exercice corrigé
Gratuit · corrigé

Afficher le périmètre d'un carré saisi

On veut un programme Scratch qui demande la longueur du côté d'un carré, puis affiche son périmètre.

1. Quelle est l'entrée ? Quelle est la sortie ?
2. Par quel calcul obtient-on le périmètre à partir du côté ?
3. Écris le programme, puis donne le résultat affiché si l'utilisateur saisit un côté de 1212.

Voir l'exercice corrigé
Gratuit · corrigé

Programmer un hexagone régulier

Pour le logo de ta boutique de sneakers, tu veux que ton lutin trace un hexagone régulier (un polygone à 66 côtés tous égaux) de côté 4545 sur Scratch. On utilisera une boucle `répéter ... fois`.

1. Combien de fois la boucle doit-elle répéter, et pourquoi ?
2. Quel angle le lutin doit-il tourner à chaque sommet ?
3. Écris le programme complet (sans oublier le stylo).

Voir l'exercice corrigé
Gratuit · corrigé

Programmer un triangle équilatéral

Tu veux que ton lutin trace un triangle équilatéral de côté 120120 sur Scratch (les trois côtés ont la même longueur). On utilisera une boucle `répéter 3 fois`.

1. Quel angle le lutin doit-il tourner à chaque sommet ?
2. Écris le programme complet (sans oublier le stylo).

Voir l'exercice corrigé
Gratuit · corrigé

Calculer le bénéfice d'un stand de food

Pour la fête du collège, tu tiens un stand de tacos et tu codes sur Scratch un programme qui calcule ton bénéfice de la journée. Chaque tacos est vendu 66 euros et te coûte 22 euros à fabriquer : tu gagnes donc une marge sur chaque tacos vendu. Tu dois aussi payer un emplacement de 3030 euros pour la journée (ce coût est retiré une seule fois, à la fin). Le programme commence par mettre le bénéfice à 00.

Voici le cœur du programme, pour une journée où tu vends 2525 tacos :

```
mettre bénéfice à 0
répéter 25 fois :
ajouter (6 - 2) à bénéfice
mettre bénéfice à (bénéfice - 30)
dire (bénéfice)
```

1. Quelle marge gagnes-tu sur un seul tacos ?
2. Que vaut le bénéfice juste après la boucle (avant la ligne de l'emplacement) ?
3. Quel nombre le programme affiche-t-il à la fin ?

Voir l'exercice corrigé
Bonus

Mini-jeu : le score qui monte à chaque clic

Tu codes un petit clicker sur Scratch, dans le style d'un mini-jeu Roblox. À chaque clic sur le lutin, deux choses se passent : le score augmente de 1010, et le lutin avance de 2525 (on suit la distance totale parcourue). Au démarrage, le score et la distance valent 00.

Voici le cœur du programme :

```
quand le drapeau vert est cliqué
mettre score à 0
mettre distance à 0

quand ce lutin est cliqué
ajouter 10 à score
mettre distance à (distance + 25)
dire (regroupe « Score : » et score)
```

1. Explique le rôle des blocs `mettre à 0` du début.
2. Le joueur réalise 66 clics d'affilée. Calcule le score affiché et la distance totale parcourue.

Débloquer l'exercice

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

C'est quoi un algorithme en classe de cinquième ?
Un algorithme est une suite d'instructions, écrites dans un ordre précis, qui explique comment réaliser une tâche du début à la fin. Sur Scratch, on assemble des blocs colorés pour donner ces instructions à un personnage qu'on appelle un lutin. L'ordre des blocs est très important : si tu changes l'ordre, le lutin ne fait plus la même chose.
À quoi sert la boucle répéter n fois sur Scratch ?
La boucle répéter n fois sert à répéter plusieurs fois les mêmes instructions sans avoir à les réécrire à chaque fois. Par exemple, pour tracer un carré, au lieu d'écrire quatre fois avancer puis tourner, tu écris une seule fois ces deux blocs à l'intérieur d'un bloc répéter 4 fois. C'est plus court et beaucoup plus facile à relire.
Comment placer un lutin à une position précise sur Scratch ?
Sur Scratch, la scène est repérée par deux nombres : l'abscisse x, de gauche à droite, et l'ordonnée y, de bas en haut. Le centre de la scène est le point de coordonnées x égal 0 et y égal 0. Pour placer un lutin à un endroit précis, on utilise le bloc aller à x et y en indiquant les deux nombres voulus, par exemple x égal 100 et y égal 50.