Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
les_fiches_revisions:langages_programmation:recursivite [2021/01/11 15:23] clemercier |
les_fiches_revisions:langages_programmation:recursivite [2021/01/12 11:30] bl |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | La **récursivité** en algorithmique est le fait qu'un algorithme contienne un ou plusieurs appels à lui-même. | + | ====== La récursivité ====== |
- | {{ : | + | |
+ | La **récursivité** en algorithmique est le fait qu'un algorithme contienne un ou plusieurs appels à lui-même. | ||
+ | {{ : | ||
+ | {{ : | ||
+ | \\ \\ \\ | ||
+ | ===== La pile d' | ||
+ | |||
+ | {{ : | ||
+ | <code python> | ||
+ | def fctA(): | ||
+ | print (" | ||
+ | i=0 | ||
+ | while i<5: | ||
+ | print(f" | ||
+ | i = i + 1 | ||
+ | print ("Fin fonction fctA" | ||
+ | def fctB(): | ||
+ | print (" | ||
+ | i=0 | ||
+ | while i<5: | ||
+ | if i==3: | ||
+ | fctA() | ||
+ | print(" | ||
+ | print(f" | ||
+ | i = i + 1 | ||
+ | print ("Fin fonction fctB" | ||
+ | |||
+ | fctB() | ||
+ | </ | ||
+ | |||
+ | La fonction //fctB// appelle la fonction //fctA//, lors de son exécution, la fonction | ||
+ | |||
+ | {{: | ||
+ | Pour gérer ces fonctions qui appellent d' | ||
+ | La pile d' | ||
+ | |||
+ | La fonction au sommet est la fonction en cours d' | ||
+ | Une fois qu'une fonction à terminé son exécution, elle sortira, on dit qu' | ||
+ | |||
+ | \\ \\ \\ \\ | ||
+ | |||
+ | ===== Les fonctions récursives ===== | ||
+ | |||
+ | <code python> | ||
+ | def fonct(n): | ||
+ | if n>0: | ||
+ | fonct(n-1) | ||
+ | print(n) | ||
+ | |||
+ | fonct(3) | ||
+ | </ | ||