Suites numériques : générer, représenter, étudier les variations
Ce que tu vas apprendre
Comprendre la notation u_n et distinguer indice et terme
Calculer des termes d'une suite définie explicitement ou par récurrence
Modéliser une situation (motif, évolution) par une suite
Représenter une suite par un nuage de points
Étudier le sens de variation d'une suite (signe de u_{n+1} − u_n, fonction associée, quotient)
Calculer des termes et la liste des premiers termes avec Python
Notions cléssuite numérique, terme, indice (rang)définition explicite u_n = f(n)relation de récurrence u_{n+1} = f(u_n)représentation graphiquesuite croissante, décroissante, monotoneboucle for et liste en Python
Ce que tu sais déjà. Une fonction associe à chaque réel x de son ensemble de définition une
image f(x), que l’on peut représenter par une courbe
(Seconde — Généralités sur les fonctions). Tu sais ce
qu’est une fonction croissante ou décroissante
(Seconde — Variations et extremums) et tu sais écrire une
boucle for en Python
(Seconde — Python). Une suite, c’est une
« fonction des entiers » : on ne regarde plus que les valeurs en 0,1,2,3…
1. Notion de suite numérique
Définition. Une suite numériqueu associe à chaque entier naturel n (éventuellement à
partir d’un certain rang) un nombre réel noté un (lire « u indice n »).
n est l’indice (ou le rang) ; un est le terme d’indice n.
La suite elle-même se note u ou (un) ; un est un nombre.
Les termes se suivent : u0, u1, u2, … Le terme qui suit un est un+1, celui qui
le précède est un−1 (pour n⩾1).
Piège classique.un+1 et un+1 n’ont rien à voir :
un+1 est le terme suivant (on change l’indice) ;
un+1 est le terme unaugmenté de 1 (on change la valeur).
Exemple. Si un=n2, alors un+1=(n+1)2=n2+2n+1, alors que un+1=n2+1.
Pour n=3 : u4=16 mais u3+1=10.
Remarque (compter les termes). Si la suite commence à u0, le 10ᵉ terme est u9. Si elle
commence à u1, le 10ᵉ terme est u10. Toujours regarder le premier indice avant de
compter.
Définition. Une suite est définie de façon explicite quand on dispose d’une formule qui
donne directement un en fonction de n : un=f(n), où f est une fonction définie sur
[0;+∞[.
Avantage : on calcule n’importe quel terme directement, sans connaître les précédents.
Exemple.un=n2−3n pour tout entier naturel n.
u0=0, u1=1−3=−2, u2=4−6=−2, u3=9−9=0 et, directement,
u10=100−30=70.
📋 Méthode — Exprimer le terme suivant en fonction de n
On remplace n par l’expression voulue, entre parenthèses, partout dans la formule, puis on
développe.
Définition. Une suite est définie par récurrence quand on donne :
son premier terme (par exemple u0) ;
une relation de récurrence qui permet de calculer chaque terme à partir du précédent :
un+1=f(un) pour tout entier naturel n.
Exemple.u0=5 et, pour tout n∈N, un+1=2un−3.
u1=2×5−3=7, u2=2×7−3=11, u3=2×11−3=19,
u4=35…
Pour obtenir u50, il faut calculer les 49 termes précédents : c’est le travail d’un
programme.
Remarque. La relation peut aussi faire intervenir n : par exemple v0=1 et
vn+1=vn+2n+1. On obtient v1=1+1=2, v2=2+3=5, v3=5+5=10.
Modéliser par une suite. Beaucoup de situations « étape par étape » se décrivent par une
relation de récurrence.
Avec 1 carré il faut 4 allumettes ; chaque carré ajouté en demande 3 de plus : a₁ = 4
et a(n+1) = a(n) + 3.
Exemple (motif). On aligne des carrés faits d’allumettes. On note an le nombre
d’allumettes pour n carrés (n⩾1). Chaque nouveau carré partage un côté avec le
précédent : a1=4 et an+1=an+3 (définition par récurrence). En comptant
autrement — une allumette à gauche, puis 3 par carré — on trouve aussi an=3n+1
(définition explicite). Vérification : a1=4, a2=7, a3=10. ✓
Calculer des termes en Python. Une boucle for répète la relation de récurrence.
def terme(n): """Renvoie u_n pour u_0 = 5 et u_(n+1) = 2*u_n - 3.""" u = 5 for i in range(n): u = 2 * u - 3 return uprint(terme(3)) # affiche 19
Pour obtenir la liste des premiers termes, on ajoute chaque terme calculé à une liste avec
append :
def premiers_termes(n): """Renvoie la liste [u_0, u_1, ..., u_n].""" L = [5] for i in range(n): L.append(2 * L[-1] - 3) # L[-1] est le dernier terme de la liste return Lprint(premiers_termes(5)) # affiche [5, 7, 11, 19, 35, 67]
Définition. Dans un repère, la représentation graphique d’une suite (un) est l’ensemble
des points de coordonnées (n;un). C’est un nuage de points isolés : on ne les relie pas,
car la suite n’est pas définie entre deux entiers.
Les points (n ; uₙ) pour uₙ = n² − 3n : ils sont sur la parabole y = x² − 3x, mais seuls
les points d'abscisse entière appartiennent à la représentation de la suite.
Remarque. Quand un=f(n), les points de la suite sont sur la courbe de f. Mais la courbe de
f contient beaucoup plus de points : ne pas confondre les deux représentations.
Définitions. Soit (un) une suite définie à partir du rang 0.
(un) est croissante si, pour tout entier naturel n, un+1⩾un ;
(un) est décroissante si, pour tout entier naturel n, un+1⩽un ;
(un) est monotone si elle est croissante ou décroissante ;
on parle de suite strictement croissante (décroissante) avec des inégalités strictes.
On peut aussi dire qu’une suite est croissante à partir d’un certain rangn0 si
un+1⩾un pour tout n⩾n0.
Remarque (logique). « Pour tout n » est un quantificateur universel : pour prouver qu’une
suite n’est pas croissante, il suffit d’un contre-exemple, c’est-à-dire un indice n tel
que un+1<un. En revanche, calculer quelques termes croissants ne prouve jamais que la
suite est croissante.
📋 Méthode 1 — Étudier le signe de la différence de deux termes consécutifs
Calculer la différence un+1−un et la simplifier.
Étudier son signe pour tout n (ou à partir d’un rang).
Conclure : si elle est positive, la suite est croissante ; si elle est négative, décroissante.
Exemple :un=n2−3n. On a vu que un+1=n2−n−2, donc
un+1−un=(n2−n−2)−(n2−3n)=2n−2.
Pour n⩾1, 2n−2⩾0 : la suite est croissante à partir du rang 1. (Elle
n’est pas croissante dès le rang 0 : u1=−2<u0=0.)
Exemple (récurrence) :vn+1=vn+2n+1 donne vn+1−vn=2n+1>0 : (vn) est
strictement croissante.
📋 Méthode 2 — Utiliser la fonction associée (suite explicite)
Propriété. Si un=f(n) et si f est croissante (resp. décroissante) sur [0;+∞[,
alors la suite (un) est croissante (resp. décroissante).
Exemple :wn=2−n+11. La fonction x↦x+11 est décroissante sur
[0;+∞[ (c’est la fonction inverse, décalée), donc x↦−x+11 est croissante
et f(x)=2−x+11 aussi : (wn) est croissante.
Attention : la réciproque est fausse. Une suite peut être croissante alors que f ne l’est pas
sur tout [0;+∞[.
📋 Méthode 3 — Comparer le quotient de deux termes consécutifs à 1
Si tous les termes sont strictement positifs, on peut comparer le quotient unun+1
à 1 : s’il est supérieur à 1, la suite est croissante ; s’il est inférieur à 1, elle est
décroissante. Cette méthode est pratique quand un contient une puissance qn.
Exemple :tn=5×0,8n : tn>0 et tntn+1=0,8<1, donc (tn) est
strictement décroissante.
Une boucle while permet de trouver le premier rang à partir duquel une suite dépasse un seuil.
def premier_rang(seuil): """Plus petit n tel que u_n > seuil, pour u_0 = 5 et u_(n+1) = 2*u_n - 3.""" n = 0 u = 5 while u <= seuil: u = 2 * u - 3 n = n + 1 return nprint(premier_rang(1000)) # affiche 9
En effet u8=2×259−3=515 et u9=2×515−3=1027 : le premier terme qui
dépasse 1000 est u9.
Attention. Une telle boucle ne s’arrête que si la suite finit vraiment par dépasser le seuil :
avant de la lancer, il faut s’en assurer (par exemple parce que la suite est croissante et « tend
vers l’infini » — voir le chapitre suivant).