Exercice 1
In [1]:
def recherche_ordonnee(tableau, but) :
"recherche_ordonnee(tableau : list, but : float) -> bool"
i = 0
while tableau[i] <= but :
if tableau[i] == but :
return True
else :
i = i + 1
return False
Exercice 2
In [2]:
def recherche_dichotomique(tableau, but) :
"recherche_dichotomique(tableau : list, but : float) -> m : int ou str"
n = len(tableau)
deb = 0
fin = n - 1
while fin - deb >= 0 :
m = (deb + fin) // 2
if tableau[m] == but :
return m
elif tableau[m] > but :
fin = m - 1
else :
deb = m + 1
return 'L élément cherché ne se trouve pas dans la liste'
Calcul approché d'un zéro d'une fonction
In [3]:
def dichotomie(f, a, b, eps) :
"dichotomie(f : function, a : float, b : float, eps : float) -> res : float"
g = a
d = b
signe = 0
if f(a) < 0 :
signe = -1
else :
signe = 1
while (d - g) > eps :
m = (d + g) / 2
if f(m) == 0 :
res = m
return res
elif f(m) > 0 :
if signe == -1 :
d = m
else :
g = m
else :
if signe == -1 :
g = m
else :
d = m
res = (g + d) / 2
return res
In [ ]: