NSI · Terminale
Algorithmes classiques : factorielle et suite de Fibonacci
Étude détaillée de la factorielle (récursion simple, trace de pile) et de la suite de Fibonacci (double récursion, complexité et arbre d'appels).
Algorithmes Classiques : Factorielle & Fibonacci
Dans ce chapitre, nous explorons deux algorithmes récursifs fondamentaux au programme de Terminale NSI : le calcul de la factorielle et la suite de Fibonacci.
1. Étude Détaillée : Le Calcul de la Factorielle (n!)
En mathématiques, la factorielle d'un entier naturel n (notée n!) est le produit de tous les entiers strictement positifs inférieurs ou égaux à n :
n! = n × (n - 1) × (n - 2) × … × 1 et par définition 0! = 1
Exemples :
- 3! = 3 × 2 × 1 = 6
- 4! = 4 × 3 × 2 × 1 = 24
- 5! = 5 × 4 × 3 × 2 × 1 = 120
On observe la relation de récurrence naturelle :
n! = n × (n - 1)! (pour tout n > 0)
Activité — Fonction Factorielle Récursive
Déroulement pas à pas de l'appel fact(4) :
fact(4)appelle4 * fact(3)(empilement)fact(3)appelle3 * fact(2)(empilement)fact(2)appelle2 * fact(1)(empilement)fact(1)appelle1 * fact(0)(empilement)fact(0)atteint le cas de base et renvoie1(dépilement)fact(1)reçoit 1 → renvoie1 * 1 = 1(dépilement)fact(2)reçoit 1 → renvoie2 * 1 = 2(dépilement)fact(3)reçoit 2 → renvoie3 * 2 = 6(dépilement)fact(4)reçoit 6 → renvoie4 * 6 = 24(résultat final)
2. La Suite de Fibonacci : Récursion Double
La célèbre suite de Fibonacci modélise une croissance où chaque terme est la somme des deux précédents :
u₀ = 0, u₁ = 1
uₙ = uₙ₋₁ + uₙ₋₂ (pour tout n ≥ 2)
Les premiers termes sont :
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, …
Activité — Implémentation de la suite de Fibonacci
Arbre d'appels pour fibonacci(4) :
Remarquez que la récursion arborescente effectue plusieurs fois les mêmes calculs (par exemple fib(2) est calculé 2 fois) :
Visualiser l'arbre de Fibonacci sur le simulateur
Observez l'arbre d'appels complet et testez différentes valeurs de n :
Simuler la suite de Fibonacci dans le Simulateur→
Avez-vous compris et assimilé ce cours ?
+50 XPÉtudiez le contenu activement pendant au moins 45 secondes pour pouvoir débloquer la validation au mérite.
