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 nn 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é 5050.
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.