Chapitre 4 — Suites numériques · coursIV Programmer une suite définie par récurrence
Sommaire du chapitre
- I — Définition d'une suite
- II — Suites définies explicitement
- III — Suites définies par récurrence
- IV — Programmer une suite définie par récurrence
- V — Représentation graphique d'une suite
- VI — Sens de variation d'une suite
- VII — Suites arithmétiques
- VIII — Reconnaître une suite arithmétique
- IX — Terme général et variations d'une suite arithmétique
- X — Suites géométriques
- XI — Reconnaître une suite géométrique
- XII — Terme général et variations d'une suite géométrique
Le programme type
Pour une suite donnée par et une relation , la fonction suite(n) renvoie :
- la variable
ureçoit le premier terme ; - la boucle
forrefait fois le calcul du terme suivant ; - à la sortie de la boucle,
uvaut :return ule renvoie.
Méthode 4 — Calculer un terme de rang élevé avec Python
Exemples corrigés
- a)Soit et . Écrire le programme, puis calculer .
- b)Une cuve contient L d'eau. Chaque jour, on en utilise , puis on ajoute L. Combien d'eau contient-elle au bout de jours ?
Correction
a)
def suite(n):
u = 4
for i in range(n):
u = 3*u - 5
return ula ligne u = 4 donne ; dans la boucle, le nouveau u est , l'ancien est
suite(12) affiche 797164 : .suite(1) affiche 7, comme b)
def cuve(n):
u = 800
for i in range(n):
u = 0.8*u + 100
return u
cuve(10) affiche 532.21... : il reste environ L.À vous de jouer
Écrire le programme de la suite définie par et , puis donner .
Correction
def suite(n):
u = 3
for i in range(n):
u = 2*u - 1
return ula ligne u = 3 donne ; dans la boucle, le nouveau u est
suite(10) affiche 2049 : .suite(1) affiche 5, comme À faire : exercices 16 à 19
Exercice 16 — Que renvoie ce programme ?
def suite(n):
u = 3
for i in range(n):
u = 3*u - 4
return u
- 1)Quelle suite ce programme calcule-t-il ? Donner et la relation de récurrence.
- 2)Calculer à la main ce que renvoient
suite(1),suite(2)etsuite(5).
Corrigé
- 1°)et .
- 2°)
suite(1)renvoie ,suite(2)renvoie ,suite(5)renvoie .
La boucle tourne fois : suite(5) applique fois la relation à partir de .
Exercice 17 — Même travail
Même travail avec la ligne u = 160 au départ et la ligne u = 0.5*u + 2 dans la boucle, pour suite(1), suite(2) et suite(6).
Corrigé
et .
suite(1) renvoie , suite(2) renvoie , suite(6) renvoie .
Python affiche 82.0 : avec 0.5, le résultat est un nombre décimal.
Exercice 18 — Compléter le programme
Soit et .
- 1)Calculer à la main.
- 2)Compléter le programme, puis donner .
def suite(n):
u = .....
for i in range(n):
u = .....
return u
- 3)Même travail avec et : écrire le programme, puis donner , et .
Corrigé
- 1°)
- 2°)
On range dans
u, puis on traduit la relation :def suite(n): u = 2 for i in range(n): u = 1 + 2*u return usuite(10)affiche3071: . - 3°)
Seules la valeur de départ et la ligne de la boucle changent :
def suite(n): u = 1 for i in range(n): u = 6 - 2*u return u; ; .
On contrôle le programme sur un terme calculé à la main : suite(3) doit afficher .
Exercice 19 — Les abonnés d'une salle de sport
Une salle de sport compte abonnés en 2024. Chaque année, des abonnés ne se réinscrivent pas, et nouveaux abonnés arrivent. On note le nombre d'abonnés l'année : .
- 1)Calculer et .
- 2)Exprimer en fonction de .
- 3)Écrire un programme qui renvoie .
- 4)Combien y aura-t-il d'abonnés en 2039 (arrondi à l'unité) ?
- 5)Vers quelle valeur le nombre d'abonnés semble-t-il se stabiliser ?
Corrigé
- 1°)
des abonnés restent, puis arrivent :
- 2°)
- 3°)
Sur le modèle de la fonction
suite(n)du cours :def abonnes(n): a = 1200 for i in range(n): a = 0.6*a + 600 return a - 4°)2039 correspond à :
abonnes(15)affiche1499.85…, soit environ abonnés. - 5°)Le nombre d'abonnés semble se stabiliser vers .
Non exigé : avec abonnés, , le nombre ne change plus.