La récursivité et le tri
Fonction récursive
Il est légal qu'une fonction en appelle une autre ; il est également légal pour une
fonction de s'appeler elle-même. C'est l'une des choses les plus magiques qu'un
programme puisse faire. Par exemple, regardez la fonction suivante#:






Si n est 0 ou négatif, il affiche le mot "Blastoff!" Sinon, il affiche n puis appelle une
fonction nommée countdown - elle-même - en passant n-1 comme argument. Que se
passe-t-il si nous appelons cette fonction comme ceci ?
Fonction récursive
>>> countdown(3)
L'exécution du countdown commence avec n=3, et comme n est supérieur à 0, il
affiche la valeur 3, puis s'appelle…
L'exécution du countdown commence avec n=2, et comme n est supérieur à
0, il sort la valeur 2, puis s'appelle…
L'exécution du countdown commence avec n=1, et comme n est
supérieur à 0, il affiche la valeur 1, puis s'appelle lui-même..
L'exécution du countdown commence avec n=0, et comme n n'est
pas supérieur à 0, il affiche le mot «#Blastoff#!#» puis revient.
Le countdown qui a obtenu n=1 revient.
Le countdown qui a obtenu n=2 revient.
Le countdown qui a obtenu n=3 revient.
Fonction récursive
 ! "#!!
$%!&'(
)
*
1
Blastoff
Fonction récursive
Diagrammes de pile pour les fonctions récursives
+,--.%/0,.
&!1"
/.%0!#
!!!"
1 / 11 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !