Bonjour à tous ! Aujourd'hui nous allons reparler des fonctions et plus précisément parler d'un type de fonction : Les fonctions récursives.

Jusqu'à présent nous avons créé nos algorithmes de façon itérative, au moyen de boucles POUR, TANTQUE...

Par définition en informatique, une fonction récursive est une fonction qui s'appelle elle-même.

Je vais reprendre le dernier exemple d'hier, la factorielle itérative (telle que nous l'avions écrite). Je vous propose d'en faire une fonction récursive afin d'illustrer la notion d'aujourd'hui :

Pseudo-code du module principal :

DÉBUT  ECRIRE FACTORIELLE(4)FIN

Pseudo-code du module FACTORIELLE :

ENTRER n  SI (n = 0) ALORS    nfac <- 1  SINON    nfac <- n \* FACTORIELLE(n - 1)  FINSIRETOURNER nfac
  • Le module principal fait appel à la fonction FACTORIELLE
  • En fonction de la valeur du paramètre, si n est égale à 0 on retourne 1, sinon on retourne le résultat de n * le rappel de la fonction factorielle à n - 1.

Je vous conseille une fois de plus de regarder l'exécution pas à pas pour bien saisir le concept de récursivité ! C'est une notion très intéressante à maitriser.

A Demain !