NSI (Spé) — Langages et programmation
Fonctions récursives, modules, tests et documentation
10 questions
Voir tous les chapitres « Algorithmique et programmation » de la Seconde à la Terminale
Les points clés à retenir sur Récursivité et modularité, extraits du quiz de révision.
Réponse : La condition d'arrêt qui ne fait pas d'appel récursif
Le cas de base est la condition qui permet d'arrêter la récursion. Sans lui, la fonction s'appellerait indéfiniment.
Réponse : 24
fact(4) = 4 × fact(3) = 4 × 3 × fact(2) = 4 × 3 × 2 × fact(1) = 4 × 3 × 2 × 1 × fact(0) = 4 × 3 × 2 × 1 × 1 = 24.
Réponse : Elle provoque une RecursionError (récursion infinie)
Sans cas de base, la fonction s'appelle indéfiniment. Python lève une RecursionError quand la limite de profondeur est atteinte (~1000 appels).
Réponse : O(2ⁿ) (exponentielle)
La version naïve recalcule les mêmes valeurs de nombreuses fois, ce qui donne une complexité exponentielle O(2ⁿ).