1. Qu’est-ce qu’un algorithme ?
Définition. Un algorithme est une suite d’instructions précises, données dans un ordre déterminé, qui permet de résoudre un problème ou d’accomplir une tâche.
Exemple. La recette d’un gâteau est un algorithme : « Casser 2 œufs, ajouter 100 g de sucre, mélanger, ajouter la farine, verser dans un moule, cuire 30 minutes. » Si on change l’ordre des étapes, ou si on en oublie une, le résultat n’est plus le même.
Vocabulaire. Quand un algorithme est écrit dans un langage compris par un ordinateur, on parle de programme. Programmer, c’est donc écrire un algorithme dans un langage que la machine peut exécuter.
2. Découvrir l’interface Scratch
Scratch est un langage de programmation par blocs : au lieu d’écrire du texte, on assemble des blocs colorés comme des pièces de puzzle, ce qui évite les erreurs de syntaxe.
L’interface de Scratch comporte trois grandes zones :
- la scène, en haut à droite, où s’affiche le résultat du programme ;
- la liste des lutins (les personnages ou objets que l’on programme) et des arrière-plans ;
- la zone des blocs, classés par catégories (Mouvement, Apparence, Son, Événements, Contrôle, Capteurs, Opérateurs, Variables, Stylo…), que l’on fait glisser dans la zone centrale pour construire un script.
Vocabulaire. Un lutin est le personnage ou l’objet que l’on programme : c’est lui qui exécute les blocs qui lui sont attribués (un projet peut contenir plusieurs lutins, chacun avec ses propres scripts). Un bloc est une instruction prête à l’emploi, représentée par une pièce de puzzle colorée selon sa catégorie ; on empile plusieurs blocs les uns sous les autres pour construire un script.
Définition. Un script est un empilement de blocs qui forme un petit programme exécuté par un lutin.
📋 Méthode — Faire démarrer (et arrêter) un script
- La plupart des scripts commencent par un bloc événement, par exemple
quand [drapeau vert] cliqué. - On empile ensuite, sous ce bloc, les instructions à exécuter dans l’ordre.
- On clique sur le drapeau vert, en haut de la scène, pour lancer tous les scripts qui commencent par ce bloc.
- On clique sur le bouton rouge, à côté du drapeau vert, pour arrêter immédiatement tous les scripts en cours d’exécution.
3. Dessiner avec le stylo
Constat. Dans un script où le lutin se déplace, rien ne garantit qu’on voie une trace de son parcours sur la scène : par défaut, un lutin qui avance ne laisse aucun trait derrière lui.
Définition. La catégorie Stylo contient les blocs qui permettent de tracer, ou non, le déplacement d’un lutin :
effacer toutefface tous les traits déjà dessinés sur la scène ;stylo en position d'écriturefait en sorte que tout déplacement du lutin laisse une trace visible ;relever le stylofait en sorte que le lutin puisse se déplacer sans rien dessiner.
Exemple. Pour tracer un trait de 100 pas, puis se déplacer de 50 pas sans rien dessiner :
quand [drapeau vert] cliqué effacer tout stylo en position d'écriture avancer de 100 relever le stylo avancer de 50
Propriété. Pour qu’un script produise toujours le même dessin, même après l’avoir
lancé plusieurs fois de suite, on prend l’habitude de le faire commencer par effacer tout,
avant de mettre le stylo en position d’écriture.
4. Une séquence d’instructions
Définition. Une séquence d’instructions est une suite de blocs exécutés les uns après les autres, dans l’ordre où ils sont empilés.
Exemple. Pour faire tracer un carré de côté 100 par un lutin :
quand [drapeau vert] cliqué effacer tout stylo en position d'écriture avancer de 100 tourner de 90 degrés avancer de 100 tourner de 90 degrés avancer de 100 tourner de 90 degrés avancer de 100 tourner de 90 degrés
Remarque. Ce script fonctionne, mais il répète quatre fois presque le même couple d’instructions. On peut l’écrire plus simplement grâce à une boucle (voir partie 5).
5. Répéter des instructions : la boucle « répéter »
Définition. Une boucle permet d’exécuter plusieurs fois la ou les mêmes
instructions, sans avoir à les recopier. Le bloc répéter ... fois de la catégorie
Contrôle est une boucle : tout ce qui est placé à l’intérieur de son encoche est répété le
nombre de fois indiqué.
Exemple. Le script du carré de la partie 4 peut s’écrire avec une boucle :
quand [drapeau vert] cliqué effacer tout stylo en position d'écriture répéter 4 fois avancer de 100 tourner de 90 degrésCe script produit exactement le même dessin, mais avec deux fois moins de blocs de déplacement.
Propriété. Utiliser une boucle rend un script plus court, plus lisible, et plus facile à modifier : pour tracer un carré plus grand, il suffit de changer une seule valeur (100), alors que sans boucle il aurait fallu la changer à quatre endroits.
📋 Méthode — Choisir le nombre de répétitions d'un polygone régulier
Pour tracer un polygone régulier à côtés avec le bloc répéter, on répète fois le
couple « avancer, tourner », et l’angle de rotation à chaque étape est toujours
degrés (pour un triangle : ; pour un carré :
; pour un hexagone : ).
6. Utiliser une variable
Définition. Une variable est un espace de mémoire, désigné par un nom, dans lequel un programme peut stocker une valeur (un nombre ou du texte) et la modifier au cours de son exécution.
Dans Scratch, on crée une variable dans la catégorie Variables, en cliquant sur
« Créer une variable » et en lui donnant un nom (par exemple score).
Exemple. Un petit jeu où l’on clique sur un lutin pour gagner des points :
quand [drapeau vert] cliqué mettre score à 0 quand ce lutin est cliqué changer score de 1Au démarrage du jeu,
scoreest remis à0. Chaque clic sur le lutin ajoute1à la valeur actuelle descore.
Vocabulaire. « Mettre la variable à » donne une valeur précise (on efface l’ancienne). « Changer la variable de » ajoute (ou retire, avec un nombre négatif) une valeur à celle déjà stockée.