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 | ||
|
les_fiches_revisions:langages_programmation:recursivite [2021/01/12 10:25] bl |
les_fiches_revisions:langages_programmation:recursivite [2022/04/29 12:05] (Version actuelle) lt |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== La récursivité ====== | + | ====== La récursivité |
| - | La **récursivité** en algorithmique est le fait qu'un algorithme contienne un ou plusieurs appels | + | La **récursivité** en algorithmique est le fait qu'un algorithme contienne un ou plusieurs appels |
| - | {{ : | + | {{ : |
| + | {{ : | ||
| + | \\ \\ \\ | ||
| + | ===== La pile d' | ||
| - | \\ \\ \\ \\ | ||
| {{ : | {{ : | ||
| <code python> | <code python> | ||
| Ligne 28: | Ligne 30: | ||
| </ | </ | ||
| - | La fonction //fctB// appelle la fonction //fctA//, lors de son exécution, la fonction //fctA// va interrompre la fonction //fctB//. | + | La fonction //fctB// appelle la fonction //fctA//, lors de son exécution, la fonction //fctA// va interrompre 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) | ||
| + | </ | ||
| + | Cette fonction est une fonction **récursive** (elle s' | ||
| + | Mais comment cette fonction fonctionne-t-elle? | ||
| + | {{ : | ||