Numérique et sciences informatiques (spécialité) · TerminaleBac
La récursivité : fiche de révision de Terminale NSI
Publié le 7 novembre 2026 · Mis à jour le 7 novembre 2026 · Signaler une erreur
L'essentiel
- Une fonction est récursive quand elle contient un appel à elle-même 3.
- Il faut toujours au moins un cas de base (condition d'arrêt), sinon le programme ne se termine pas 1.
- Chaque appel récursif doit rapprocher le problème d'un cas de base : c'est la terminaison.
- Comme une boucle, la récursivité répète un nombre d'opérations déterminé par les données d'entrée 3.
- Une version récursive peut être plus lente que sa version itérative 1.
Définition et principe
L'idée : au lieu de résoudre un problème d'un bloc, tu le ramènes à un problème du même type, mais plus petit. Tu répètes cette réduction jusqu'à tomber sur un cas si simple que la réponse est immédiate.
Cette démarche sert en particulier à traiter des structures de données elles-mêmes définies de façon récursive, comme les listes ou les arbres, et à mettre en œuvre le paradigme « diviser pour régner » 3. Un arbre binaire en est l'exemple type : il est soit vide, soit un nœud qui porte deux arbres binaires plus petits 3.
Cas de base et terminaison
Récursivité et boucles
| Version récursive | Version itérative | |
|---|---|---|
| Principe | la fonction s'appelle elle-même | une boucle for ou while répète un bloc |
| Arrêt | cas de base | condition de la boucle |
| Lisibilité | très claire pour les arbres et « diviser pour régner » | souvent plus directe pour un simple parcours |
| Vitesse | peut être plus lente 1 | souvent plus rapide |
Au bac
La récursivité fait l'objet d'exercices à l'épreuve écrite de spécialité NSI : dans un sujet décrit par Éduscol STI, l'exercice 2 porte sur la récursivité et vaut 6 points, sans calculatrice, pour une épreuve de 3 h 30 2. Entraîne-toi donc à dérouler un appel récursif à la main, étape par étape.
Questions flash
4 questions · correction immédiate · ton score reste sur ton appareil.
-
Un cas de base donne le résultat directement et sert de condition d'arrêt 1. Le premier appel est simplement l'appel initial, qui n'a rien de particulier. Une fonction qui s'appelle deux fois décrit un cas récursif, pas un cas de base.
-
C'est faux : un programme récursif peut être plus lent que son équivalent itératif 1. L'idée reçue vient de l'élégance du code récursif, qui ne dit rien de sa vitesse d'exécution.
-
On calcule :
factorielle(4)vaut4 * factorielle(3), soit . Répondre 10 revient à additionner au lieu de multiplier.
Les questions qu'on se pose
Comment savoir si ma fonction récursive va bien se terminer ?
Regarde l'argument à chaque appel : il doit se rapprocher d'un cas de base à chaque étape (par exemple n qui diminue vers 0). Si un chemin possible ne mène jamais à un cas de base, la fonction ne s'arrête pas 1. Teste toujours sur une petite valeur, puis sur la valeur limite du cas de base.
Quand choisir la récursivité plutôt qu'une boucle ?
Qu'est-ce qui peut tomber au bac sur ce thème ?
La récursivité fait l'objet d'un exercice dans l'épreuve écrite de spécialité NSI 2. On te demande en général de dérouler des appels, d'identifier le cas de base, ou d'écrire une petite fonction récursive. Sans calculatrice : exerce-toi à poser les calculs à la main.
Sources
- Document d'accompagnement : Récursivité (PDF), Éduscol - Ministère de l'Éducation nationale. Consulté le 7 novembre 2026.
- Spécialité NSI - Numérique et Sciences Informatiques (STI Éduscol), Éduscol STI - Ministère de l'Éducation nationale. Consulté le 7 novembre 2026.
- Récursivité, Wikipédia. Consulté le 7 novembre 2026.
- Récursivité (linguistique), Wikipédia. Consulté le 7 novembre 2026.
Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.