Adloun

Un critère d'arrêt justifié par le reste

Exercice d'entraînement · niveau 2 · mathématiques approfondies (ECG 1re année), chapitre 11 — Informatique et algorithmique · Séries et calcul approché

Énoncé

On veut calculer à près. Établir que le reste d'ordre vaut exactement , en déduire un critère d'arrêt, puis écrire le programme et donner le nombre de termes employés.

Corrigé

Ce qu'on montre. Qu'un calcul numérique de somme n'a de valeur que s'il majore son reste — et qu'ici le reste se calcule exactement, ce qui rend le critère d'arrêt certain.

Le reste, exactement. Posons et faisons le changement d'indice : Les deux séries de référence donnent et Donc Contrôle : pour , — c'est bien la somme totale, que le même calcul donne pour .

Le critère d'arrêt. On somme tant que , c'est-à-dire tant que ; à l'arrêt, l'erreur commise est garantie inférieure à .

Le programme.

def somme_approchee(eps):
    """Somme de k/2**k, arretee quand le reste exact passe sous eps."""
    S = 0.0
    n = 0
    while (n + 2) / 2.0 ** n > eps:     # reste d'ordre n
        n = n + 1
        S = S + n / 2.0 ** n
    return S, n

print(somme_approchee(1e-10))    # (1.9999999999254..., 39)

Le résultat. Le programme s'arrête à et renvoie une valeur . Vérification du rang : pour , , tandis que pour , . Trente-neuf termes suffisent donc, et trente-huit ne suffiraient pas.

La valeur exacte. La même série de référence donne et l'écart observé, , est bien inférieur au annoncé — il vaut d'ailleurs exactement le reste , ce qui valide la formule.

Point délicat. Un critère d'arrêt fondé sur le terme (« s'arrêter quand ») ne garantit rien en général : pour la série harmonique, le terme tend vers alors que le reste n'existe même pas. C'est toujours le reste, jamais le terme, qui doit être contrôlé.

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.