TD03 Recursivite
TD03 Recursivite
TD03 Recursivite
ALGORITHMIQUES ET COMPLEXITE
Département d’Informatique Année universitaire 2023/2024
1/2
Université de Blida 1 Deuxième année Ingénieur
ALGORITHMIQUES ET COMPLEXITE
Département d’Informatique Année universitaire 2023/2024
EXERCICE 3
1. Écrire une fonction récursive SuppDoublons(L:Liste) :Liste permettant de supprimer les
doublons dans une liste déjà triée L. Etant donnée la liste [3, 3, 6, 9, 9, 9, 9, 11], la fonction
renvoie [3, 6, 9, 11].
2. Écrire une fonction récursive inserer(L:Liste, X :Entier) :Liste permettant d’insérer un entier
X dans une liste triée L. Etant donnée la liste [3, 3, 6, 9, 9, 11] et X=7, la fonction renvoie [3,
3, 6, 7, 9, 9, 11].
EXERCICE 4
De nombreux problèmes de mathématiques ou de physique se concluent par la résolution
d'une équation 𝑓(𝑥) = 0. Bien souvent, il n'est pas possible de résoudre exactement cette
équation, et on cherche une valeur approchée de la solution (ou des solutions). Pour obtenir
une telle approximation, Newton a proposé une méthode générale définie par la récurrence
suivante :
𝑓(𝑥𝑛−1 )
𝑥𝑛 = 𝑥𝑛−1 − , 𝑎𝑣𝑒𝑐 𝑥0 𝑑𝑜𝑛𝑛é.
𝑓 ′ (𝑥𝑛−1 )
Soit 𝑓(𝑥) = 𝑥 2 − 𝛼, avec 𝛼 ∈ ℤ une constante définie par l’utilisateur.
1. Ecrire une fonction f(x : Réel, alpha : Entier) :Réel qui prend en paramètre 𝑥 et une
constante alpha et calcule 𝑓(𝑥).
2. Ecrire une fonction fprime(x :Réel) :Réel qui prend en paramètre 𝑥 et calcule 𝑓′(𝑥).
3. Ecrire une fonction récursive newton(alpha, n, x0 : Entier) :Réel qui calcule 𝑥𝑛 .
4. Dérouler la fonction newton pour alpha = 9, n = 5, x0 = 2. Que calcule newton(9,5,2) ?
EXERCICE 5
1. On appelle palindrome un mot qui se lit de la même façon de gauche à droite ou de droite à
gauche par exemple ABBA, ELLE.
Ecrire une fonction récursive qui détermine si un mot est un palindrome.
2. Etant donnée une chaîne de caractères, le problème du plus long palindrome consiste à
déterminer la plus longue sous-chaîne qui soit un palindrome.
Par exemple : s= ABCHHCCA, la fonction renvoie : CHHC.
Ecrire une fonction récursive qui extrait la plus longue chaîne qui soit un palindrome.
2/2