Exercices sur la récursivité
Exercice 1 :
Soit la fonction suivante :
Entier f(entier i, entier n)
Debut
Si (n=0) ou (n=1) alors retour (1)
Sinon si T[i] £ T [i+1] alors retour ( f(i+1, n-1) )
Sinon retour (0)
fin
Où T est un tableau d’entiers.
a) Faire une trace de l’algorithme pour l’appel f(0, 5) et T= 5 9 17 20 35
b) En déduire ce que fait l’algorithme.
c) Ecrire le pg C correspondant et le tester
Exercice2 :
La fonction de Fibonacci est définie par :
F1 = 1
F2 = 1
Fn = Fn-1 + Fn-2 si n > 2
1- donner l’algorithme récursif pour calculer le terme général Fn .
2- donner la trace de l’algorithme précédent pour F3 et F4. En déduire
pourquoi l’algorithme récursif pour Fibonacci est inefficace.
3- Donner l’algorithme itératif pour calculer Fn
4- Tester les programmes C récursif et itératif
Exercice 3 :
Soit la suite définie par le terme général suivant :
un = 5*un-1 +2*un-2 +1 pour n>=2
u0=0 ; u1=1
Objectif: calcul de la somme des 20 premiers termes de la suite.
1. Ecrire une fonction récursive termegeneral qui calcule le terme général.
2. Ecrire une autre fonction qui utilise la fonction précédente pour le calcule de
la somme.
3. Donner et tester le programme C correspondant
[Tapez ici]
[Link] fiches pédagogiques