MathLvl
Troisième

Algorithmique et Scratch en Troisième

Algorithmes avancés et préparation au brevet avec Scratch en 3ᵉ.

Dernière année de Scratch (la Seconde passera à Python). On consolide tous les acquis : variables, boucles imbriquées, conditions composées, listes, sous-programmes. On programme des algorithmes mathématiques significatifs.

Au programme : algorithmique avancée avec décomposition en sous-programmes ; manipulation de listes pour stocker des résultats ; boucles conditionnelles « tant que » ; interaction utilisateur ; conception de mini-jeux mathématiques. Exemples : tracé de fonctions, calcul de PGCD par algorithme d'Euclide, simulation pour vérifier la loi des grands nombres.

Pièges typiques : initialisation oubliée (variable garde sa valeur entre exécutions) ; confusion entre = (égalité) et « mettre à » (affectation) ; boucles infinies. Conseil : décomposer en sous-blocs, écrire un pseudo-code en français, tester avec cas extrêmes. Tout se transfère directement à Python.

Cours et fiche

📘

Leçon

Le cours complet du chapitre

Télécharger
📝

Fiche de révision

Synthèse + formules essentielles

Télécharger

Exercices corrigés

5 exercices
1

Plaquette 1 – Lire, prévoir et corriger un script

2

Plaquette 2 – Déplacements et coordonnées : prévoir la trace

3

Plaquette 3 – Boucles et figures géométriques

4

Plaquette 4 – Variables, tests et conditions

5

Plaquette 5 – Écrire, tester et corriger un script

Leçon complète

Algorithmique et Scratch en 3ème : cours complet

En troisième, tu approfondis tes compétences en algorithmique : tu utilises des fonctions (avec et sans paramètres), des listes (tableaux), des algorithmes mathématiques (calcul de PGCD, recherche dans une liste). Tu te prépares à la programmation Python qui arrive en seconde.

Rappels

Un algorithme est une suite d'instructions précises pour résoudre un problème. Un programme est sa traduction dans un langage (Scratch, Python, etc.).

Les variables

Types de données

  • Numériques (entiers, décimaux).
  • Chaînes de caractères (texte).
  • Booléens (vrai/faux).
  • Listes (collections de valeurs).

Opérations sur les variables

  • Initialisation : mettre score à 0.
  • Modification : ajouter 1 à score, mettre nom à "Léa".
  • Utilisation : on glisse le bloc variable dans une expression.

Les boucles

Boucle « répéter n fois »

répéter 10 fois
    ...

Boucle « tant que / jusqu'à »

répéter jusqu'à ce que essai = cible
    demander "Devine !" et attendre
    mettre essai à réponse

Boucles imbriquées

répéter 3 fois
    répéter 4 fois
        avancer de 50
        tourner de 90
    tourner de 120

Les conditions

Conditions simples et multiples

si touche [rouge] ? alors
    cacher
sinon
    montrer

Combinaison avec et / ou / non

si (score > 50) et (vies > 0) alors
    dire "Niveau suivant !"

Les fonctions (blocs personnalisés)

Bloc sans paramètre

définir dessiner étoile
    répéter 5 fois
        avancer de 100
        tourner de 144 degrés

Bloc avec paramètres

définir polygone (n) (l)
    répéter (n) fois
        avancer de (l)
        tourner de (360 / n) degrés

Appel : polygone (6) (50) dessine un hexagone de côté 50.

Les listes

Définition

Une liste est une variable qui peut contenir plusieurs valeurs rangées dans un certain ordre.

Opérations dans Scratch

  • ajouter "rouge" à couleurs
  • supprimer 3 de couleurs
  • élément 2 de couleurs
  • longueur de couleurs

Exemple — Quizz à plusieurs questions

ajouter "Capitale de la France ?" à questions
ajouter "Capitale de l'Espagne ?" à questions
ajouter "Paris" à réponses
ajouter "Madrid" à réponses
répéter (longueur de questions) fois
    demander élément (i) de questions et attendre
    si réponse = élément (i) de réponses alors
        ajouter 1 à score

Algorithmes classiques

Algorithme d'Euclide (PGCD)

mettre a à 420
mettre b à 156
répéter jusqu'à ce que b = 0
    mettre r à reste de (a / b)
    mettre a à b
    mettre b à r
dire "PGCD =" rejoint a

Recherche dans une liste

mettre trouvé à faux
pour i de 1 à longueur de liste
    si élément (i) de liste = valeur cherchée alors
        mettre trouvé à vrai
si trouvé alors
    dire "Trouvé !"
sinon
    dire "Non trouvé."

Calcul d'une moyenne

mettre somme à 0
pour i de 1 à longueur de notes
    mettre somme à somme + élément (i) de notes
mettre moyenne à somme / longueur de notes
dire moyenne

Pseudo-code

À ce niveau, on écrit également en pseudo-code, indépendant du langage :

Variable : x
Demander x
Si x > 0 alors
    Afficher "Positif"
SinonSi x = 0 alors
    Afficher "Nul"
Sinon
    Afficher "Négatif"
FinSi

Python (introduction)

Certains professeurs introduisent Python en 3ème. Quelques bases :

# Variables
x = 5
y = 3
print(x + y)   # 8

# Conditions
if x > 0:
    print("positif")
else:
    print("négatif ou nul")

# Boucles
for i in range(5):
    print(i)

Tester et corriger un programme

Tester

  • Utilise plusieurs valeurs d'entrée, y compris des cas limites (zéro, négatif, très grand).
  • Compare le résultat obtenu au résultat attendu.

Corriger (déboguer)

  • Imprime les valeurs intermédiaires (dire ...).
  • Vérifie chaque condition.
  • Vérifie les boucles : nombre d'itérations, conditions de sortie.

Erreurs fréquentes à éviter

  • Oublier d'initialiser une variable.
  • Confondre = (affectation) et == (test d'égalité) en Python.
  • Boucle infinie : prévoir la sortie.
  • Mauvais index dans une liste : Scratch indexe à partir de 1, Python à partir de 0.
  • Mauvaise indentation en Python : essentielle.

FAQ — Algorithmique en 3ème

Pourquoi le passage à Python en seconde ?

Python est un vrai langage de programmation, utilisé dans la recherche, l'industrie, le web. Il est plus puissant que Scratch pour les calculs et l'analyse de données.

À quoi servent les listes ?

À stocker plusieurs valeurs (notes, noms, coordonnées) et à les manipuler facilement avec des boucles.

Comment trouver une erreur dans mon programme ?

En affichant les variables intermédiaires, en testant étape par étape, et en simplifiant le programme pour isoler le problème.

Faut-il être bon en maths pour programmer ?

Pas forcément, mais une bonne logique est essentielle. Et les maths aident pour résoudre les problèmes plus complexes.

Tous les chapitres de Troisième

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