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")

appels appels 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.