Créer ses propres blocs : les fonctions (3e) Tuto

Créer ses propres blocs : la notion de fonction

Durée estimée
10 minutes
Votre progression

Créez un compte gratuit pour suivre votre avancement et reprendre où vous avez laissé.

Créer un compte

Ce tuto fait suite à Boucles imbriquées et motifs. Dans ce chapitre, on avait « aplati » un bloc personnalisé du brevet pour rendre le script lisible. Ici, on fait l'inverse : on apprend à créer ses propres blocs. Donner un nom à un groupe d'instructions, c'est exactement la notion de fonction que l'on retrouve ensuite en programmation Python au lycée.

Pourquoi créer ses propres blocs ?

Quand un programme grandit, les mêmes instructions reviennent souvent. Tracer deux carrés, c'est écrire deux fois la même suite de blocs : c'est long, et la moindre correction doit être reportée partout.

Le même code, écrit deux fois

Pour dessiner deux carrés côte à côte, on répète la suite répéter 4 fois (avancer, tourner), une fois par carré.

Programme Scratch traçant deux carrés en répétant deux fois la même suite de blocs avancer et tourner

La partie « tracer un carré » apparaît deux fois à l'identique. L'idée d'un bloc personnalisé est de lui donner un nom — par exemple carré — pour ne l'écrire qu'une seule fois et l'appeler ensuite autant de fois qu'on veut.

Créer un premier bloc

Un bloc personnalisé se range dans la catégorie Mes blocs. On le crée d'abord (on dit ce qu'il fait), puis on l'utilise dans le programme principal.

Fenêtre « Créer un bloc » de Scratch : le bloc carré avec une entrée côté, les options d'entrée et le bouton OK

Le bloc carré

Sous le chapeau définir carré, on place la suite d'instructions qui trace un carré. Le bloc rose carré résume désormais ces quatre tours à lui tout seul.

Définition d'un bloc personnalisé carré : chapeau définir carré suivi de répéter 4 fois avancer 60 tourner 90

Dans le programme principal, on appelle simplement le bloc carré : c'est comme si tout son contenu se déroulait sur place.

Programme principal appelant deux fois le bloc personnalisé carré avec un déplacement entre les deux

Le programme principal est devenu beaucoup plus court et beaucoup plus clair : on lit « tracer un carré, se déplacer, tracer un carré ». Le résultat sur la scène est exactement le même qu'au début : deux carrés identiques, séparés par un petit espace.

Résultat sur la scène : deux carrés identiques côte à côte séparés par un espace

Astuce

Le chapeau rose définir carré ne se lance pas tout seul : il décrit le bloc. C'est le programme principal (sous le drapeau vert) qui appelle le bloc carré pour qu'il s'exécute.

Ajouter un paramètre

Pour l'instant, notre bloc trace toujours un carré de $60$ pas. On peut le rendre bien plus utile en lui donnant une entrée : un nombre que l'on choisit au moment de l'appel. En Scratch, cette entrée s'appelle un paramètre ; c'est l'équivalent de la variable d'une fonction en mathématiques.

Le bloc carré (côté)

On remplace le nombre fixe $60$ par le paramètre côté. Le bloc trace maintenant un carré de la taille qu'on lui demande.

Définition du bloc carré avec un paramètre côté : répéter 4 fois avancer côté tourner 90

À l'appel, on écrit la taille voulue dans la pastille. Voici trois carrés emboîtés de tailles croissantes, tracés depuis le même point.

Programme principal appelant le bloc carré avec les valeurs 40 puis 70 puis 100

Un seul bloc, trois tailles différentes : c'est tout l'intérêt du paramètre. Si on voulait dix carrés de tailles différentes, le bloc carré (côté) suffirait toujours.

Sur la scène, on obtient trois carrés emboîtés qui partagent le même coin de départ.

Résultat sur la scène : trois carrés emboîtés de tailles 40, 70 et 100 pas partageant le même coin

Composer ses blocs

Un bloc personnalisé s'utilise exactement comme un bloc normal : on peut donc le placer dans une boucle. C'est la façon propre de construire les rosaces du chapitre précédent — au lieu d'imbriquer deux boucles, on définit le motif une fois, puis on le répète.

Une rosace de triangles, version propre

On définit d'abord un bloc triangle (côté). L'angle extérieur d'un triangle équilatéral vaut $180^{\circ} - 60^{\circ} = 120^{\circ}$.

Définition du bloc triangle avec paramètre côté : répéter 3 fois avancer côté tourner 120

Le programme principal appelle ce bloc dans une boucle, en pivotant de $\dfrac{360^{\circ}}{6} = 60^{\circ}$ entre chaque triangle.

Programme principal traçant une rosace : répéter 6 fois (bloc triangle 50 puis tourner droite 60)

On retrouve la rosace de six triangles du brevet Asie 2025, mais le programme est bien plus lisible : la boucle externe dit « répéter le motif en pivotant », et le bloc triangle dit « voici le motif ». C'est exactement la structure du sujet original.

Résultat sur la scène : rosace de six triangles équilatéraux disposés autour d'un point central

Attention

Un bloc personnalisé doit être appelé pour s'exécuter. Si la figure ne s'affiche pas, vérifier que l'appel (carré, triangle…) est bien présent dans le programme principal, sous le chapeau quand le drapeau vert est cliqué — et pas seulement la définition.

Récapitulatif

Notion En Scratch En mathématiques
Donner un nom à une suite d'instructions Chapeau définir mon-bloc (Mes blocs) Définir une fonction
Donner une entrée au bloc Ajouter un paramètre (pastille dans le nom) Variable de la fonction
Utiliser le bloc L'appeler dans le programme principal Calculer l'image d'une valeur
Comprendre un script qui utilise un bloc Remplacer l'appel par la définition complète Remplacer $f(x)$ par son expression

À toi de jouer

Créer un bloc personnalisé pentagone (côté) qui trace un pentagone régulier, puis l'appeler pour tracer un pentagone de $80$ pas. On rappelle qu'un pentagone régulier a $5$ côtés.

Corrigé

Un pentagone régulier se trace en répétant $5$ fois : avancer, puis tourner de l'angle extérieur $\dfrac{360^{\circ}}{5} = 72^{\circ}$.

Définition du bloc pentagone avec paramètre côté : répéter 5 fois avancer côté tourner 72, puis appel pentagone 80
Programme principal appelant le bloc pentagone avec la valeur 80

Sur la scène, le lutin trace un pentagone régulier.

Résultat sur la scène : un pentagone régulier tracé par le bloc personnalisé

Le même bloc pentagone (côté) permettrait de tracer un pentagone de n'importe quelle taille : il suffit de changer le nombre à l'appel.

Astuce

Projet de démarrage — Le projet contient les trois blocs personnalisés du tuto : carré (côté), triangle (côté) et pentagone (côté). Appuie sur le drapeau vert pour les trois carrés emboîtés, sur la touche t pour la rosace de triangles, et sur la touche p pour le pentagone. Ouvre-le dans Scratch avec Fichier > Importer depuis votre ordinateur.

Projet : mes blocs personnalisés .sb3
?
Ouvre-le dans Scratch en ligne via Fichier → Importer depuis votre ordinateur.

Remarque

Maintenant que tu sais créer et appeler tes propres blocs, le prochain chapitre, Lire et modifier un programme, t'apprend à analyser un script de brevet qui en contient : prédire ce qu'il fait, repérer une erreur et le modifier.