Aller au contenu
Accueil › Troisième › Algorithmique et programmation
V Algorithmique et programmation · Chapitre 14 / 14

Algorithmique et programmation

Scratch : séquences, boucles, conditions, variables, blocs personnalisés.

17 min de lecture
5 sections, 6 exemples
40 exercices · 1 devoir type brevet

Conforme au programme officiel 2026-2027 · notre méthode de vérification

40 exercices corrigés sur l'algorithmique et la programmation

L'essentiel en 30 secondes

Un algorithme est une suite finie d'instructions ; traduit en blocs Scratch, il devient un programme, exécuté bloc après bloc dès qu'un événement le déclenche, comme le clic sur le drapeau vert. Les variables mémorisent des valeurs, les boucles répètent un motif — un polygone régulier à n côtés s'obtient en tournant n fois de 360/n degrés — et les tests « si … alors … sinon » choisissent entre deux actions. Les blocs personnalisés découpent un problème en sous-problèmes, le bloc « nombre aléatoire » simule le hasard, et le résultat d'un programme de calcul se prouve par le calcul littéral, jamais par quelques essais.

1 I. Algorithmes, programmes et scripts

Programmer, c'est donner à une machine des ordres assez précis pour qu'elle les exécute sans jamais avoir à deviner. Avant tout ordinateur, il y a donc une méthode rédigée pas à pas : c'est elle qu'on appelle un algorithme.
OrientationLe lutin regarde…
00vers le haut
9090vers la droite (orientation de départ d'un nouveau lutin)
180180vers le bas
−90-90vers la gauche
« tourner ↻ de aa degrés » ajoute aa à l'orientation ; « tourner ↺ de aa degrés » la diminue de aa. Scratch ramène toujours l'orientation entre −180-180 et 180180 : un lutin orienté à 180180 qui tourne ↻ de 9090 degrés est orienté à 270270, affiché −90-90, c'est-à-dire vers la gauche.
InstructionPosition (x ; y)(x\ ;\ y)Orientation
aller à x : −50 y : 0(−50 ; 0)(-50\ ;\ 0)inchangée
s'orienter à 90(−50 ; 0)(-50\ ;\ 0)9090 (droite)
avancer de 100 pas(50 ; 0)(50\ ;\ 0)9090
tourner ↺ de 90 degrés(50 ; 0)(50\ ;\ 0)00 (haut)
avancer de 60 pas(50 ; 60)(50\ ;\ 60)00
tourner ↺ de 90 degrés(50 ; 60)(50\ ;\ 60)−90-90 (gauche)
avancer de 40 pas(10 ; 60)(10\ ;\ 60)−90-90

2 II. Variables et programmes de calcul

Bloc opérateurRôleExemple
a + b, a − b, a × b, a / bles quatre opérations7 / 2 donne 3,53{,}5
nombre aléatoire entre a et bun entier choisi au hasard entre a et b inclus (a et b entiers)entre 1 et 6 : un lancer de dé
a < b, a = b, a > bune comparaison, vraie ou fausse3 < 5 est vraie
… et …, … ou …, non …combiner des conditionsnon (x = 0) traduit x≠0x\neq 0
regrouper a et bcoller deux textes bout à boutregrouper « Bon » et « jour » donne « Bonjour »
Instructionab
mettre a à 333—
mettre b à a + 43377
ajouter b à a101077
mettre b à a × 210102020
Le lutin dit 2020. Remarquer la troisième ligne : « ajouter b à a » modifie aa, pas bb.

3 III. Boucles et figures

Polygone régulierCôtés nnRotation 360n\frac{360}{n}Angle du polygone
triangle équilatéral33120∘120^\circ60∘60^\circ
carré4490∘90^\circ90∘90^\circ
pentagone régulier5572∘72^\circ108∘108^\circ
hexagone régulier6660∘60^\circ120∘120^\circ
octogone régulier8845∘45^\circ135∘135^\circ

4 IV. Conditions et tests

5 V. Blocs personnalisés, hasard et débogage

L'instruction « carré (40) » exécute la définition avec côté égal à 4040. Après chaque carré, le lutin est revenu à son point de départ, orienté vers la droite, stylo relevé ; il avance alors de 8080 pas sans tracer. Il dessine ainsi une frise de cinq carrés de côté 4040, séparés par des intervalles de 80−40=4080-40=40 pas ; le dernier carré se termine à l'abscisse 160160.

À travailler ensuite

Questions fréquentes

Pourquoi le lutin tourne-t-il de 120° et non de 60° pour tracer un triangle équilatéral ?
Le lutin tourne de l'angle dont il se détourne de sa direction, pas de l'angle du triangle. Pour refermer un polygone régulier à nn côtés, ses nn rotations doivent totaliser un tour complet, soit 360∘360^\circ : chacune vaut 360n\dfrac{360}{n}, donc 120∘120^\circ pour un triangle. Rotation et angle du polygone sont supplémentaires : 120+60=180120+60=180.
Quelle est la différence entre « mettre » et « ajouter » ?
« mettre score à 5 » remplace la valeur de la variable par 55, quelle qu'elle soit ; « ajouter 5 à score » l'augmente de 55. C'est pourquoi un script commence souvent par des blocs « mettre … à 0 » : une variable garde sa valeur d'une exécution à la suivante, et oublier de l'initialiser fausse le résultat dès le deuxième lancement.
Comment écrire « supérieur ou égal » dans Scratch ?
Scratch n'a que trois comparaisons : <<, == et >>. Pour tester x⩾10x\geqslant 10, on écrit non (x < 10), ou bien (x > 10) ou (x = 10) ; pour x≠0x\neq 0, on écrit non (x = 0). On vérifie toujours le script sur la valeur frontière, ici 1010 : c'est là que se glissent les erreurs.
Tester un programme de calcul sur plusieurs nombres suffit-il à prouver un résultat ?
Non : des essais permettent seulement de conjecturer. Pour prouver qu'un programme donne toujours le même résultat, on note xx le nombre choisi, on écrit l'expression obtenue et on la réduit par le calcul littéral, par exemple (x+3)×2−2x=6(x+3)\times 2-2x=6. En revanche, un seul contre-exemple suffit à prouver qu'une affirmation est fausse.
Que fait exactement la boucle « répéter jusqu'à » ?
Elle teste la condition avant chaque passage : tant que la condition est fausse, elle exécute son contenu ; dès qu'elle est vraie, elle s'arrête. Elle peut donc ne jamais s'exécuter si la condition est vraie dès le départ, ou ne jamais s'arrêter si elle ne le devient jamais — par exemple une égalité que la variable « saute ».