Adloun

Combien de termes pour une somme géométrique ?

Exercice · niveau 3 (difficile) · mathématiques appliquées (ECG 1re année), chapitre 9 — Étude élémentaire des séries · Calcul approché en Python

Énoncé

Écrire une fonction Python somme(q, eps) qui approche en s'arrêtant dès que le terme ajouté est inférieur à . Comparer à pour puis . Pourquoi le second cas demande-t-il beaucoup plus de termes ?

Corrigé


def somme(q, eps):
    assert 0 <= q < 1, "raison hors du domaine de convergence"
    s, terme, n = 0.0, 1.0, 0
    while terme >= eps:
        s = s + terme
        terme = terme * q
        n = n + 1
    return s, n

Les résultats, pour :

Pourquoi tant d'écart. La boucle s'arrête quand , c'est-à-dire

Or tandis que : soixante-dix fois plus petit en valeur absolue, donc soixante-dix fois plus de termes. Plus la raison approche , plus approche , et plus le nombre de termes explose — c'est exactement la courbe du cours, vue du côté du coût de calcul.

Un piège de plus. Le critère d'arrêt porte sur le terme, pas sur l'erreur. Le reste vaut ici , soit fois le dernier terme pour : s'arrêter à ne garantit que sur la somme. Un terme petit ne veut pas dire un reste petit — la série harmonique le rappelle avec force.

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.