Fiche TP 10 : Algorithmes récursifs
Licence 1 MASS semestre 2, 2011/2012
Exercice 1 : algorithmes récursifs ?
Questions :
a- Est-ce que les algorithmes ci-dessous sont des algorithmes récursifs ?
b- Est-ce qu'ils se terminent ? Modier les algorithmes de manière à ce qu'ils se terminent.
c- Que calculent chacun des algorithmes ? Algorithme log(x, n : entier) : entier début
six≤0 alors retourner n sinon
retourner log(x/2, n+1) nn si
Algorithme puissance(x, n : entier) : entier début
sin≤0 alors retourner 1 sinon
retourner x * puis(x, n-1) nn si
Algorithme somme(n : entier) : entier début
sin= 0alors retourner 0 sinon
retourner|n|+somme(n+1) nn si
1
Exercice 2 : Suite récurente
Ecrire une fonction récursive qui calcule lenieme terme de la suiteudénie par : u0 = 0.8
un+1 = 0.6un(un−1)
Exercice 3 : Fibonacci
Ecrire une fonction récursive qui calcule lenemeterme de la suite de Fibonacci :
u0 = 1 u1 = 1
un+2 = un+un+1,∀n∈IN
Exercice 4 : Recherche dichotomique
Ecrire une fonction récursive de recherche dichotomique d'un élément dans un tableau ordonné dans l'ordre décroissant.
Exercice 5 : Ackermann
Ecrire une fonction récursive qui calculeA(m, n)déni comme ceci :
A(0, n) = n+ 1
A(m,0) = A(m−1,1), pourm >0
A(m, n) = A(m−1, A(m, n−1)), pourm >0 etn >0
2