Introduction à l'algorithmique 11 - Les fonctions récursives

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)
  FINSI
RETOURNER 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 !

Tags

  • algorithmique

Cet article à été posté le