0% ont trouvé ce document utile (0 vote)
76 vues3 pages

Correction TP & TD2 Python

Transféré par

achrafnarcos1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
76 vues3 pages

Correction TP & TD2 Python

Transféré par

achrafnarcos1
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Solution TP/TD 2: La Récursivité / Applications

Exercice 1
La fonction somme récursive sera écrite comme suite :
def somme(L):
if not L:
return 0
return L[0]+somme(L[1:])

Exercice 2
def Suite(n):
if n <= 2:
return 1
return 3*Suite(n-1)+Suite(n-2)

print(Suite(4))

Exercice 3
def maximum(T):
if len(T) == 1:
return T[0]

# principe de la recherche dichotomique


m = len(T)//2
max1 = maximum(T[:m])
max2 = maximum(T[m:])
if max1 > max2:
return max1
return max2

Exercice 4
def puiss_rec(x,n):
if n == 0:
return 1
else:
return (x*puiss_rec(x,n-1))

x=float(input('Entrez un réel x :'))


n=int(input('Entrez un entier positif n: '))
print('le résultat x**n = ', puiss_rec(x,n))
Exercice 5
def euclide_recursive(a,b):
if b == 0:
return a
else:
return euclide_recursive(b,a%b)

a=int(input('Entrez la valeur de a '))


b=int(input('Entrez la valeur de b '))
print('pgcd(a,b)= ',euclide_recursive(a,b))

Exercice 6
def recherche_dichotomique_recursive(L,x):
if L==[]:
return ("Elément non présent")
else:
milieu=len(L)//2
if x==L[milieu]:
return ("Elément présent")
elif x>L[milieu]:
return recherche_dichotomique_recursive(L[milieu+1:],x)
else:
return recherche_dichotomique_recursive(L[:milieu],x)

L=[10,14,16,19,20,25,30]
x=25
print(recherche_dichotomique_recursive(L,x))

Exercice 7
def afficher_elements(lst, index):
if index < len(lst):
print(lst[index])
afficher_elements(lst, index + 1)

# Exemple d'utilisation :
ma_liste = [15, 22, 13, 64, 50]
indice_depart = 0
afficher_elements(ma_liste, indice_depart)
Exercice 8
def est_palindrome(chaine):
if len(chaine) <= 1:
return True
else:
if chaine[0] == chaine[-1]:
return est_palindrome(chaine[1:-1])
else:
return False

def main():
chaine = input("Entrez une chaîne de caractères : ")
if est_palindrome(chaine):
print("La chaîne est un palindrome.")
else:
print("La chaîne n'est pas un palindrome.")

if __name__ == "__main__":
main()

Vous aimerez peut-être aussi