Adloun

informatique (tronc commun des prépas scientifiques) · Chapitre 5 · Exercice de TD

Zéro d'une fonction continue

Algorithmes dichotomiques · niveau 2

É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.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre