Académique Documents
Professionnel Documents
Culture Documents
Filière: MPI
1 27/01/2022
Plan du cours
Chapitre 1 : La récursivité
2 27/01/2022
Plan du cours
Chapitre 1 : La récursivité
3 27/01/2022
1-Définition
• Une définition récursive est une définition dans laquelle intervient ce que l’on veut
définir. Un algorithme est dit récursif lorsqu’il est défini en fonction de lui-même.
Exemple:
Factorielle (n)=n* Factorielle(n-1)
Cela est traduit par:
4 27/01/2022
X=Factorielle(3)
return(3* Factorielle(2));
return(2*Factorielle(1));
return(1* Factorielle(0));
return(0*Factorielle(-1));
return(-1*Factorielle(-2));
………
5 27/01/2022
int Factorielle (int n)
{ if n==0)
return(1);
else
return(n*Factorielle(n-1));
}
X=Factorielle(3)
return(3* Factorielle(2));
return(2*Factorielle(1));
return(1* Factorielle(0));
return(1);
1*1
2*1
3*2
6
6 27/01/2022
2-Syntaxe de récursion
if (condition d’arrêt)
Traitement solution condition arrêt
else
Appel récursif
7 27/01/2022
3- Quelques terminologies
Exemple:
1 si p 0 ou p n
C np p p 1
C n1 C n1 sin on
vrai si n 0 faux si n 0
pair ( n) et impair ( n)
impair ( n 1) sin on pair ( n 1) sin on
8 27/01/2022
• Récursivité imbriquée
Exemple:
n 1 si m 0
A( m , n) A( m 1, 1) si m 0 et n 0
A( m 1, A( m , n 1)) sin on
9 27/01/2022
4- Exemple
int puissance (int x, int n)
{
if (n==0)
return 1;
else return (x* puissance (x, n-1));
}
Exécution de puissance(3,3)
X=puissance(3,3)
return(3* puissance(3,2));
return(3*puissance(3,1));
return(3* puissance(3,0));
return(1);
3*1
3*3
3*9
27
10 27/01/2022