Algorithmique et programmation Scratch
Scratch en 4ème : manipuler une variable, écrire des conditions « si… alors… sinon », écrire un programme simple et modifier un programme donné : programmes de calcul et constructions géométriques paramétrées.
Définitions
Définition 1 — variable. Une variable est une boîte qui porte un nom et contient une valeur (nombre ou texte), que le programme peut lire ou modifier. En 5ème, tu lisais une variable ; cette année, tu apprends à la manipuler. Exemple : après mettre n à 5, la variable vaut 5, quoi qu’elle ait contenu avant.
Définition 2 — événement. Un événement est le bloc « chapeau » qui déclenche un script : sans lui, le script ne démarre jamais.
| Événement | Quand ? |
|---|---|
quand le drapeau vert est cliqué | au lancement du programme |
quand la touche espace est pressée | à chaque appui |
quand ce lutin est cliqué | à chaque clic sur le lutin |
quand je reçois message | quand un autre script envoie ce message |
Exemple : demander « Ton âge ? » et attendre stocke la réponse de l’utilisateur dans le bloc réponse.
Définition 3 — instruction conditionnelle. Le bloc si <condition> alors … exécute ses instructions seulement quand la condition est vraie. La forme si <condition> alors … sinon … précise aussi ce qu’il faut faire quand elle est fausse. Exemple : si (réponse < 18) alors dire « mineur » sinon dire « majeur ».
Définition 4 — boucle. Une boucle répète un groupe d’instructions : répéter n fois pour un nombre connu de répétitions (polygones), répéter indéfiniment pour les animations et les jeux. Exemple : répéter 4 fois : avancer de 50 ; tourner de 90° trace un carré. (La boucle « répéter jusqu’à … » sera étudiée en 3ème.)
Théorèmes et propriétés
Propriété 1 — affectation et copie de valeur. mettre n à 5 remplace la valeur de ; ajouter 3 à n la modifie (elle augmente de 3). Une affectation copie une valeur : après mettre b à a, modifier ne change plus .
| Bloc | Effet |
|---|---|
mettre n à 5 | vaut 5, quoi qu’il contenait avant |
ajouter 3 à n | augmente de 3 |
mettre n à (n × 2) | est remplacé par son double |
Exemple : mettre a à 4 ; mettre b à a ; mettre a à 7 : à la fin, (une copie, pas un lien).
Propriété 2 — exécution en séquence. Les instructions d’un script s’exécutent dans l’ordre, chacune à partir de la valeur courante des variables. Changer l’ordre peut changer le résultat. Exemple : mettre n à 5 ; ajouter 3 à n ; mettre n à (n × 2) donne .
Propriété 3 — si… alors… sinon : une seule branche. Avec si … alors … sinon …, exactement une des deux branches s’exécute : celle du haut si la condition est vraie, celle du bas sinon. Sans sinon, rien ne se passe quand la condition est fausse — le script continue après le bloc. Exemple : pour la condition réponse < 18 et la réponse 18, est faux : c’est la branche « sinon » qui s’exécute.
Propriété 4 — scripts en parallèle. Plusieurs scripts peuvent tourner en même temps, chacun déclenché par son événement, et partager les mêmes variables. Exemple : un script « drapeau vert » initialise score à 0, un script « quand ce lutin est cliqué » ajoute 1 à score : c’est la structure de base d’un jeu.
Propriété 5 — angle d’un polygone régulier. Pour tracer un polygone régulier à côtés, le lutin tourne à chaque sommet de car il fait un tour complet en rotations. Exemple : pour un pentagone, pour un hexagone, pour un carré.
Méthodes
Méthode 1 — exécuter un script à la main.
- Suivre les instructions dans l’ordre (Propriété 2).
- Noter la valeur de chaque variable après chaque ligne, en appliquant la Propriété 1 (
mettreremplace,ajoutercumule).
Exemple résolu :
mettre n à 5 → n = 5
ajouter 3 à n → n = 8
mettre n à (n × 2) → n = 16
Méthode 2 — traduire un programme de calcul.
- Demander le nombre de départ (
demander … et attendre, puismettre n à (réponse)). - Traduire chaque étape du programme par une affectation, dans l’ordre du texte (Propriété 2).
- Afficher le résultat (
dire n).
Exemple résolu : « choisir un nombre, le tripler, ajouter 15 » :
demander "Choisis un nombre" et attendre
mettre n à (réponse)
mettre n à (n × 3)
mettre n à (n + 15)
dire n
Inverser les deux affectations calculerait au lieu de : c’est la question de l’équivalence des programmes vue en calcul littéral.
Méthode 3 — écrire une condition.
- Identifier la question posée (comparaison :
<,>,=). - Écrire
si <condition> alors …, et ajoutersinon …si une action est prévue quand la condition est fausse (Définition 3). - Vérifier les cas limites : pour
réponse < 18, la réponse 18 part dans la branche « sinon » (Propriété 3).
Exemple résolu : demander « Ton âge ? » et attendre ; si (réponse < 18) alors dire « mineur » sinon dire « majeur » : pour 18, le lutin dit « majeur ».
Méthode 4 — tracer et modifier une figure paramétrée.
- Pour un polygone régulier à côtés :
répéter n fois : avancer de L ; tourner de (360 ÷ n)°(Propriété 5). - Rendre la figure paramétrée : demander
Là l’utilisateur, le carré a alors la taille choisie. - Modifier un programme donné : repérer les paramètres à changer (nombre de répétitions, angle, longueur).
Exemple résolu : le script répéter 4 fois : avancer de 50 ; tourner de 90° trace un carré. Pour un hexagone régulier, on change deux paramètres : répéter 6 fois et tourner de 60° ().
Méthode 5 — construire un compteur.
- Un script d’initialisation :
quand le drapeau vert est cliqué : mettre score à 0(c’estmettrequ’il faut : on écrase). - Un script d’incrément :
quand ce lutin est cliqué : ajouter 1 à score(c’estajouterqu’il faut : on cumule). - Les deux scripts tournent en parallèle et partagent la variable (Propriété 4).
Exemple résolu : après un lancement (drapeau vert) puis 3 clics sur le lutin, score vaut .
Pièges classiques
Piège 1 — mettre n à 3 et ajouter 3 à n ne font pas la même chose. Le premier écrase ( vaut 3, quelle que soit sa valeur précédente), le second cumule ( augmente de 3). Dans un compteur, c’est ajouter ; dans une initialisation, c’est mettre (Propriété 1, Méthode 5).
Piège 2 — l’ordre des affectations compte. « Tripler puis ajouter 15 » et « ajouter 15 puis tripler » ne donnent pas le même résultat : contre (Propriété 2, Méthode 2).
Piège 3 — le cas limite d’une condition. réponse < 18 est fausse pour 18 : l’égalité part toujours dans la branche « sinon » quand la comparaison est stricte (Propriété 3).
Quiz — Algorithmique Scratch
10 questions · correction immédiate · sans inscription