MathLvl
Quatrième

Algorithmique et Scratch en Quatrième

Boucles imbriquées, fonctions et tests sur Scratch en 4ᵉ.

La programmation Scratch monte en complexité : boucles avec conditions, variables qui évoluent dynamiquement, listes (stockent plusieurs valeurs), sous-programmes (fonctions). Dernière marche solide avant Python en Seconde.

Au programme : créer des boucles « répéter jusqu'à ce que » (s'arrête quand un test est vrai) ; manipuler des listes (ajouter, supprimer, parcourir) ; définir ses propres blocs (équivalents des fonctions Python) ; gérer plusieurs lutins qui interagissent. On commence à modéliser des problèmes mathématiques : calculer la somme 1+2+…+n, tester si un nombre est premier, simuler un lancer de dé.

Pièges habituels : mal initialiser une variable ; boucle infinie ; confondre « = » (test) et « mettre à » (affectation). Conseil : décomposer le problème en sous-problèmes avant de coder.

Cours et fiche

📘

Leçon

Le cours complet du chapitre

Télécharger
📝

Fiche de révision

Synthèse + formules essentielles

Télécharger

S'entraîner

5 exercices

Fiches d'exercices à télécharger (PDF)

1

Plaquette 1 – Déplacements et boucles simples

2

Plaquette 2 – Boucles imbriquées

3

Plaquette 3 – Variables et calculs

4

Plaquette 4 – Tests et conditions

5

Plaquette 5 – Bilan et projets

Leçon complète

Algorithmique et Scratch en 4ème : cours complet

En quatrième, tu approfondis Scratch avec des boucles imbriquées, des conditions multiples, des fonctions (blocs personnalisés) et tu commences à programmer des jeux complets. Tu te rapproches de la programmation « classique ».

Rappels — Algorithme et programmation

Un algorithme est une suite ordonnée d'instructions pour résoudre un problème. Un programme est la traduction de cet algorithme dans un langage de programmation (Scratch, Python, etc.).

Variables

Types de variables

  • Numériques : score, vies, temps, position.
  • Texte (chaînes de caractères) : nom du joueur, message.
  • Booléennes : vrai / faux (par exemple, « game over »).

Opérations courantes

  • Affecter une valeur : mettre score à 0.
  • Incrémenter : ajouter 1 à score.
  • Décrémenter : ajouter -1 à vies (ou ajouter 1 à vies avec -1).
  • Lire : utiliser le bloc variable directement.

Boucles

Boucle « répéter n fois »

répéter 10 fois
    avancer de 20 pas
    tourner de 36 degrés

→ Dessine un décagone.

Boucle « répéter indéfiniment »

répéter indéfiniment
    ...

→ Tourne sans fin (utilisé pour les jeux, animations).

Boucle « répéter jusqu'à »

répéter jusqu'à ce que vies = 0
    ...

→ Tourne tant que la condition n'est pas remplie.

Boucles imbriquées

Une boucle à l'intérieur d'une autre boucle.

répéter 4 fois
    répéter 6 fois
        avancer de 60
        tourner de 60 degrés
    tourner de 90 degrés

→ Dessine une figure composée de plusieurs hexagones.

Conditions

Bloc « si … alors »

si touche le bord ? alors
    rebondir

Bloc « si … alors … sinon »

si score > 100 alors
    dire "Champion !"
sinon
    dire "Continue à jouer."

Conditions multiples

On peut combiner avec et, ou, non :

si (score > 100) et (vies > 0) alors
    ...
si (touche [rouge] ?) ou (touche [vert] ?) alors
    ...

Les fonctions (blocs personnalisés)

Créer un bloc

Dans la catégorie Mes blocs, tu peux créer un bloc personnalisé (avec ou sans paramètres).

Exemple — Bloc dessiner polygone

définir dessiner polygone (côtés) (longueur)
    répéter (côtés) fois
        avancer de (longueur)
        tourner de (360 / côtés) degrés

Ensuite, dans le programme principal, on appelle :

dessiner polygone (6) (50)   → hexagone de côté 50
dessiner polygone (8) (40)   → octogone de côté 40

Avantage

Les fonctions évitent la répétition de code et rendent le programme plus clair.

Programmes typiques

Programme 1 — Calculatrice simple

demander "Premier nombre :" et attendre
mettre a à réponse
demander "Deuxième nombre :" et attendre
mettre b à réponse
demander "Opération (+, -, *, /) :" et attendre
si réponse = "+" alors
    dire (a + b)
si réponse = "-" alors
    dire (a - b)
…

Programme 2 — Jeu de hasard

mettre cible à nombre aléatoire entre 1 et 100
répéter jusqu'à ce que essai = cible
    demander "Devine le nombre :" et attendre
    mettre essai à réponse
    si essai < cible alors
        dire "Plus grand !"
    sinon
        si essai > cible alors
            dire "Plus petit !"
dire "Bravo, c'était bien" rejoint cible

Programme 3 — Pong simplifié

Deux lutins : une balle qui rebondit, une raquette contrôlée au clavier. Si la balle touche le bord du bas : « Game over ».

Algorithmes en pseudo-code

À partir de la 4ème, on commence à écrire en pseudo-code (texte naturel, indépendant du langage) :

Variables : score, choix
Début
    score ← 0
    Pour i de 1 à 10
        Demander à l'utilisateur de choisir un nombre
        Si choix = 7 alors
            score ← score + 1
    Fin Pour
    Afficher score
Fin

Erreurs fréquentes à éviter

  • Oublier d'initialiser une variable : mettre score à 0 au début.
  • Mal imbriquer les blocs : un bloc dans une boucle doit être glissé dans la boucle.
  • Boucle infinie sans sortie : prévoir une condition d'arrêt.
  • Mauvaise variable : vérifier le nom (sensible à la casse).
  • Confondre = (test) et ← (affectation) en pseudo-code.

FAQ — Algorithmique et Scratch en 4ème

Pourquoi écrire des fonctions ?

Pour réutiliser du code, éviter les répétitions, et rendre le programme plus lisible et plus court.

Qu'est-ce qu'une boucle imbriquée ?

C'est une boucle à l'intérieur d'une autre boucle. Très utile pour les motifs géométriques ou les tableaux.

À quoi sert le pseudo-code ?

À réfléchir à l'algorithme avant de coder, en s'affranchissant des détails d'un langage. Le même pseudo-code peut être codé en Scratch, Python, ou ailleurs.

Comment savoir si mon programme est bon ?

Tu le testes avec différentes entrées, y compris des cas limites (zéro, valeurs négatives, valeurs très grandes). Un bon programme fonctionne dans tous les cas prévus.

Tous les chapitres de Quatrième

Poursuis ta révision avec les autres chapitres du programme de Quatrième.