Les nouvelles technologies pour l’enseignement des mathématiques
Intégration des TICE dans l’enseignement des mathématiques

MathémaTICE, première revue en ligne destinée à promouvoir les TICE à travers l’enseignement des mathématiques.

Banque d’exercices ScratchGGB pour le collège

L’objectif de cet article est de couvrir avec ScratchGGB les différents thèmes algorithmiques abordés au collège : variables, instructions conditionnelles, boucles et sous-programmes. Ces activités sont accessibles à partir d’une liste déroulante de ScratchGGB.

Article mis en ligne le 21 avril 2022
dernière modification le 28 février 2024

par Patrick Raffinat

A) Introduction

ScratchGGB est un logiciel de programmation par blocs qui, comme son nom le suggère, propose des blocs géométriques permettant de manipuler GeoGebra (tout en proposant les principaux blocs algorithmiques de Scratch). Dans un précédent article (« Activités GeoGebra par blocs au collège »), j’ai présenté cinq activités pédagogiques élaborées en collaboration avec Juliette Hernando, que Juliette a expérimentées en classes de Sixième et de Cinquième : ce sont des adaptations à la programmation par blocs d’activités ludiques (dessin d’animaux ou de personnages) initialement réalisées avec les icônes de construction de GeoGebra (segments, droites, cercles, intersections, parallèles, perpendiculaires…).

L’objectif de cet article est de compléter ces cinq activités initiales afin de couvrir avec ScratchGGB les différents thèmes algorithmiques abordés au collège : variables, instructions conditionnelles, boucles et sous-programmes. Ces activités sont accessibles à partir d’une liste déroulante de ScratchGGB qui, pour l’instant, comporte neuf items d’activités et sera complétée ultérieurement :

La copie d’écran ci-dessus, où l’item « drapeaux » a été sélectionné, fait apparaître dans le menu de gauche quatre boutons (« un drapeau », « deux drapeaux », « quatre drapeaux » et « drapeau mobile ») correspondant aux quatre questions de l’activité « drapeaux ». En cliquant sur un de ces boutons, l’élève verra apparaître en rouge la figure correspondante à reproduire : sur la copie d’écran ci-dessus, c’est le bouton « un drapeau » qui a été choisi.

Dès qu’un programme est modifié (ou chargé), il s’exécute : il n’y a donc pas besoin de cliquer sur le bouton « Réinitialiser (drapeau vert) », sauf dans quelques cas particuliers (lors du chargement de certaines questions).

B) Activités algorithmiques de base

Les activités présentées dans la section B sont des exercices d’initiation à chacun des différents thèmes algorithmiques abordés au collège : variables, instructions conditionnelles, boucles et sous-programmes. Elles sont complétées dans la partie C par des problèmes plus complexes.

L’activité « Variables »

L’activité « variables » débute par trois questions portant sur des formules mathématiques :

  • calcul du périmètre et de l’aire d’un carré en fonction de la longueur d’un côté
  • calcul du périmètre et de l’aire d’un rectangle en fonction de la longueur et de la largeur
  • calcul d’une remise en fonction du prix initial et du pourcentage de remise

Ces questions peuvent très bien être réalisées directement avec Scratch : l’apport principal de ScratchGGB est donc ici de pouvoir accéder directement aux exercices à partir du menu. Néanmoins, grâce à l’existence des blocs géométriques « Point » et « Segment », les deux premières questions conduisent à dessiner le carré (respectivement le rectangle) dont trois des quatre sommets sont donnés par le programme initial à compléter :

Il y a également une question sur un programme de calcul, où des blocs spécifiques à ScratchGGB (multiplier par et diviser par) sont à remplacer par des affectations classiques.

En outre, comme ScratchGGB permet de faire un peu de calcul formel, on peut remplacer l’affectation « n=7 » par « n=x », ce qui permet d’obtenir à la fin 3x+5 comme valeur finale.

L’activité « Instructions conditionnelles »

L’activité « Instructions conditionnelles » permet une initiation aux instructions conditionnelles avec les questions suivantes :

  • test de divisibilité par 3
  • maximum de 2 nombres
  • maximum de 3 nombres : une indication est donnée pour que l’élève calcule d’abord le maximum de 2 nombres, puis compare ce maximum au troisième nombre
  • comptine : à partir d’un entier compris entre 1 et 12, il faut afficher la phrase correspondante la la comptine, c’est à dire soit « 1,2,3 j’irai dans les bois », soit « 4,5,6 cueillir des cerises », soit « 7,8,9 dans mon panier neuf », soit « 10,11,12 elles seront toutes rouges ».

Il y a aussi une question plus ludique, où un curseur GeoGebra prend deux valeurs (0 et 1) et est animé : cela permet de donner à une figure un effet clignotant, soit en changeant la couleur du stylo, soit en levant ou en baissant le stylo.

L’activité « Boucles »

L’activité « Boucles » débute par deux questions sans variables :

  • afficher 10 fois « bonjour »
  • dessiner avec la tortue un escalier de 5 marches

Elle se poursuit par deux questions avec des variables :

  • afficher les multiples de deux entre 2 et 20, puis entre 20 et 2
  • dessiner des cercles concentriques de rayon 2 à 6 (voir ci-dessous)

C) Problèmes

Les problèmes sont des activités dont les questions, de difficulté progressive, portent sur un même thème : par exemple, avant de dessiner quatre drapeaux, il y a une question demandant de dessiner un drapeau, puis une question demandant de dessiner deux drapeaux.

Drapeaux carrés (sans sous-programme)

Le dessin d’un drapeau carré peut être envisagé de différentes façons, en fonction des connaissances algorithmiques de l’élève, notamment :

  • une sans boucles, avec quatre blocs « avancer » et quatre blocs « droite »
  • une avec une boucle « répéter 4 fois avancer(1) droite(90) » pour dessiner le carré, précédée de « avancer(2) » pour atteindre le premier point du carré.

Le passage à deux drapeaux peut conduire à plusieurs raisonnements, notamment :

  • le premier, naïf, consiste à copier-coller le code du dessin d’un drapeau.
  • le second, plus évolué, consiste à répéter deux fois le dessin d’un drapeau.

La solution naïve, si elle est acceptable pour deux drapeaux, ne l’est plus pour quatre drapeaux, ce qui amène à imbriquer deux boucles « répéter » [1] :

La dernière question (« drapeau mobile »), fournit au départ le mat d’un drapeau tournant sur une orbite circulaire :

Cette question n’apporte rien de plus sur le plan algorithmique, mais rend l’activité plus ludique avec une animation GeoGebra.

Drapeaux triangulaires (avec sous-programme)

Le dessin d’un drapeau triangulaire, similaire conceptuellement à celui d’un drapeau carré, mobilise une autre compétence algorithmique puisque l’usage d’une procédure « drapeau » est demandé, comme le montre le programme initial fourni à l’élève :

Après plusieurs questions progressives (dessin d’un puis de deux puis de quatre drapeaux triangulaires), la dernière question conduit à une animation GeoGebra : le nombre de drapeaux, fixé par un curseur GeoGebra, varie de 3 à 10 (et vice-versa) en lançant l’animation du curseur n.

Pour en finir avec les drapeaux triangulaires, je signale que le dessin d’un drapeau triangulaire peut aussi donner lieu à un exercice de construction avec des « blocs GeoGebra » :

Somme d’entiers consécutifs

L’activité « somme d’entiers consécutifs » est une adaptation de la ressource intitulée « somme de plusieurs entiers consécutifs », qui est publiée sur le site pédagogique de l’académie de Nantes (voir lien) et dont l’objectif mathématique est de conjecturer pour quelles valeurs de n la somme de n entiers consécutifs est divisible par n.

Dans mon adaptation, les cas n=3 et n=4 sont étudiés :

  • pour « n=3 », aucune indication n’est donnée
  • pour « n=4 », le programme ci-dessous est donné et il est demandé à l’élève de remplacer les quatre blocs « augmenter » par une boucle et un seul bloc « augmenter ».

Frise « gouttes d’eau »

Cette activité est une adaptation à la programmation par blocs d’un exercice de construction GeoGebra que Juliette Hernando propose à ses élèves de Quatrième. Son intention est de les faire travailler sur les translations (voir vidéo) :

  • dans un premier temps, les élèves doivent construire une goutte d’eau à partir de demi-cercles.
  • dans un second temps, les autres gouttes d’eau sont obtenues en utilisant l’outil « Translation » de GeoGebra : la seconde goutte est la translatée de la première (c’est à dire la translation des 3 demi-cercles de la goutte), puis la troisième goutte est la translatée de la seconde...

Cette démarche peut être reproduite en programmation par blocs. Le code construisant les deux premières gouttes (à gauche ci-dessus) est donné aux élèves, qui doivent créer les gouttes 3 et 4 par translation.

Une généralisation à un nombre quelconque de translations est possible : j’en donne le code pour que les élèves puissent le tester en animant un curseur GeoGebra.

L’activité est complétée par une version procédurale des gouttes d’eau : les élèves doivent utiliser une procédure « goutte », paramétrée par deux points (les extrémités de la goutte), qui crée une goutte et remplit son intérieur en rouge. Son code (voir ci-dessous) est relativement complexe, mais peu importe puisqu’il est inutile que les élèves le regardent.

Pavage triangulaire

Là encore, j’adapte à la programmation par blocs un exercice de construction GeoGebra que Juliette Hernando propose à ses élèves de Quatrième (voir lien). Mais, contrairement à l’activité « gouttes d’eau », je ne vais pas calquer la programmation sur la construction GeoGebra : en effet, il est plus simple de réaliser des « triangles pleins » à partir de la tortue de ScratchGGB.

Pour démarrer l’activité, je fournis aux élèves une procédure « motif » à compléter par la longueur de l’hypoténuse du triangle rectangle à construire. Ensuite, je leur demande de compléter le programme principal en dessinant les deux autres motifs de la première colonne. Enfin, dans la troisième et dernière question, je leur donne une procédure « colonne » qu’ils doivent appliquer quatre fois afin d’obtenir le pavage complet.

Achats (tableur)

Cette activité est une adaptation à la programmation par blocs d’un exemple classique d’utilisation d’un tableur. Dans un premier temps, les élèves doivent compléter le programme suivant :

Dans un second temps, une boucle est introduite pour généraliser le calcul des totaux :

Et pour finir, une remise de 10 % est accordée aux articles achetés à plusieurs exemplaires, ce qui conduit à introduire une instruction conditionnelle dans la boucle.