Outils pour utilisateurs

Outils du site


les_fiches_revisions:langages_programmation:recursivite

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 11:30]
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é (oe) ======
  
-La **récursivité** en algorithmique est le fait qu'un algorithme contienne un ou plusieurs appels à lui-même. \\ \\ \\ \\ +La **récursivité** en algorithmique est le fait qu'un algorithme contienne un ou plusieurs appels de lui-même. \\ \\ \\ \\ 
 {{  :les_fiches_revisions:fonction_recursive.png?200|}} {{  :les_fiches_revisions:fonction_recursive.png?200|}}
 {{ :les_fiches_revisions:langages_programmation:recursivite.png?500 |}} {{ :les_fiches_revisions:langages_programmation:recursivite.png?500 |}}
Ligne 34: Ligne 34:
 {{:les_fiches_revisions:langages_programmation:pile_d_execution_2.png?300 |}} \\ \\  {{:les_fiches_revisions:langages_programmation:pile_d_execution_2.png?300 |}} \\ \\ 
 Pour gérer ces fonctions qui appellent d'autres fonctions, le système utilise une **pile d'exécution**. \\ Pour gérer ces fonctions qui appellent d'autres fonctions, le système utilise une **pile d'exécution**. \\
-La pile d'exécution permet de d'enregistrer les informations sur les fonctions en cours d'exécution dans un programme \\ \\ +La pile d'exécution permet d'enregistrer les informations sur les fonctions en cours d'exécution dans un programme\\ \\ 
  
-La fonction au sommet est la fonction en cours d'exécution, elle met donc en "pause" les autres fonctions, comme c'est une pile, elle se base sur le principe du **First In, Last out** (le dernier à rentrer sera le premier à sortir) \\  +La fonction au sommet est la fonction en cours d'exécution, elle met donc en "pause" les autres fonctions, comme c'est une pile, elle se base sur le principe du **First In, Last out** (le dernier à rentrer sera le premier à sortir)\\  
-Une fois qu'une fonction à terminé son exécution, elle sortira, on dit qu'elle est **dépilée**+Une fois qu'une fonction à terminé son exécution, elle sortira, on dit qu'elle est **dépilée**.
  
 \\ \\ \\ \\  \\ \\ \\ \\ 
Ligne 43: Ligne 43:
 ===== Les fonctions récursives ===== ===== Les fonctions récursives =====
  
 +{{  :les_fiches_revisions:langages_programmation:resultat_recur_2.png?400|}}
 <code python> <code python>
 def fonct(n): def fonct(n):
Ligne 51: Ligne 52:
 fonct(3) fonct(3)
 </code> </code>
 +Cette fonction est une fonction **récursive** (elle s'appelle elle-même), elle va énumérer les nombres de 0 jusqu'à 3.
 +
 +
 +Mais comment cette fonction fonctionne-t-elle? Voyons voir sa pile d'exécution.
 +{{ :les_fiches_revisions:langages_programmation:pile_recur.png?800 |}}
  
les_fiches_revisions/langages_programmation/recursivite.1610447404.txt.gz · Dernière modification: 2021/01/12 11:30 de bl