Une suite récurrente en Python
Exercice supplémentaire · niveau 1 (application) · mathématiques appliquées (ECG 1re année), chapitre 11 — Informatique et algorithmique · Dichotomie et calcul numérique
Énoncé
Soit et . Écrire terme(n) qui calcule , afficher , et déterminer vers quoi la suite converge.
Corrigé
Le code.
def terme(n):
u = 0.0
for _ in range(n): # n iterations : on part de u_0 et on arrive a u_n
u = 0.5 * u + 3
return u
for n in [0, 1, 2, 5, 20]:
print(n, terme(n))
# 0 0.0
# 1 3.0
# 2 4.5
# 5 5.8125
# 20 5.999994277954102
La boucle fait exactement tours. Chaque tour applique une fois la relation de récurrence, faisant passer de à . Partant de , on arrive donc à . Écrire range(n + 1) calculerait — l'erreur d'un cran, la plus fréquente sur ce schéma.
La limite. Si , alors aussi, et le passage à la limite dans la relation donne
La convergence est effective. Posons . Alors
donc est géométrique de raison , et . D'où .
Vérification. Pour : , exactement ce qu'affiche le programme. ✔
Le passage à la limite ne prouve rien à lui seul. Il donne la valeur de la limite si la suite converge. C'est le calcul de qui établit la convergence — sur une suite divergente, le même raisonnement produirait une « limite » qui n'existe pas.
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.