Scratch et programmation : cours 3eme
Télécharger la fiche de cours
Fiche PDF imprimable au format A4.
En 3e, Scratch n’est plus un simple jeu de blocs colorés. Le programme de mathématiques et de technologie demande de comprendre comment un algorithme fonctionne, comment une machine “décide”, répète, teste, calcule. Et c’est précisément là que Scratch et programmation : cours 3eme devient utile : on passe de l’animation amusante à la vraie logique.
Un détail que beaucoup d’élèves ignorent : Scratch a été conçu au MIT pour apprendre à penser comme un programmeur avant même d’écrire une ligne de code en Python ou en JavaScript. Ce n’est donc pas un détour. C’est une rampe de lancement.
Définition et rappels sur Scratch en 3e
Scratch est un logiciel de programmation visuelle dans lequel on construit des programmes en assemblant des blocs.
En 3e, on l’utilise pour travailler plusieurs notions du programme de l’Éducation nationale :
- les algorithmes ;
- les variables ;
- les instructions conditionnelles ;
- les boucles ;
- les coordonnées et déplacements dans un repère ;
- la simulation de situations mathématiques.
Algorithme : suite d’instructions ordonnées permettant de résoudre un problème.
Variable : “boîte mémoire” qui stocke une valeur, par exemple un score, une longueur ou un nombre choisi par l’utilisateur.
Condition : test du type “si … alors … sinon …”. Le programme agit différemment selon que la condition est vraie ou fausse.
Boucle : instruction qui permet de répéter une ou plusieurs actions, par exemple répéter 10 fois ou répéter jusqu’à.
Coordonnées : dans Scratch, un sprite se déplace sur une scène repérée par un axe horizontal x et un axe vertical y. C’est un excellent lien avec le chapitre sur le repérage, à revoir ici : repérage dans le plan.
Petit fait peu connu : les coordonnées de Scratch ne commencent pas en haut à gauche comme dans beaucoup d’écrans d’ordinateur. Le point (0 ; 0) est au centre de la scène. Cela surprend souvent au début, puis ça devient très pratique pour relier programmation et géométrie.
Propriétés essentielles à connaître en programmation Scratch
Un programme suit les instructions dans l’ordre
Par défaut, Scratch exécute les blocs de haut en bas. Si on change l’ordre des blocs, on change le résultat.
Démonstration simplifiée : prenons deux blocs :
1. mettre x à 50
2. ajouter 20 à x
Si on exécute dans cet ordre, on obtient x = 70.
Si on inverse :
1. ajouter 20 à x
2. mettre x à 50
alors la valeur finale est 50. La deuxième instruction écrase la première. L’ordre compte donc réellement.
Une boucle permet d’éviter de répéter les mêmes blocs
Quand une action doit être refaite plusieurs fois, une boucle est plus efficace qu’une suite de blocs identiques.
Démonstration simplifiée : si un sprite doit avancer de 10 pas, 8 fois, on peut écrire 8 blocs avancer de 10. Mais la boucle répéter 8 fois fait exactement la même chose en allégeant le programme. On obtient alors une distance totale de 8 × 10 = 80 pas.
Une condition permet au programme de choisir
Le bloc si ... alors sert à déclencher une action seulement dans certains cas.
Démonstration simplifiée : si on programme :
si score > 10 alors dire "Bravo"
alors le message ne s’affiche que pour les scores strictement supérieurs à 10. Pour score = 10, rien ne se passe. Le choix du signe mathématique est donc capital. C’est le même soin que dans les inégalités, à revoir dans le calcul littéral et les comparaisons de valeurs.
Une variable peut changer pendant l’exécution
Une variable n’a pas une valeur fixe. Elle évolue au fil du programme.
Démonstration simplifiée : si on met score à 0, puis qu’on ajoute 1 à chaque bonne réponse, après 5 bonnes réponses on obtient :
0 + 1 + 1 + 1 + 1 + 1 = 5
La variable est donc un outil de mémorisation dynamique. C’est ce qui permet de compter, mesurer, comparer.
Une anecdote amusante : beaucoup de bugs en Scratch ne viennent pas d’un calcul faux, mais d’une variable qu’on a oublié de remettre à zéro. C’est un peu comme commencer un contrôle de maths avec les résultats de l’exercice précédent déjà écrits dans la marge.
Méthode pas à pas pour résoudre un exercice avec Scratch
Étape 1 : comprendre ce qu’on veut obtenir
Il faut traduire la consigne en action simple. Le sprite doit-il se déplacer ? Dessiner ? Poser une question ? Calculer une valeur ?
Étape 2 : repérer les informations utiles
On cherche les données de départ : position initiale, nombre de répétitions, test à effectuer, résultat attendu.
Étape 3 : choisir les bons blocs
En général, on pioche dans :
- Mouvement pour avancer, tourner, aller à une position ;
- Contrôle pour les boucles et conditions ;
- Capteurs pour les réponses de l’utilisateur ;
- Variables pour stocker un résultat ;
- Opérateurs pour calculer.
Étape 4 : écrire l’algorithme en français
Avant de poser les blocs, on peut rédiger :
“Quand on clique sur le drapeau, mettre le score à 0, poser une question, si la réponse est correcte alors ajouter 1 au score.”
Étape 5 : traduire en blocs Scratch
On construit le script bloc par bloc, sans aller trop vite.
Étape 6 : tester, corriger, retester
Un programme presque juste est souvent faux. Il faut essayer plusieurs cas : valeur petite, grande, limite, réponse correcte, réponse incorrecte.
Ce point est rarement dit clairement en classe : les bons programmeurs passent énormément de temps à tester des cas bizarres. Par exemple, dans un jeu de calcul mental, il faut vérifier ce qui se passe si l’utilisateur tape 0, un nombre négatif, ou même rien du tout.
Trois exemples résolus sur Scratch et programmation en 3e
Exemple 1 : faire avancer un sprite en carré
Problème : programmer un sprite pour qu’il trace un carré de côté 100 pas.
Analyse : un carré a 4 côtés égaux et 4 angles droits. Il faut donc répéter 4 fois la même action : avancer puis tourner de 90°.
Algorithme :
Quand on clique sur le drapeau
effacer
stylo en position d’écriture
répéter 4 fois :
avancer de 100 pas
tourner de 90 degrés
Pourquoi ça marche : après chaque côté, le sprite tourne d’un angle droit. Au bout de 4 répétitions, il revient à sa direction de départ et la figure est fermée.
Lien avec les maths : on utilise les propriétés du carré. Si ce chapitre n’est pas solide, un détour par les figures géométriques aide vraiment.
Exemple 2 : calculer la somme des entiers de 1 à n
Problème : l’utilisateur choisit un nombre n. Le programme doit calculer
1 + 2 + 3 + ... + n.
Analyse : il faut une variable pour la somme, une autre pour compter.
Algorithme :
Quand on clique sur le drapeau
demander “Choisis un nombre”
mettre n à réponse
mettre somme à 0
mettre compteur à 1
répéter jusqu’à ce que compteur > n :
ajouter compteur à somme
ajouter 1 à compteur
dire somme
Exemple avec n = 4 :
somme = 0
puis somme = 1
puis somme = 3
puis somme = 6
puis somme = 10
Le programme affiche donc 10.
Pourquoi c’est intéressant en 3e : on voit apparaître l’idée d’accumulation, très utile en algorithmique. C’est aussi un bon entraînement au raisonnement sur les variables.
Fait peu connu : la formule directe n(n+1)/2 était déjà attribuée à Gauss enfant, après un exercice de somme donné en classe. Scratch permet justement de comparer la méthode par boucle et la méthode par formule.
Exemple 3 : tester si un nombre est pair ou impair
Problème : écrire un programme qui demande un nombre et indique s’il est pair ou impair.
Analyse : un nombre est pair si le reste de sa division par 2 vaut 0.
Algorithme :
Quand on clique sur le drapeau
demander “Donne un nombre”
si (réponse modulo 2 = 0) alors
dire “pair”
sinon
dire “impair”
Test :
si la réponse est 18, alors 18 modulo 2 = 0, donc le programme affiche “pair”.
si la réponse est 23, alors 23 modulo 2 = 1, donc il affiche “impair”.
Difficulté supplémentaire : certains élèves écrivent “si réponse/2 = 0”. C’est faux. On ne cherche pas le quotient, mais le reste.
Pour aller plus loin : ce type de test rejoint le travail sur la division euclidienne et les multiples, à revoir dans le cours sur la division euclidienne.
Cas particuliers et pièges courants en Scratch
Confondre “mettre à” et “ajouter à”
Mettre score à 1 fixe la valeur à 1.
Ajouter 1 à score augmente la valeur actuelle de 1.
C’est l’erreur la plus fréquente dans les programmes de score. Résultat : le score reste bloqué à 1.
Oublier l’initialisation
Une variable doit souvent être remise à zéro au début du programme. Sinon, elle garde parfois une ancienne valeur.
Choisir la mauvaise boucle
Répéter 10 fois convient quand on connaît le nombre de répétitions.
Répéter jusqu’à convient quand on attend qu’une condition devienne vraie.
Un élève qui veut faire avancer un sprite jusqu’au bord avec répéter 100 fois prend un risque : selon la position de départ, cela peut être trop ou pas assez.
Tester une condition trop stricte ou pas assez
score > 10 n’est pas la même chose que score >= 10. Un seul symbole peut changer tout le comportement du programme.
Se tromper dans les coordonnées
Dans Scratch, aller à x = 100, y = -50 signifie 100 vers la droite et 50 vers le bas. Le signe négatif sur y est souvent oublié.
Un détail historique amusant : le mot “bug” en informatique a été popularisé après qu’un insecte coincé dans une machine ait perturbé son fonctionnement. En Scratch, les bugs sont moins exotiques, mais parfois tout aussi agaçants.
Résumé du cours Scratch et programmation : cours 3eme
À retenir :
Un programme Scratch est une suite d’instructions exécutées dans un certain ordre.
Les notions essentielles de 3e sont :
- l’algorithme ;
- la variable ;
- la boucle ;
- la condition ;
- les coordonnées dans le plan.
Pour réussir un exercice, il faut :
- comprendre la consigne ;
- repérer les données ;
- écrire l’algorithme en français ;
- traduire en blocs ;
- tester avec plusieurs cas.
Les erreurs classiques sont l’oubli d’initialisation, la confusion entre mettre et ajouter, ou une condition mal écrite.
Pour t’entraîner après ce cours, tu peux poursuivre avec des exercices sur l’algorithmique en 3e et revoir aussi les exercices sur les coordonnées.
FAQ : les questions fréquentes des élèves
Scratch est-il vraiment au programme de 3e ?
Oui. L’algorithmique et la programmation font partie des attendus du cycle 4, donc de la 5e à la 3e. En 3e, on attend plus d’autonomie dans la lecture, la création et la correction d’algorithmes.
Quelle différence entre un algorithme et un programme ?
L’algorithme est la méthode expliquée étape par étape. Le programme est sa traduction dans un langage, ici Scratch. On peut donc écrire un algorithme en français avant de le coder.
Pourquoi utiliser des variables ?
Parce qu’un programme doit mémoriser des valeurs qui changent : score, réponse, nombre d’essais, somme calculée, position. Sans variable, impossible de suivre l’évolution d’une situation.
Comment savoir s’il faut une boucle ?
Dès qu’une action revient plusieurs fois, il faut penser à une boucle. Si tu écris trois fois ou quatre fois le même bloc, c’est souvent le signe qu’une boucle serait plus propre.
Que faire si mon programme ne marche pas ?
Teste une seule partie à la fois. Vérifie les variables, les conditions, puis les répétitions. Très souvent, l’erreur vient d’un détail minuscule : une valeur mal initialisée, un signe oublié, ou une condition placée au mauvais endroit.
Si tu veux progresser vite sur Scratch et programmation : cours 3eme, le bon réflexe est simple : coder, tester, corriger. Puis recommencer. C’est exactement comme en maths quand on apprend à rédiger une démonstration : la logique devient plus nette à force de pratique.