Récursivité - première approche
Lang 05
Résumé du cours
Programmation classique
def exploser_iteratif(duree: int) -> None:
while duree > 0:
print(duree)
duree = duree - 1
print("boum")
# programme principal
exploser_iteratif(4)
Remarque
Le code de la boucle while est exécuté tant que la condition est vérifiée.
Programmation récursive
Remarque
Une fonction récursive est une fonction:
- qui s’appelle elle-même tant qu’une condition est vérifiée,
- possède une condition d’arrêt, pour ne pas s’appeler indéfiniment.
def exploser_recursif(duree: int) -> None:
if duree == 0: # condition d'arrêt
print("boum")
else:
print(duree)
exploser_recursif(duree - 1)
def exploser_recursif(duree: int) -> None:
if duree > 0:
print(duree)
exploser_recursif(duree - 1)
else: # condition d'arrêt
print("boum")
Dans la mémoire, la pile d’appels stocke les paramètres de chaque appel avant la mise en pause.
Lors de la remontée d’appel, la fonction reprend là où elle s’était mise en pause.