Zéro d'une fonction continue
Exercice · informatique (tronc commun des prépas scientifiques), chapitre 5 — Algorithmes dichotomiques
Énoncé
Soit une fonction continue vérifiant . Écrire zero(f, a, b, eps) renvoyant un réel tel que possède un zéro dans , par dichotomie. Estimer le nombre d'étapes pour approcher à près.
Corrigé
def zero(f, a: float, b: float, eps: float) -> float:
"""Précondition : f(a) <= 0 <= f(b), a <= b, eps > 0."""
while b - a > eps:
# Invariant : f(a) <= 0 <= f(b)
m = (a + b) / 2
if f(m) <= 0:
a = m
else:
b = m
return a
- Nombre d'étapes : À chaque étape, la largeur de l'intervalle est divisée par 2. Partant de et avec une tolérance , on cherche le nombre d'itérations tel que : L'algorithme demande 35 évaluations de la fonction.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.