Aller au contenu

Mathématiques (spécialité) · TerminaleBac

Suites et algorithmes : exercices corrigés de Terminale spécialité

Publié le 6 novembre 2026 · Mis à jour le 6 novembre 2026 · Signaler une erreur

L'essentiel

  • Un algorithme sur une suite calcule les termes un par un avec une boucle : on met à jour le terme courant et le compteur n à chaque tour.
  • Pour un seuil, on utilise une boucle « tant que » : on s'arrête dès que la condition voulue est vérifiée, et on lit n à la sortie.
  • Une suite arithmético-géométrique un+1=aun+bu_{n+1}=au_n+b se ramène à une suite géométrique grâce à vn=un−ℓv_n=u_n-\ell, où ℓ\ell vérifie ℓ=aℓ+b\ell=a\ell+b.
  • Un algorithme permet de conjecturer ; seule une démonstration (récurrence, suite géométrique, convergence monotone) prouve.
  • Toujours vérifier l'algorithme à la main sur les deux ou trois premiers termes avant de l'exécuter.

Comment utiliser ces exercices

Ces exercices mélangent deux gestes que le bac demande souvent ensemble : calculer ou étudier une suite, puis traduire la démarche dans un algorithme écrit en Python. En Terminale, le programme repose sur deux notions centrales, les suites et les fonctions 1, et les capacités attendues en algorithmique sont rappelées à côté de celles du raisonnement 3. Les sujets de bac reprennent cette association : une question de calcul, une question d'algorithme, une question de preuve.

Pour chaque exercice, essaie d'abord seul(e) sur papier. Ouvre un indice seulement si tu es bloqué(e) depuis plusieurs minutes, puis compare avec la correction pas à pas. Si tu disposes d'un ordinateur, recopie les algorithmes dans un éditeur Python : produire la liste des premiers termes d'une suite avec un programme ou un tableur fait partie des activités proposées au lycée 2.

Du calcul à la preuve : ce que fait vraiment un algorithme

Un programme calcule des valeurs particulières. Il ne démontre rien sur tous les entiers nn. Quand un exercice te demande de « conjecturer », tu t'appuies sur l'algorithme ; quand il demande de « démontrer », tu changes d'outil.

Les exercices

Exercice 1 Calculer un terme avec une boucle

★☆☆Environ 8 min

On considère la suite (un)(u_n) définie par u0=3u_0=3 et, pour tout entier naturel nn, un+1=2un−1u_{n+1}=2u_n-1.

  1. Calcule à la main u1u_1, u2u_2 et u3u_3.
  2. On exécute l'algorithme suivant :
u = 3
for k in range(4):
    u = 2*u - 1

Quelle valeur contient u à la fin ? 3. À quel terme de la suite cette valeur correspond-elle ?

Indice 1

Pour la question 2, compte le nombre de tours de boucle et compare-le au rang du terme obtenu.

Indice 2

Remplace nn par 0, puis par 1, puis par 2 dans la relation de récurrence.

Voir la correction pas à pas
  1. Calcul de u1u_1 : u1=2×3−1=5u_1=2\times 3-1=5.

  2. Calcul de u2u_2 : u2=2×5−1=9u_2=2\times 5-1=9.

  3. Calcul de u3u_3 : u3=2×9−1=17u_3=2\times 9-1=17.

  4. Exécution de l'algorithme : la boucle s'exécute 4 fois (k vaut 0, 1, 2, 3). Après le 1er tour u vaut 5, après le 2e tour 9, après le 3e tour 17, après le 4e tour 2×17−1=332\times 17-1=33.

  5. Conclusion : u vaut 33 à la fin, et ce nombre est u4u_4, car on part de u0u_0 et on applique la relation 4 fois.

Le nombre de tours de boucle est égal au rang du terme obtenu : quatre tours à partir de u0u_0 donnent u4=33u_4=33. Les premiers termes calculés à la main (5, 9, 17) servent de test pour l'algorithme.

Exercice 2 Le seuil d'un placement

★☆☆Environ 10 min

Une somme de 5 000 euros est placée à intérêts composés au taux annuel de 4 %. On note unu_n la somme disponible après nn années, avec u0=5000u_0=5000.

  1. Exprime un+1u_{n+1} en fonction de unu_n, puis unu_n en fonction de nn.
  2. Complète l'algorithme pour qu'il renvoie le plus petit nombre d'années nn tel que un>10000u_n>10000 :
u = 5000
n = 0
while ......:
    u = ......
    n = n + 1
  1. Retrouve ce résultat par le calcul, à l'aide du logarithme népérien.
Indice 1

Augmenter de 4 % revient à multiplier par 1,04.

Indice 2

La condition du while est le contraire de ce que tu cherches.

Voir la correction pas à pas
  1. Relation de récurrence : une hausse de 4 % multiplie par 1,041{,}04, donc un+1=1,04 unu_{n+1}=1{,}04\,u_n.

  2. La suite est géométrique de raison 1,041{,}04 et de premier terme 5000, donc un=5000×1,04nu_n=5000\times 1{,}04^n.

  3. Condition de boucle : on cherche un>10000u_n>10000, on boucle donc tant que u <= 10000. Dans la boucle, u = 1.04*u.

  4. Résolution par le calcul : 5000×1,04n>10000  ⟺  1,04n>2  ⟺  nln⁡(1,04)>ln⁡25000\times1{,}04^n>10000 \iff 1{,}04^n>2 \iff n\ln(1{,}04)>\ln 2. Comme ln⁡(1,04)>0\ln(1{,}04)>0, on obtient n>ln⁡2ln⁡1,04≈17,67n>\dfrac{\ln 2}{\ln 1{,}04}\approx 17{,}67.

  5. Le plus petit entier convenable est 18. Contrôle : 1,0417≈1,948<21{,}04^{17}\approx1{,}948<2 et 1,0418≈2,026>21{,}04^{18}\approx2{,}026>2.

Il faut 18 années pour que la somme dépasse 10 000 euros. L'algorithme et l'inéquation donnent le même rang : la boucle le trouve en essayant, le logarithme le justifie.

Exercice 3 Somme des premiers entiers

★☆☆Environ 10 min

On considère l'algorithme suivant :

S = 0
n = 0
while S < 100:
    n = n + 1
    S = S + n
  1. Fais fonctionner l'algorithme à la main pour les premiers tours en recopiant les valeurs de n et S.
  2. Que représente S après nn tours ?
  3. Quelle valeur contient n à la sortie de la boucle ?
Indice 1

Dresse un tableau à trois colonnes : tour, n, S.

Indice 2

La somme des entiers de 1 à nn vaut n(n+1)2\dfrac{n(n+1)}{2}.

Voir la correction pas à pas
  1. Tour 1 : n = 1, S = 1. Tour 2 : n = 2, S = 3. Tour 3 : n = 3, S = 6. Tour 4 : n = 4, S = 10.

  2. Interprétation : après nn tours, S vaut 1+2+⋯+n=n(n+1)21+2+\dots+n=\dfrac{n(n+1)}{2}.

  3. On cherche le plus petit nn tel que n(n+1)2≥100\dfrac{n(n+1)}{2}\ge 100.

  4. Pour n=13n=13 : 13×142=91<100\dfrac{13\times14}{2}=91<100, la boucle continue.

  5. Pour n=14n=14 : 14×152=105≥100\dfrac{14\times15}{2}=105\ge100, la condition S < 100 devient fausse et la boucle s'arrête.

La boucle s'arrête avec n = 14 et S = 105. Remarque que la sortie se fait au premier tour où la somme atteint ou dépasse 100 : S ne vaut pas exactement 100, et n correspond au dernier entier ajouté.

Exercice 4 Une suite qui se stabilise

★★☆Environ 15 min

On considère la suite (un)(u_n) définie par u0=20u_0=20 et un+1=12un+3u_{n+1}=\dfrac12u_n+3.

  1. Soit vn=un−6v_n=u_n-6. Montre que (vn)(v_n) est géométrique, puis exprime unu_n en fonction de nn.
  2. Détermine la limite de (un)(u_n).
  3. Écris un algorithme qui renvoie le plus petit entier nn tel que ∣un−6∣<0,01|u_n-6|<0{,}01, puis donne la valeur de nn.
Indice 1

Calcule vn+1=un+1−6v_{n+1}=u_{n+1}-6 et remplace un+1u_{n+1} par son expression.

Indice 2

Pour la question 3, résous 14(12)n<0,0114\left(\dfrac12\right)^n<0{,}01 avec les puissances de 2.

Voir la correction pas à pas
  1. Pour tout nn : vn+1=un+1−6=12un+3−6=12un−3=12(un−6)=12vnv_{n+1}=u_{n+1}-6=\dfrac12u_n+3-6=\dfrac12u_n-3=\dfrac12(u_n-6)=\dfrac12v_n.

  2. La suite (vn)(v_n) est géométrique de raison 12\dfrac12 et de premier terme v0=20−6=14v_0=20-6=14. Donc vn=14(12)nv_n=14\left(\dfrac12\right)^n et un=6+14(12)nu_n=6+14\left(\dfrac12\right)^n.

  3. Limite : comme 0<12<10<\dfrac12<1, (12)n→0\left(\dfrac12\right)^n\to0, donc un→6u_n\to6.

  4. Algorithme :

    u = 20
    n = 0
    while abs(u - 6) >= 0.01:
        u = u/2 + 3
        n = n + 1
    

    À la sortie, n est le plus petit rang tel que ∣un−6∣<0,01|u_n-6|<0{,}01.

  5. Résolution : 14(12)n<0,01  ⟺  2n>140014\left(\dfrac12\right)^n<0{,}01 \iff 2^n>1400. Or 210=1024<14002^{10}=1024<1400 et 211=2048>14002^{11}=2048>1400, donc n=11n=11.

  6. Contrôle : u10=6+141024≈6,0137u_{10}=6+\dfrac{14}{1024}\approx6{,}0137 (écart trop grand) et u11=6+142048≈6,0068u_{11}=6+\dfrac{14}{2048}\approx6{,}0068 (écart inférieur à 0,01).

La suite tend vers 6 et il faut attendre le rang 11 pour être à moins de 0,01 de sa limite. Le passage par vnv_n donne la formule explicite, qui rend la condition du seuil facile à résoudre.

Exercice 5 Conjecturer puis démontrer par récurrence

★★☆Environ 15 min

On définit la suite (un)(u_n) par u0=0u_0=0 et un+1=un+2n+1u_{n+1}=u_n+2n+1.

  1. Calcule u1u_1, u2u_2, u3u_3 et u4u_4, puis conjecture une expression de unu_n en fonction de nn.
  2. Démontre cette conjecture par récurrence.
  3. Déduis-en u20u_{20}.
Indice 1

Regarde les nombres obtenus : 0, 1, 4, 9... Quelle famille de nombres reconnais-tu ?

Indice 2

Dans l'hérédité, remplace unu_n par l'expression supposée vraie et factorise.

Voir la correction pas à pas
  1. Calculs : u1=0+1=1u_1=0+1=1, u2=1+3=4u_2=1+3=4, u3=4+5=9u_3=4+5=9, u4=9+7=16u_4=9+7=16.

  2. Conjecture : ce sont les carrés des entiers, donc un=n2u_n=n^2.

  3. Initialisation : pour n=0n=0, u0=0=02u_0=0=0^2, la propriété est vraie.

  4. Hérédité : on suppose que un=n2u_n=n^2 pour un entier nn fixé. Alors un+1=un+2n+1=n2+2n+1=(n+1)2u_{n+1}=u_n+2n+1=n^2+2n+1=(n+1)^2. La propriété est donc vraie au rang n+1n+1.

  5. Conclusion : la propriété est vraie au rang 0 et héréditaire, donc un=n2u_n=n^2 pour tout entier naturel nn.

  6. Application : u20=202=400u_{20}=20^2=400. On peut le vérifier avec un algorithme qui additionne les termes 2k+12k+1 pour kk de 0 à 19.

L'algorithme ou le calcul à la main sert à conjecturer, la récurrence sert à prouver. Ici, u20u_{20} est la somme des 20 premiers nombres impairs, qui vaut 400.

Exercice 6 Retraits réguliers sur un compte

★★☆Environ 20 min

Un compte est ouvert avec 1 000 euros. Chaque année, il rapporte 3 % d'intérêts, puis on retire 50 euros. On note unu_n le capital après nn années, avec u0=1000u_0=1000.

  1. Justifie que un+1=1,03 un−50u_{n+1}=1{,}03\,u_n-50.
  2. Montre que la suite (vn)(v_n) définie par vn=un−50003v_n=u_n-\dfrac{5000}{3} est géométrique, et exprime unu_n en fonction de nn.
  3. Le compte est-il toujours créditeur ? Détermine le premier rang nn pour lequel un<0u_n<0.
  4. Écris l'algorithme correspondant.
Indice 1

Cherche ℓ\ell tel que ℓ=1,03 ℓ−50\ell=1{,}03\,\ell-50.

Indice 2

Tu dois obtenir une inéquation du type 1,03n>2,51{,}03^n>2{,}5.

Voir la correction pas à pas
  1. Une augmentation de 3 % multiplie par 1,03, puis on retranche 50 : un+1=1,03 un−50u_{n+1}=1{,}03\,u_n-50.

  2. Point fixe : ℓ=1,03 ℓ−50  ⟺  0,03 ℓ=50  ⟺  ℓ=50003\ell=1{,}03\,\ell-50 \iff 0{,}03\,\ell=50 \iff \ell=\dfrac{5000}{3}.

  3. Pour vn=un−50003v_n=u_n-\dfrac{5000}{3} : vn+1=1,03 un−50−50003=1,03(un−50003)=1,03 vnv_{n+1}=1{,}03\,u_n-50-\dfrac{5000}{3}=1{,}03\left(u_n-\dfrac{5000}{3}\right)=1{,}03\,v_n. La suite (vn)(v_n) est géométrique de raison 1,031{,}03 et v0=1000−50003=−20003v_0=1000-\dfrac{5000}{3}=-\dfrac{2000}{3}.

  4. On en déduit un=50003−20003×1,03nu_n=\dfrac{5000}{3}-\dfrac{2000}{3}\times1{,}03^n.

  5. Signe : un<0  ⟺  20003×1,03n>50003  ⟺  1,03n>2,5  ⟺  n>ln⁡2,5ln⁡1,03≈30,998u_n<0 \iff \dfrac{2000}{3}\times1{,}03^n>\dfrac{5000}{3} \iff 1{,}03^n>2{,}5 \iff n>\dfrac{\ln 2{,}5}{\ln 1{,}03}\approx30{,}998.

  6. Le plus petit entier est n=31n=31. Contrôle : 1,0330≈2,4273<2,51{,}03^{30}\approx2{,}4273<2{,}5 et 1,0331≈2,5001>2,51{,}03^{31}\approx2{,}5001>2{,}5 (de justesse).

  7. Algorithme :

    u = 1000
    n = 0
    while u >= 0:
        u = 1.03*u - 50
        n = n + 1
    

    À la sortie, n vaut 31.

Le capital, qui décroît ici car les retraits dépassent les intérêts, devient négatif à la 31e année. La valeur 50003\dfrac{5000}{3} n'est pas une limite : comme u0<50003u_0<\dfrac{5000}{3} et que la raison est supérieure à 1, la suite s'éloigne de cette valeur au lieu de s'en approcher.

Exercice 7 Une suite définie par une racine carrée

★★★Environ 25 min

On considère la suite (un)(u_n) définie par u0=0u_0=0 et un+1=2+unu_{n+1}=\sqrt{2+u_n}.

  1. Démontre par récurrence que, pour tout nn, 0≤un≤un+1≤20\le u_n\le u_{n+1}\le 2.
  2. Justifie que la suite converge, puis détermine sa limite ℓ\ell.
  3. Écris un algorithme qui renvoie le plus petit rang nn tel que 2−un<0,0012-u_n<0{,}001, et donne cette valeur.
Indice 1

Comme la fonction racine carrée est croissante, une inégalité entre deux termes se transmet à leurs images.

Indice 2

La limite vérifie ℓ=2+ℓ\ell=\sqrt{2+\ell} avec ℓ≥0\ell\ge0 : élève au carré.

Voir la correction pas à pas
  1. Initialisation : u0=0u_0=0 et u1=2≈1,414u_1=\sqrt2\approx1{,}414, donc 0≤u0≤u1≤20\le u_0\le u_1\le2.

  2. Hérédité : on suppose 0≤un≤un+1≤20\le u_n\le u_{n+1}\le2. En ajoutant 2, 2≤2+un≤2+un+1≤42\le2+u_n\le2+u_{n+1}\le4. La racine carrée étant croissante, 2≤un+1≤un+2≤2\sqrt2\le u_{n+1}\le u_{n+2}\le2, ce qui entraîne 0≤un+1≤un+2≤20\le u_{n+1}\le u_{n+2}\le2.

  3. La suite est croissante et majorée par 2 : d'après le théorème de convergence monotone, elle converge vers une limite ℓ≤2\ell\le2.

  4. Limite : en passant à la limite dans un+1=2+unu_{n+1}=\sqrt{2+u_n} (fonction continue), ℓ=2+ℓ\ell=\sqrt{2+\ell}, donc ℓ2=ℓ+2\ell^2=\ell+2, soit ℓ2−ℓ−2=0\ell^2-\ell-2=0. Les racines sont −1-1 et 22. Comme ℓ≥0\ell\ge0, on a ℓ=2\ell=2.

  5. Algorithme :

    from math import sqrt
    u = 0
    n = 0
    while 2 - u >= 0.001:
        u = sqrt(2 + u)
        n = n + 1
    
  6. Valeurs : u1≈1,4142u_1\approx1{,}4142, u2≈1,8478u_2\approx1{,}8478, u3≈1,9616u_3\approx1{,}9616, u4≈1,9904u_4\approx1{,}9904, u5≈1,99759u_5\approx1{,}99759, u6≈1,99940u_6\approx1{,}99940. On a 2−u5≈0,00242-u_5\approx0{,}0024 (trop grand) et 2−u6≈0,0006<0,0012-u_6\approx0{,}0006<0{,}001.

  7. Le rang cherché est donc n=6n=6.

La suite converge vers 2 : le théorème de convergence monotone garantit l'existence de la limite, l'équation ℓ=2+ℓ\ell=\sqrt{2+\ell} la détermine, et l'algorithme donne la vitesse d'approche, ici un écart inférieur à 0,0010{,}001 dès le rang 6. Attention à ne pas oublier d'éliminer la racine négative −1-1.

Exercice 8 Approcher $\sqrt2$ par une suite

★★★Environ 25 min

On définit la suite (un)(u_n) par u0=2u_0=2 et un+1=un2+1unu_{n+1}=\dfrac{u_n}{2}+\dfrac{1}{u_n}.

  1. Calcule u1u_1 et u2u_2 sous forme de fractions.
  2. Montre que, pour tout nn tel que un>0u_n>0, on a un+1≥2u_{n+1}\ge\sqrt2. Indice : étudie un+1−2u_{n+1}-\sqrt2 en le factorisant.
  3. Écris un algorithme qui renvoie le plus petit entier nn tel que un−2<10−6u_n-\sqrt2<10^{-6} et donne cette valeur.
Indice 1

Écris un+1−2=un2−22 un+22unu_{n+1}-\sqrt2=\dfrac{u_n^2-2\sqrt2\,u_n+2}{2u_n} et reconnais une identité remarquable.

Indice 2

Pour l'algorithme, importe sqrt depuis le module math, et compare u - sqrt(2) au seuil.

Voir la correction pas à pas
  1. Calculs : u1=22+12=32u_1=\dfrac22+\dfrac12=\dfrac32, puis u2=34+23=9+812=1712u_2=\dfrac34+\dfrac23=\dfrac{9+8}{12}=\dfrac{17}{12}.

  2. Pour un>0u_n>0 : un+1−2=un2+1un−2=un2+2−22 un2un=(un−2)22unu_{n+1}-\sqrt2=\dfrac{u_n}{2}+\dfrac1{u_n}-\sqrt2=\dfrac{u_n^2+2-2\sqrt2\,u_n}{2u_n}=\dfrac{(u_n-\sqrt2)^2}{2u_n}.

  3. Ce quotient est positif ou nul (carré divisé par un nombre strictement positif), donc un+1≥2u_{n+1}\ge\sqrt2. Comme u0=2>0u_0=2>0 et que un+1u_{n+1} est somme de deux termes strictement positifs dès que un>0u_n>0, une récurrence immédiate montre que tous les termes sont strictement positifs.

  4. Les termes à partir de u1u_1 sont tous supérieurs ou égaux à 2\sqrt2 ; on compare donc unu_n à 2\sqrt2 sans valeur absolue.

  5. Algorithme :

    from math import sqrt
    u = 2
    n = 0
    while u - sqrt(2) >= 1e-6:
        u = u/2 + 1/u
        n = n + 1
    
  6. Valeurs : u0=2u_0=2, u1=1,5u_1=1{,}5, u2≈1,416667u_2\approx1{,}416667, u3=577408≈1,4142157u_3=\dfrac{577}{408}\approx1{,}4142157, u4≈1,4142136u_4\approx1{,}4142136.

  7. Écarts : u3−2≈2,1×10−6u_3-\sqrt2\approx2{,}1\times10^{-6} (supérieur à 10−610^{-6}) et u4−2≈1,6×10−12u_4-\sqrt2\approx1{,}6\times10^{-12} (inférieur). Donc n=4n=4.

Le rang cherché est 4. Remarque la vitesse : l'écart passe de 2×10−62\times10^{-6} à 10−1210^{-12} en un seul pas, car il est à peu près élevé au carré à chaque étape, d'après la formule un+1−2=(un−2)22unu_{n+1}-\sqrt2=\dfrac{(u_n-\sqrt2)^2}{2u_n}. C'est ce qui rend ce procédé très efficace.

Les questions qu'on se pose

Quelle différence entre une boucle « for » et une boucle « while » pour une suite ?

On utilise for quand on connaît le nombre de tours à l'avance, par exemple pour calculer u20u_{20} : la boucle s'exécute 20 fois. On utilise while quand on cherche un seuil : on ne sait pas combien de tours seront nécessaires, on s'arrête quand une condition est atteinte. Dans une boucle while, pense toujours à faire évoluer la variable testée et le compteur n, sinon la boucle ne s'arrête jamais.

Que faire si mon algorithme renvoie un rang décalé d'une unité ?

Teste-le sur un petit cas calculé à la main. Un décalage vient presque toujours d'une des trois causes suivantes : range(N) donne uNu_N et pas uN+1u_{N+1} ; le compteur n est incrémenté avant ou après la mise à jour de u, ce qui change le rang associé ; la condition du while est une inégalité stricte alors qu'il aurait fallu une inégalité large. Vérifie ces trois points sur u0u_0, u1u_1 et u2u_2.

Un algorithme suffit-il pour démontrer qu'une suite converge ou qu'une formule est vraie ?

Non. Un programme ne calcule qu'un nombre fini de termes : il permet de conjecturer ou d'estimer un rang, mais pas de prouver une propriété valable pour tous les entiers. Pour démontrer, on utilise le raisonnement par récurrence, les suites géométriques, le théorème de convergence monotone ou les théorèmes de comparaison. Au bac, une question « conjecturer » s'appuie sur l'algorithme, une question « démontrer » demande un raisonnement rédigé.

Sources

  1. Document Éduscol — Ressources d'accompagnement (Terminale), Éduscol. Consulté le 6 novembre 2026.
  2. Diaporama algorithmique — Lycée, Académie de Strasbourg. Consulté le 6 novembre 2026.
  3. Ressources IREM — Suites et algorithmes, IREM de Limoges. Consulté le 6 novembre 2026.
  4. Algorithme, Wikipédia. Consulté le 6 novembre 2026.
  5. Algorithmique, Wikipédia. Consulté le 6 novembre 2026.

Les numéros dans le texte renvoient à ces sources. Une source qui ne dit pas ce qu'on lui fait dire ? Signale-le.

Signaler une erreur sur cette page

Je suis en…

Primaire

  • CP Bientôt
  • CE1 Bientôt
  • CE2 Bientôt
  • CM1 Bientôt
  • CM2 Bientôt

Collège

Lycée

Supérieur

  • BTS Bientôt
  • BUT Bientôt
  • Licence Bientôt
  • Prépas Bientôt

Sur cette page