Vous êtes sur la page 1sur 21

ALGORITHME AVANCE

Chapitre 1:
La récursivité
Semestre III
Licence 2 Info
Sommaire

1. Introduction

2. Comment écrire un algorithme récursif ?

3. Dérécursivation

4. Utiles à savoir

5. Exemple pratique

6. Conclusion
15/04/2023 2
1. Introduction
Définitions

 Une construction est dit récursive, si elle se définit à


partir d’elle-même.

 On qualifie de récursive, toute fonction ou


procédure qui s’appelle elle même.

 Qu'est-ce que la programmation récursive ?


la programmation récursive est une technique de
programmation qui remplace les instructions de
boucle (while, for et do while.) par des appels de
fonction.
15/04/2023 3
1. Introduction
Exemple 1:

Ecrire une fonction qui affiche le


message « Bonjour DUT IG2 » plusieurs
fois à l’écran sans utiliser de boucle ni
répéter plusieurs les cout.

// Appel récursif de la fonction elle même.

Remarque: le message « Bonjour DUT // Appel de fonction foncRec.


IG2 » s’affiche en boucle.

Note : L’appel récursif est traité comme n’importe quel appel de fonction.
15/04/2023 4
2.Comment écrire un algorithme récursif ?

Pour écrire un algorithme récursif il faut tout d’abord analyser le problème à résoudre pour
pouvoir identifier :
 le ou les cas particuliers (aussi dit de bases);
 le cas général qui effectue la récursion.

 Cas particulier :  Cas général :


on décrit les cas pour lesquels le résultat de la la fonction est appelée récursivement et le
fonction est simple à calculer : la valeur résultat retourné est calculé en utilisant le résultat
retournée par la fonction est directement de l'appel récursif. A chaque appel récursif, la
définie. valeur d'au moins un des paramètres (effectifs)
de la fonction doit changer.

Attention !
Il faut toujours s'assurer que chaque cas général converge vers un cas de base.
15/04/2023 5
2.Comment écrire un algorithme récursif ?
Cas de bases/Cas général :

Cas de base :
Cas général :

Cas de base :
Cas général :

Somme des n premiers entiers


Cas général :

Cas de base :

15/04/2023 6
2.Comment écrire un algorithme récursif ?
Solution exemple 1:

// Condition d’arrêt.

// Appel récursif de la fonction


elle-même avec évolution du
paramètre.

// Appel de fonction foncRec.

15/04/2023 7
2.Comment écrire un algorithme récursif ?
Exemple 2 :
Comment ça marche ?

15/04/2023 8
2.Comment écrire un algorithme récursif ?

15/04/2023 9
2.Comment écrire un algorithme récursif ?

15/04/2023 10
3. Dérécursivation
Il est possible de transformer de façon simple une fonction récursive terminale en une fonction
itérative : c'est la dérécursivation.

15/04/2023 11
3. Dérécursivation
Exemple : Dérécursivation de la factorielle terminale

15/04/2023 12
3. Dérécursivation

15/04/2023 13
4.Utiles à savoir

15/04/2023 14
4.Utiles à savoir

15/04/2023 15
4.Utiles à savoir

15/04/2023 16
4.Utiles à savoir

15/04/2023 17
5. Exemple pratique

15/04/2023 18
5. Exemple pratique

15/04/2023 19
Exercice

15/04/2023 20
6. Conclusion

15/04/2023 21

Vous aimerez peut-être aussi