En programmation informatique, le terme récursif décrit une fonction ou une méthode qui calcule de manière répétée une plus petite partie de lui-même pour arriver au résultat final. C'est semblable à l'itération, mais au lieu de répéter un ensemble d'opérations, une fonction récursive accomplit la répétition en se référant à elle-même dans sa propre définition. Bien que le concept de programmation récursive puisse être difficile à comprendre au départ, sa maîtrise peut être très utile. La récursivité est l'un des outils fondamentaux de l'informatique.
Un exemple classique est la méthode récursive de calcul de la factorielle d’un nombre. La factorielle d'un entier n, qui s'écrit n!, est le résultat de la multiplication de n par l’ensemble des entiers positifs inférieurs à n. Par exemple, 3! = 3 x 2 x 1, ce qui donne 6 et 4! = 4 x 3 x 2 x 1, ce qui donne 24. La méthode récursive est un moyen efficace de calculer une factorielle.
Vous trouverez ci-dessous un exemple de fonction factorielle récursive écrite en JavaScript.
fonction factorielle (n) {
retourner (n === 0)? 1: n * factorielle (n-1);
}
Comme vous pouvez le constater, une partie de la définition de la fonction factorielle est le résultat d’une factorielle effectuée sur un entier plus petit. En s’appelant lui-même, il peut multiplier le nombre par chaque nombre positif inférieur à celui-ci, puis renvoyer le résultat final. Les fonctions récursives peuvent être utiles dans d’autres calculs, tels que le calcul des nombres de Fibonacci ou du plus grand diviseur commun.
L'utilisation de la logique récursive peut avoir des inconvénients, notamment la création d'une boucle sans fin dans la programmation. Pour cette raison, le fait d’assurer la présence d’une condition d’échappement (comme une période d’attente) dans la programmation permet de réduire, voire d’éliminer, le risque de formation d’une boucle infinie. Si une boucle sans fin se produit, le programme peut utiliser beaucoup de mémoire sur un ordinateur et peut empêcher le programme, le système d'exploitation ou l'ordinateur de fonctionner.
Echap, Fonction, Boucle, Termes de programmation