2. Récursivité#
2.1. Extrait du programme#
Notion |
Savoir faire |
Observations |
---|---|---|
Récursivité |
Écrire un programme récursif. Analyser le fonctionnement d’un programme récursif. |
Des exemples relevant de domaines variés sont à privilégier. |
2.2. Définition#
2.2.1. Première approche#
(Fonction récursive)
Une fonction récursive est une fonction qui s’appelle elle-même
def f():
print("Je suis une fonction récursive")
return f()
f()
Je suis une fonction récursive
Je suis une fonction récursive
Je suis une fonction récursive
Je suis une fonction récursive
Je suis une fonction récursive
Je suis une fonction récursive
Je suis une fonction récursive
Je suis une fonction récursive
Je suis une fonction récursive
Je suis une fonction récursive
Je suis une fonction récursive
Je suis une fonction récursive
Je suis une fonction récursive
Je suis une fonction récursive
Je suis une fonction récursive
Je suis une fonction récursive
Je suis une fonction récursive
Je suis une fonction récursive
Je suis une fonction récursive
Unexpected exception formatting exception. Falling back to standard exception
Dans l’exemple ci-dessus, l’appel récursif ne termine pas et c’est un souci.
Avertissement
Pour éviter le cas précédent qui donne mauvaise réputation à la récursivité, on fera attention à toujours mettre une condition d’arrêt.
Ce problème est similaire au problème de la boucle while
où la condition n’est jamais remplie.
2.3. Récursivite avec cas de base#
On peut consulter l’exemple suivant sur la somme des entiers naturels.