====== Écrire un programme récursif ======
Pour qu'un programme soit récursif, il faut déclarer une ou plusieurs fonctions qui s'appellent elles-mêmes.
Voici un exemple de programme récursif :
{{ :les_fiches_revisions:langages_programmation:resultat_recur_2.png?400|}}
def fonct(n):
if n>0:
fonct(n-1)
print(n)
fonct(3)
Cette fonction à pour but d'énumérer les nombres de 0 jusqu'à n. \\
En effet, la fonction va s'appeler elle-même, en passant comme paramètre n-1, jusqu'à ce que n soit égal à 0. Ensuite, elle va afficher n. \\ \\ \\
Pour qu'un programme récursif fonctionne, il faut vérifier que le programme se termine (sinon celui-ci va planter puisqu'il tournera à l'infini), et qu'une fois arrêté, le programme nous renvoie bien ce qui est voulu.
{{ :les_programmes_a_connaitre:langages_term:recur_erreur.png?400|}}
def Hello():
print("Hello World")
Hello()
Hello()
Ce programme va répéter la fonction Hello() à l'infini, cela va renvoyer ce message d'erreur. \\ \\ \\
Les fonctions récursives peuvent être utilisées de nombreuse façons, par exemple, pour renvoyer la factorielle n'un nombre.
{{ :les_programmes_a_connaitre:langages_term:recur_fact.png?400|}}
def fact(n) :
if n > 0 :
return n*fact(n-1)
else :
return 1