Retour

La programmation avec Scratch

🎲 Quiz GRATUIT

📝 Mini-cours GRATUIT

Scratch – Types de blocs et principes

Scratch

Scratch est un langage de programmation graphique. Il permet de coder des algorithmes en associant et clipsant des blocs les uns dans les autres. C’est le langage de ce type le plus célèbre, et il sert de base à de nombreux autres langages de programmation graphique qui sont des dérivés de Scratch.

Remarque : Il existe aussi des langages de programmation non graphiques en ligne de code, comme Python ou C++.

Les programmes créés avec Scratch peuvent avoir des rôles variés :

  • programme de calcul ou de résolution de problème ;
  • programme d’animation du lutin (personnage animé de Scratch) dans la scène ;
  • programme contrôlant un robot, etc.

Blocs 

Les blocs disponibles pour créer des programmes sont répartis en 9 catégories. Chaque catégorie de bloc a sa propre couleur, ce qui permet de facilement identifier le rôle de chaque bloc en regardant un programme.

Voici les catégories et leurs rôles :

  • Mouvement : les blocs de cette catégorie permettent de déplacer le lutin dans la scène 
  • Apparence : les blocs de cette catégorie permettent de faire parler le lutin, et de changer son apparence ou l’apparence de la scène (costume, arrière-plan, couleurs) ;
  • Son : les blocs de cette catégorie permettent de faire émettre des sons au lutin, ou de contrôler le son (volume, effets sonores) ;
  • Événements : les blocs de cette catégorie permettent de lancer des instructions quand un événement particulier est détecté (appui sur un bouton ou sur un lutin par exemple) 
  • Contrôle : cette catégorie est très importante, elle comporte toutes les structures algorithmiques de Scratch. On y trouve tout ce qu’il faut pour créer des boucles et des structures conditionnelles. On y trouve aussi le bloc permettant de faire une pause dans le programme ;
  • Capteurs : les blocs de cette catégorie permettent de récupérer des informations, notamment en provenance du clavier (touche appuyée), de la souris (position et clics), ainsi que la date et l’heure actuelle ;
  • Opérations : dans cette catégorie, on trouve tous les blocs permettant d’effectuer des calculs et des tests logiques (un test logique permet de créer une condition) ;
  • Variables : les blocs de cette catégorie permettent de faire mémoriser des données au programme (nom, résultat d’un calcul, etc.) ;
  • Mes blocs : cette dernière catégorie est un peu particulière, car elle est vide au départ. On peut s’en servir pour créer soit même de nouveaux blocs.

Scratch – Lecture et construction de programmes

Groupe de blocs

Un programme codé avec Scratch est composé d'un ou de plusieurs groupes de blocs. Chaque groupe de blocs constitue un algorithme, et va permettre de réaliser une action qui peut être simple ou complexe.

En général, un groupe de blocs débute par un bloc de la catégorie Événements (bloc jaune). Ce bloc permet d’indiquer l’événement déclencheur de l’algorithme. Le groupe se poursuit avec une série de blocs, de n’importe quel type, qui sont clipsés les uns sous les autres. Les blocs pouvant être clipsés comportent une encoche en haut à gauche, et une languette en bas à gauche.

          

Le groupe de blocs est exécuté par l’ordinateur (c’est-à-dire lu), du haut vers le bas, jusqu’au dernier bloc. Une fois le dernier bloc exécuté, l’algorithme est terminé.

Emplacements

Certains blocs comportent des emplacements. Les emplacements peuvent être :

  • arrondis et blancs : dans ce cas, on peut saisir au clavier la valeur (texte ou nombre) à écrire dans cet emplacement. On peut aussi placer un bloc arrondi dans l’emplacement : ces blocs se trouvent principalement dans les catégories Capteurs et Opérations ;
  • hexagonaux et gris : dans ce cas, on peut uniquement placer un bloc hexagonal dans l’emplacement : ces blocs se trouvent principalement dans les catégories Capteurs et Opérations ;
  • une liste déroulante : dans ce cas, il faut choisir une des propositions de la liste.

Exemple de programme Scratch

Voici un programme comportant 3 groupes de blocs, donc 3 algorithmes. Chaque groupe débute par un bloc Événements, et comporte un nombre variable de blocs.

Scratch – Variables et opérations

Mémoire

Un ordinateur est capable de mémoriser des informations/données. L’ordinateur stocke ces données dans des puces électroniques, qu’on appelle sa mémoire (mémoire RAM par exemple).

L’ordinateur peut effectuer plusieurs opérations liées à sa mémoire. Il peut notamment :

  • récupérer/lire des données qui se trouvent dans sa mémoire ;
  • modifier des données qui se trouvent dans sa mémoire ;
  • supprimer des données de sa mémoire ;
  • ajouter de nouvelles données dans sa mémoire.

Enfin, la mémoire d’un ordinateur peut être découpée en plusieurs cases, qui permettent chacune de stocker une donnée.

Scratch et la mémoire avec les variables

Dans un programme codé avec Scratch, il est possible d’accéder à une case de la mémoire, en utilisant ce qu’on appelle une variable. Pour créer, récupérer les valeurs ou modifier des données, il faut aller dans la catégorie Variables.

Pour pouvoir utiliser une nouvelle variable, on commence par la créer, en choisissant son nom. Une fois créée, sa valeur peut être librement modifiée et affichée/cachée dans la scène avec les blocs de la catégorie Variables.

           

Calculs

Scratch permet de faire effectuer des calculs à l’ordinateur, grâce à certains blocs de la catégorie Opérations. Les blocs de cette catégorie comportent des emplacements, qu’on peut compléter avec :

  • des nombres ;
  • des variables ;
  • d’autres blocs de la catégorie Opérations afin de créer des opérations complexes ;
  • d’autres blocs ronds, faisant partie d’autres catégories.

Voici quelques exemples :

         

Scratch – Structures conditionnelles

Principe

Une structure conditionnelle est une structure algorithmique qui permet d’indiquer à l’ordinateur qu’il doit effectuer un choix. Ce choix dépendra d’une condition, que l’ordinateur devra évaluer en testant si elle est Vraie ou Fausse.

Une condition est un test, dans lequel deux éléments sont comparés. La comparaison se fait en fonction d’un opérateur de comparaison, comme ceux que vous connaissez en mathématiques (>, ≤, etc.).

Structures conditionnelles avec Scratch

Scratch propose 2 structures conditionnelles, dont les blocs se trouvent dans la catégorie Contrôle :

  • la structure si...alors qui permet de dire à l’ordinateur d’exécuter un groupe de blocs uniquement si une condition est respectée, et de ne rien faire dans le cas contraire ;
  • la structure si...alors...sinon qui permet de dire à l’ordinateur d’exécuter un groupe de blocs si une condition est respectée, ou un autre blocs si la condition n’est pas respectée.

Chacune de ces structures comporte un emplacement hexagonal dans lequel on doit placer la condition. La condition s’écrit avec les blocs hexagonaux de la catégorie Opérations.

Exemples de structures conditionnelles

Structure si...alors 

Cet algorithme permet de faire se déplacer le lutin de 100 pas, uniquement si la position du lutin sur l’axe x est inférieure à 150 :

Structure si...alors...sinon

Cet algorithme permet de faire de déplacer le lutin de 100 pas, si la position du lutin sur l’axe x est inférieure à 150.

Dans le cas contraire, on fait aller le lutin à une position aléatoire :

Scratch – Boucles

Principe

Une boucle est une structure algorithmique qui permet d’indiquer à l’ordinateur qu’il doit répéter certaines instructions. Le nombre de répétitions peut être fixé à l’avance, ou dépendre d’une condition, que l’ordinateur devra évaluer.

Boucles avec Scratch

Scratch propose 3 boucles, dont les blocs se trouvent dans la catégorie Contrôle :

  • la boucle répéter...fois qui permet de répéter un nombre de fois, qu’on indique, un groupe de blocs ;
  • la boucle répéter indéfiniment qui permet de répéter un groupe de blocs tant qu’on n'arrête pas le programme ;
  • la boucle répéter jusqu’à ce que... qui permet de répéter un groupe de blocs, jusqu’à ce qu’une condition soit vraie.

Exemples de boucles

Boucle répéter...fois

Cet algorithme permet de déplacer, puis faire attendre le lutin, 10 fois de suite :

Boucle répéter indéfiniment 

Cet algorithme permet de faire faire des allers-retours au lutin indéfiniment :

Boucle répéter jusqu’à ce que… 

Cet algorithme permet de faire avancer le lutin jusqu’à ce que sa position soit supérieure à 200 :

📚 Exercices pas à pas corrigés PREMIUM

PREMIUM

Principe de Scratch

PREMIUM

Structures de contrôle de Scratch

📚 Exos type brevet corrigés PREMIUM

PREMIUM

La programmation de Scratch 1

PREMIUM

La programmation de Scratch 2

PREMIUM

La programmation de Scratch 3

Nomad+, Le pass illimité vers la réussite 🔥

NOMAD EDUCATION

L’app unique pour réussir !