Aller au contenu
Mathématiques · 4ème

Idées d’apprentissage actif

Fonctions et Procédures en Programmation

Les fonctions et procédures transforment l'écriture du code en une tâche collaborative et réflexive. En manipulant activement des blocs de code, les élèves voient immédiatement l'intérêt de la modularité : un programme devient plus clair quand il est découpé en parties nommées, comme une recette de cuisine organisée en étapes.

Programmes OfficielsMEN: Cycle 4 - Algorithmique et programmation
20–50 minBinômes → Classe entière4 activités

Activité 01

Cercle de recherche50 min · Petits groupes

Cercle de recherche: Le projet modulaire

La classe doit créer un programme complexe (ex : un quiz de maths). Chaque groupe programme une fonction distincte : poser une question, vérifier la réponse, compter le score, afficher le résultat. Les fonctions sont ensuite assemblées en un seul programme.

Comment une fonction permet-elle de réutiliser un bloc de code sans le réécrire ?

Conseil de facilitationEn 'Fonctions en pratique', circulez entre les stations pour repérer les élèves qui confondent paramètres et valeurs en dur, et proposez des exemples concrets à la volée.

À observerDistribuez une fiche avec deux blocs de code : l'un définissant une fonction qui calcule une aire, l'autre une procédure qui affiche un message. Demandez aux élèves d'écrire une phrase expliquant la différence principale entre les deux et d'identifier la valeur de retour (si applicable).

AnalyserÉvaluerCréerAutogestionConscience de soi
Générer une leçon complète

Activité 02

Penser-Partager-Présenter20 min · Binômes

Penser-Partager-Présenter: Avec ou sans fonction ?

L'enseignant montre deux versions du même programme : une longue version linéaire et une version modulaire avec des fonctions. Les élèves comparent individuellement la lisibilité, puis discutent en binômes pour identifier les avantages concrets de la version modulaire.

Distinguez une fonction qui retourne une valeur d'une procédure qui exécute une action.

À observerProposez un petit programme avec une tâche répétitive (ex: dessiner plusieurs carrés identiques). Demandez aux élèves d'écrire le code d'une fonction qui pourrait remplacer la répétition, en précisant les paramètres nécessaires (ex: taille du carré, position).

ComprendreAppliquerAnalyserConscience de soiCompétences relationnelles
Générer une leçon complète

Activité 03

Enseignement par les pairs30 min · Binômes

Enseignement par les pairs: Documenter sa fonction

Chaque binôme crée une fonction avec des paramètres (ex : dessiner_polygone(n, longueur)). Ils rédigent une fiche technique (nom, paramètres, ce qu'elle fait, ce qu'elle retourne) puis la transmettent à un autre binôme qui doit utiliser la fonction sans voir le code interne.

Justifiez l'importance de la modularité du code pour la lisibilité et la maintenance.

À observerPosez la question suivante : 'Imaginez que vous construisiez une maison. Comment l'analogie avec les fonctions et procédures en programmation s'applique-t-elle à la construction (ex: faire les fondations, monter les murs, installer la plomberie) ?' Encouragez les élèves à nommer des 'fonctions' ou 'procédures' de construction.

ComprendreAppliquerAnalyserCréerAutogestionCompétences relationnelles
Générer une leçon complète

Activité 04

Rotation par ateliers45 min · Petits groupes

Rotation par ateliers: Fonctions en pratique

Trois ateliers : identifier les blocs réutilisables dans un programme long et les transformer en fonctions, écrire une fonction avec paramètres qui dessine des formes de tailles différentes, et assembler des fonctions écrites par d'autres groupes dans un programme principal.

Comment une fonction permet-elle de réutiliser un bloc de code sans le réécrire ?

À observerDistribuez une fiche avec deux blocs de code : l'un définissant une fonction qui calcule une aire, l'autre une procédure qui affiche un message. Demandez aux élèves d'écrire une phrase expliquant la différence principale entre les deux et d'identifier la valeur de retour (si applicable).

MémoriserComprendreAppliquerAnalyserAutogestionCompétences relationnelles
Générer une leçon complète

Modèles

Modèles qui complètent ces activités de Mathématiques

Utilisez, modifiez, imprimez ou partagez.

Quelques notes pour enseigner cette unité

Commencez par des analogies concrètes, comme les recettes de cuisine, pour ancrer les concepts. Évitez de présenter trop de théorie d'un coup : les élèves apprennent mieux en voyant d'abord l'utilité pratique des fonctions. Insistez sur la documentation comme outil de collaboration, pas seulement comme une corvée.

À la fin de ces activités, les élèves distinguent clairement une définition de fonction d'un appel, comprennent le rôle des paramètres et savent justifier l'utilité de découper un programme. Leur code devient plus lisible, moins répétitif et plus facile à corriger.


Attention à ces idées reçues

  • During 'Le projet modulaire', watch for students who write the entire program in a single block despite the modular instructions.

    Demandez à chaque groupe de découper son code en fonctions nommées avant de le partager avec les autres, en utilisant des post-it pour marquer chaque partie du programme.

  • During 'Think-Pair-Share', watch for students who use hard-coded values inside functions instead of parameters.

    Faites exécuter la même fonction avec des paramètres différents (ex: dessiner un carré de 50 pixels puis de 100 pixels) et demandez aux élèves d'observer pourquoi une seule fonction suffit.

  • During 'Peer Teaching', watch for students who assume a function runs automatically when defined.

    Faites exécuter un programme qui ne contient que des définitions de fonctions (sans appels) et demandez aux élèves d'expliquer pourquoi rien ne s'affiche à l'écran.


Méthodes utilisées dans ce dossier