0% ont trouvé ce document utile (0 vote)
33 vues2 pages

td09 Co

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1/ 2

Correction TD 09 : Algorithmes récursifs

Licence 1 MASS semestre 2, 2007/2008

Exercice 1 : algorithmes récursifs ?


• Les algorithmes log et somme sont récursifs : chacun contient au moins
un appel à lui même, par contre, puissance ne l’est pas : il fait appel à
l’algorithme puis.
• – log se termine pour tout entier x. L’itration de la division entière
par 2 mne à 0, et le case de base 0 se termine par l’excution de
retourner.
– puissance se termine si on remplace l’appel à l’algorithme puis par
un appel à l’algorithme puissance. Le cas de base 0 se termine par
l’excution de retourner. Si l’algorithme se termine pour la valeur
n−1 alors il se termine aussi pour la valeur n est excutant retourner.
– somme ne se termine pas lorsque n est strictement positif. En effet,
l’algorithme pour n se termine seulement si l’algorithme se termine
pour n+1. Or, il n’existe pas d’entier strictement positif pour lesquels
l’agorithme s’arrete.

Exercice 2 : Suite récurente


Algorithme Suite(n : entier) : entier
début
si n = 0 alors
retourner 0.8
sinon
retourner 0.6Suite(n − 1)
fin si
fin

Exercice 3 : Fibonacci
Algorithme Fibonacci(n : entier) : entier
début
si n ≤ 1 alors
retourner 1
sinon
retourner Fibonacci(n − 1) + Fibonacci(n − 2)

1
fin si
fin

Exercice 4 : Recherche dichotomique


cf cours
Algorithme recherche(n:entier, t:tableau d’entiers, a, b: entier) : : boolen
variable c : entier
début
si a > b alors
retourner Faux
sinon
c ← (a + b)/2
si t[c] = n alors
retourner Vrai
sinon
si t[c] < n alors
retourner recherche(n, t, c+1, b)
sinon
retourner recherche(n, t, a, c-1)
fin si
fin si
fin si
fin

Exercice 5 : Ackermann
Algorithme Ackermann(m, n :entier) : entier
début
si m = 0 alors
retourner n + 1
sinon
si n = 0 alors
retourner Ackermann(m − 1,1)
sinon
retourner Ackermann(m − 1, Ackermann(m, n − 1))
fin si
fin si
fin

Vous aimerez peut-être aussi