Skip to content
Numérique et sciences informatiques · Terminale

Idées d’apprentissage actif

Récursivité

La récursivité est un concept fondamental et élégant de la programmation, souvent perçu comme un défi par les élèves. Ce chapitre enseigne comment une fonction peut s'appeler elle-même pour résoudre un problème en le décomposant en sous-problèmes plus simples. L'accent est mis sur la structure indispensable : le cas de base (condition d'arrêt) et l'appel récursif.

Programmes OfficielsBOEN spécial n°8 du 25 juillet 2019 - Langages et programmationCompétence : Écrire un programme récursif
25–45 minBinômes → Classe entière3 activités

Activité 01

Jeu de simulation40 min · Classe entière

Jeu de simulation: La pile d'exécution humaine

Pour calculer une factorielle, chaque élève représente un appel de fonction. Ils se transmettent des post-its (les paramètres) et attendent le retour du camarade suivant pour terminer leur propre calcul.

Qu'est-ce qu'une fonction récursive ?
AppliquerAnalyserÉvaluerCréerConscience socialePrise de décision
Générer une leçon complète

Activité 02

Résolution de problèmes en collaboration: Fractales au tableau

Les élèves doivent dessiner manuellement les premières étapes d'une fractale (comme le flocon de Koch) en suivant un algorithme récursif strict donné par l'enseignant.

Pourquoi la condition d'arrêt est-elle cruciale ?
AppliquerAnalyserÉvaluerCréerCompétences relationnellesPrise de décisionAutogestion
Générer une leçon complète

Activité 03

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

Penser-Partager-Présenter: Trouver la condition d'arrêt

On présente aux élèves des fonctions récursives sans condition d'arrêt. Ils doivent identifier le problème et proposer le cas de base le plus logique en binômes.

Comment la pile d'exécution gère-t-elle les appels récursifs ?
ComprendreAppliquerAnalyserConscience de soiCompétences relationnelles
Générer une leçon complète

Quelques notes pour enseigner cette unité


Attention à ces idées reçues

  • Oublier le cas de base, provoquant une récursion infinie.

    C'est l'erreur la plus courante. Faire tracer l'exécution d'un programme qui 'plante' par manque de condition d'arrêt permet aux élèves de comprendre pourquoi la machine sature sa mémoire (Stack Overflow).

  • Penser que la récursivité est toujours plus efficace qu'une boucle.

    La récursivité consomme de la mémoire sur la pile. Comparer le temps d'exécution et la mémoire utilisée pour calculer Fibonacci de manière récursive vs itérative est une démonstration frappante.


Méthodes utilisées dans ce dossier