Adloun

mathématiques appliquées (ECG 1re année) · Chapitre 9 · Exercice

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

Étude élémentaire des séries · Calcul approché en Python · niveau 3 (difficile)

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

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre