Fiche récapitulative générée pour impression / export PDF.

1ère · Algorithmique et programmation en Python

Calculer les termes d'une suite et un algorithme de seuil

Calculer les termes d'une suite par récurrence

Une suite définie par récurrence (u0u_0 donné, un+1=f(un)u_{n+1}=f(u_n)) se calcule naturellement avec une boucle for, en mettant à jour une variable à chaque tour.

Exemple : suite arithmétique u0=3u_0=3, un+1=un+5u_{n+1}=u_n+5.

`python
u = 3
for i in range(10):
u = u + 5

print(u)
`

Ce programme calcule u10u_{10} : à chaque tour de boucle, u est remplacé par sa valeur précédente plus 55.

Stocker les termes dans une liste

Pour conserver tous les termes calculés (et pas seulement le dernier), on les ajoute à une liste avec .append() à chaque tour :

`python
u = 3
termes = [u]
for i in range(10):
u = u + 5
termes.append(u)

print(termes)
`

termes contient alors u0,u1,,u10u_0, u_1, \ldots, u_{10}, soit 1111 valeurs.

Algorithme de seuil

Un algorithme de seuil détermine le plus petit rang nn à partir duquel une suite (croissante) dépasse une valeur donnée. On utilise une boucle while, qui s'arrête dès que la condition est vérifiée :

`python
u = 3
n = 0
while u <= 100:
u = u + 5
n = n + 1

print("Rang :", n, " Valeur :", u)
`

Point clé : la boucle while condition: répète les instructions tant que la condition est vraie, et s'arrête dès qu'elle devient fausse. Il faut que la condition finisse par devenir fausse, sinon la boucle ne s'arrête jamais !

Exemples

✅ Exemple simple — Calculer un terme d'une suite géométrique

`python
v = 2
for i in range(5):
v = v * 3

print(v)
`

Ce programme calcule v5v_5 pour la suite géométrique v0=2v_0=2, vn+1=3vnv_{n+1}=3v_n : il affiche 486.

📘 Exemple intermédiaire — Stocker les 6 premiers termes

`python
v = 2
termes = [v]
for i in range(6):
v = v * 3
termes.append(v)

print(termes)
`

Ce programme affiche la liste [2, 6, 18, 54, 162, 486, 1458], soit v0v_0 à v6v_6.

🔴 Exemple avancé — Algorithme de seuil pour une suite géométrique

`python
v = 2
n = 0
while v < 1000:
v = v * 3
n = n + 1

print("Rang :", n, " Valeur :", v)
`

Ce programme cherche le plus petit rang nn pour lequel vn1000v_n \geqslant 1000, en multipliant v par 33 à chaque tour tant que v<1000v<1000.

À retenir

- Une boucle for qui met à jour une variable permet de calculer le terme d'une suite définie par récurrence.
- .append() dans la boucle permet de conserver tous les termes calculés dans une liste.
- Une boucle while condition: répète tant que la condition est vraie : c'est l'outil adapté pour un algorithme de seuil, où l'on ne connaît pas à l'avance le nombre de répétitions nécessaires.

Exercices de la leçon

Exercice 1

Pour calculer un terme d'une suite définie par récurrence avec un nombre connu d'étapes, quelle boucle est la plus adaptée ?

Corrigé

Quand le nombre d'étapes (le rang nn visé) est connu à l'avance, une boucle for avec range(n) est la plus adaptée.

Exercice 2

Une boucle while répète ses instructions tant que sa condition est vraie.

Corrigé

C'est la définition même de la boucle while : elle continue de s'exécuter tant que la condition reste vraie, et s'arrête dès qu'elle devient fausse.

Exercice 3

Que calcule ce programme ?

`python
u = 10
for i in range(4):
u = u + 3
print(u)
`

Corrigé

On part de u0=10u_0=10 et on ajoute 33 à chaque tour de boucle, 44 fois : on obtient u4=10+4×3=22u_4 = 10+4\times3=22.

Exercice 4

Pourquoi utilise-t-on une boucle while plutôt qu'une boucle for dans un algorithme de seuil ?

Corrigé

Dans un algorithme de seuil, on cherche le rang nn à partir duquel une condition est vérifiée, sans savoir à l'avance combien d'étapes seront nécessaires : la boucle while est donc l'outil adapté.

Exercice 5

Écris un programme Python qui calcule le plus petit rang nn à partir duquel le terme unu_n d'une suite arithmétique de premier terme u0=5u_0=5 et de raison r=4r=4 dépasse strictement 200200, puis affiche ce rang ainsi que la valeur de unu_n correspondante.

Corrigé

C'est le schéma classique de l'algorithme de seuil : une boucle while qui met à jour à la fois le terme de la suite et un compteur de rang, tant que la condition de seuil n'est pas dépassée.

AlphaMath Académie · Calculer les termes d'une suite et un algorithme de seuil · Algorithmique et programmation en Python