Bac S 2013 Maths Centres étrangers Exercice 4 Obl

Enoncé

L’objet de cet exercice est l’étude de la suite (u_n) définie par son premier terme u_1 = \dfrac{3}{2} et la relation de récurrence : u_{n+1} = \dfrac{nu_n + 1}{2(n+1)}.

Partie A – Algorithmique et conjectures

Bac S 2013 Maths Centres étrangers Exercice 4 Obl 2013-ce-exo4-1Pour calculer et afficher le terme u_9 de la suite, un élève propose l’algorithme ci-contre.

Il a oublié de compléter deux lignes.

Question 1

Recopier et compléter les deux lignes de l’algorithme où figurent des points de suspension.

Pour répondre à cette question, il faut bien comprendre comment est structuré l’algorithme. Examinons-le donc d’un peu plus près :

Bac S 2013 Maths Centres étrangers Exercice 4 Obl 2013-ce-exo4-2

  1. Ici, deux variables sont effectivement nécessaires :
    • la première variable, u, va contenir les différents termes de la suite. Comme (u_n) est une suite réelle, u va contenir des valeurs réelles : il doit donc être défini comme un réel. Bien sûr, cette variable ne contient qu’un seul terme à la fois. Si un nouveau terme vient remplacer le précédent, ce dernier est « écrasé » et « perdu à jamais » ;
    • la seconde variable, n, va contenir le rang de la suite. Le rang étant un entier naturel, n va contenir des entiers naturels donc il doit être défini comme un entier naturel.
  2. On passe ensuite à l’initialisation des variables qui ont été créées à l’étape 1. La question que l’on doit se poser est la suivante : « Avec quelles valeurs est-ce que je souhaite commencer à dérouler mon algorithme ? ». Ici, le premier terme de la suite est u_1 et il vaut \dfrac{3}{2}. Donc :
    • u doit valoir \dfrac{3}{2}, c’est-à-dire 1,5 ;
    • n doit valoir 1.

    Juste pour voir si vous avez bien compris : si l’énoncé vous avait indiqué que le premier terme de la suite était u_0 = \dfrac{1}{4}, comment auriez-vous initialisé u et n ?

    J’aurais initialisé u à 0,25 et n à  0 !

    Exactement !

    J’ai quand même une question : pourquoi remplaces-tu systématiquement la fraction par sa valeur décimale ?

    Très bonne question ! C’est parce qu’un algorithme est généralement destiné à être implémenté dans un appareil électronique de type ordinateur, téléphone portable etc. et que ces derniers ne savent pas ce qu’est une fraction.

  3. Passons maintenant à la phase de traitement.

    L’idée, c’est de calculer un par un les termes de la suite u_n du rang 2 au rang 9 en écrasant à chaque fois la valeur de la variable u. Les instructions à dérouler pour faire cela sont identiques à chaque rang, c’est pourquoi une boucle « Tant que » est mise en place : elle permet de dérouler plusieurs fois le même ensemble d’instructions.

    Pour savoir comment remplir les instructions incomplètes, vous devez supposer que la valeur de u_n est stockée dans la variable u (car on a dit que u contenait les valeurs de la suite u_n) et vous demander : « A partir du terme u_n, comment est-ce que j’obtiens u_{n+1} ? ».

    Il suffit d’appliquer la relation de récurrence indiquée dans l’énoncé, non ?

    Exactement :
    Bac S 2013 Maths Centres étrangers Exercice 4 Obl 2013-ce-exo4-5
    Or, qui contient la valeur de u_n en bleu et de n en rouge dans l’algorithme ?

    Respectivement u et n.

    Donc, u_{n+1} s’écrit de la façon suivante en fonction des variables :
    Bac S 2013 Maths Centres étrangers Exercice 4 Obl 2013-ce-exo4-6
    D’où, si u contient la valeur du terme de rang n, pour remplacer sa valeur par le terme de rang suivant, il suffit de lui affecter la valeur correspondant à \dfrac{nu + 1}{2(n + 1)}.

    Ainsi, la première instruction à compléter doit l’être de la façon suivante :

    Affecter à u la valeur \dfrac{nu + 1}{2(n + 1)}
    OK ! Et l’instruction qui concerne n alors ?

    En fait, si on ne rajoutait pas d’autre instruction que celle que nous venons de voir dans la boucle « Tant que », n vaudrait toujours 1, serait toujours strictement inférieur à 9, et on ne sortirait jamais de la boucle ! De plus, le calcul des termes de la suite u_n serait faux puisqu’en réalité, à chaque fois que l’on passe au calcul du terme de rang suivant, n doit être augmenté de 1 : on dit dans ce cas que n doit être « incrémenté ».

    Donc, il faut bien penser à incrémenter n dans la boucle « Tant que » :

    Affecter à n la valeur n + 1
    J’ai une dernière petite question : pourquoi est-ce que la condition de sortie de la boucle « Tant que », c’est n ~\textless ~9 et non pas n ~\textless ~10 ? Après tout, c’est justement le terme de rang 9 que je cherche à afficher !

    Très bonne question ! Supposons que la condition de sortie de la boucle soit n ~\textless ~10 comme vous le suggérez. Dans ce cas, la dernière fois où on passe dans la boucle, c’est lorsque n vaut 9, sommes-nous bien d’accord ?

    Oui.

    Or, quand n vaut 1, après passage dans la boucle la première fois, la variable u vaut u_2 puisqu’on y a appliqué la relation de récurrence. Lorsqu’on y passe une deuxième fois, et que n vaut 2, c’est la valeur de u_3 qui est stockée dans la variable u cette fois-ci et ainsi de suite.

    Donc, lorsqu’on passe dans la boucle une dernière fois et que n vaut 9, c’est u_{10} qui est stocké dans u. Et donc, en sortant de la boucle, c’est u_{10} qu’on affiche et non pas u_9 ! Voilà pourquoi la condition de sortie est bien n ~\textless ~9.

  4. L’instruction inscrite dans le bloc « Sortie » sert simplement à afficher le contenu de la variable u, une fois les traitements effectués. C’est elle qui permet d’afficher u_9.

Question 2

Comment faudrait-il modifier cet algorithme pour qu’il calcule et affiche tous les termes de la suite de u_2 jusqu’à u_9 ?

Si vous avez bien compris comment était défini l’algorithme proposé par l’énoncé, vous ne devriez pas avoir trop de difficultés pour répondre à cette question :

Tel qu’il est défini initialement, l’algorithme proposé par l’énoncé n’affiche le contenu de la variable u qu’une fois sorti de la boucle « Tant que ». Ainsi, seul u_9 est affiché.
 
Si l’on souhaite afficher tous les termes de u_2 à u_9, il faut donc inclure l’instruction d’affichage dans la boucle « Tant que », juste après le calcul de u, pour que le contenu de la variable u soit affiché à chaque itération (= chaque passage dans la boucle). Donc le bloc « Traitement » doit être modifié de la façon suivante :
 
Tant que n ~\textless ~9
Affecter à u la valeur \dfrac{nu + 1}{2(n + 1)}
Afficher la variable u
Affecter à n la valeur n + 1
 
Fin Tant que
 
Quant au bloc « Sortie », il serait vide.

Question 3

Avec cet algorithme modifié, on a obtenu les résultats suivants, arrondis au dix-millième :

Bac S 2013 Maths Centres étrangers Exercice 4 Obl 2013-ce-exo4-7

Au vu de ces résultats, conjecturer le sens de variation et la convergence de la suite (u_n).

Lorsque l’on vous demande de conjecturer :

  • le sens de variation : cela signifie « la suite a-t-elle l’air croissante ou décroissante ? »
  • la convergence : cela signifie « quelle semble être sa limite ? »
Au vu des résultats indiqués par l’énoncé, la suite semble :

  • être décroissante ;
  • converger vers 0.
Je sais pas pour toi, mais moi, au vu des résultats, je la vois plutôt converger vers 0,01.

C’est vrai. Si vous avez un doute sur une conjecture, je vous conseille d’attendre d’avoir fait le reste de l’exercice et de mettre la bonne valeur lorsque vous aurez rigoureusement calculé la limite de la suite u_n.


Partie B – Etude mathématique

On définit une suite auxiliaire (v_n) par : pour tout entier n ~\geq~ 1, v_n = nu_n - 1.

Question 1

Montrer que la suite (v_n) est géométrique ; préciser sa raison et son premier terme.

Lorsque l’on demande de prouver qu’une suite est géométrique, il faut tout de suite avoir le réflexe suivant :

Pour montrer que (v_n) est une suite géométrique, il suffit de montrer que \dfrac{v_{n+1}}{v_n} = q, où q est une constante qui ne dépend pas de n.

Calculons donc \dfrac{v_{n+1}}{v_n} :

\dfrac{v_{n+1}}{v_n} = \dfrac{(n + 1)u_{n+1} - 1}{nu_n - 1} = \dfrac{(n + 1)\dfrac{nu_n + 1}{2(n + 1)} - 1}{nu_n - 1} = \dfrac{\dfrac{nu_n + 1}{2} - 1}{nu_n - 1} = \dfrac{\dfrac{nu_n + 1 - 2}{2}}{nu_n - 1} = \dfrac{\dfrac{nu_n - 1}{2}}{nu_n - 1} = \dfrac{nu_n - 1}{2} \times \dfrac{1}{nu_n - 1} = \dfrac{1}{2}
Donc la suite (v_n) est géométrique de raison \dfrac{1}{2} et de premier terme v_1 = 1 \times u_1 - 1 = \dfrac{3}{2} - 1 = \dfrac{1}{2}.

Question 2

En déduire que, pour tout entier naturel n \geq 1, on a : u_n = \dfrac{1 + (0,5)^n}{n}.

Trouver l’expression de u_n juste après qu’une suite (v_n) (arithmétique ou géométrique) ait été introduite est une question classique qu’il faut absolument savoir faire. La démarche à adopter est toujours la même.

\textsuperscript{\textcircled{\tiny{1}}} Exprimer v_n en fonction de n.

Etant donné que la suite (v_n) est, soit arithmétique de raison r, soit géométrique de raison q, il est facile d’en donner une expression en fonction de n. En effet, votre cours vous indique que :

Soit k un entier naturel.

  • Soit (u_n) une suite arithmétique de raison r.
    Pour tout n entier naturel, u_n = u_k + (n-k)r.
  • Soit (v_n) une suite géométrique de raison q.
    Pour tout n entier naturel, v_n = v_k q^{n-k}.

Autrement dit, v_n = v_0 q^n mais on pourrait également écrire v_n = v_1 q^{n-1} ou encore v_n = v_2 q^{n-2} etc. Dans l’immense majorité des cas, il faut exprimer v_n en fonction de son terme initial, ici v_1. Donc on peut écrire :

D’après la question précédente, (v_n) est une suite géométrique de raison \dfrac{1}{2} donc on a v_n = v_1\left(\dfrac{1}{2}\right)^{n - 1} = \dfrac{1}{2}\left(\dfrac{1}{2}\right)^{n - 1} = \left(\dfrac{1}{2}\right)^n.
\textsuperscript{\textcircled{\tiny{2}}} Exprimer u_n en fonction de l’expression de v_n trouvée précédemment.
Puisque v_n = nu_n - 1, alors u_n = \dfrac{v_n + 1}{n} = \dfrac{\left(\dfrac{1}{2}\right)^n + 1}{n} = \dfrac{1 + (0,5)^n}{n}

Question 3

Déterminer la limite de la suite (u_n).

L’expression de (u_n) doit absolument faire penser à la portion de cours suivante :

\lim\limits_{\substack{n \to +\infty}}~q^n =\begin{cases}+\infty ~\text{si q ~\textgreater ~1} \\1 ~\text{si q = 1} \\0 ~\text{si -1 \textless ~q \textless ~1}\end{cases}

Muni de cela, le calcul de la limite de (u_n) devient évident :

-1 ~\textless ~0,5 ~\textless ~1 donc \lim\limits_{\substack{n \to +\infty}}~(0,5)^n = 0 d’où \lim\limits_{\substack{n \to +\infty}}~1 + (0,5)^n = 1
De plus, \lim\limits_{\substack{n \to +\infty}}~n = +\infty d’où, par quotient, \lim\limits_{\substack{n \to +\infty}}~u_n = 0

Question 4

Justifier que, pour tout entier n \geq 1, on a : u_{n+1} - u_n = -\dfrac{1 + (1 + 0,5n)(0,5)^n}{n(n + 1)}.
En déduire le sens de variation de la suite (u_n).

Calculons calmement u_{n+1} - u_n :

u_{n+1} - u_n = \dfrac{1 + (0,5)^{n + 1}}{n + 1} - \dfrac{1 + (0,5)^n}{n}

Réflexe : on met au même dénominateur. En plus, ça tombe bien, ça fera apparaître le dénominateur commun n(n + 1) demandé par l’énoncé :

... = \dfrac{n(1 + (0,5)^{n + 1}) - (n + 1)(1 + (0,5)^n)}{n(n + 1)}

Arrivé ici, rien de particulier n’apparaît. Et quand rien de particulier n’apparaît, on développe et on réduit :

... = \dfrac{n + n(0,5)^{n + 1} - n - n(0,5)^n - 1 - (0,5)^n}{n(n + 1)} = \dfrac{n(0,5)^{n + 1} - n(0,5)^n - 1 - (0,5)^n}{n(n + 1)}

Et là, ça commence à sentir bon, parce qu’à part -1, tous les autres termes du numérateur peuvent être factorisés par -(0,5)^n. Et je dis bien -(0,5)^n et non (0,5)^n car ainsi, les signes « – » devant -1 et -(0,5)^n pourront « sortir » de la fraction et se mettre devant… comme demandé par l’énoncé !

... = \dfrac{-1 - (0,5)^n(-0,5n + n + 1)}{n(n + 1)} = \dfrac{-1 - (0,5)^n(1 + 0,5n)}{n(n + 1)} = -\dfrac{1 + (1 + 0,5n)(0,5)^n}{n(n + 1)}

Avec un tel résultat, déterminer le sens de variation de la suite (u_n) devient aisé :

Pour tout n \geq 1, \dfrac{1 + (1 + 0,5n)(0,5)^n}{n(n + 1)} ~\textgreater ~0 comme quotient de termes strictement positifs.

Donc u_{n + 1} - u_n ~\textless ~0 d’où la suite (u_n) est strictement décroissante.

Partie C – Retour à l’algorithmique

En s’inspirant de la partie A, écrire un algorithme permettant de déterminer et d’afficher le plus petit entier n tel que u_n ~\textless ~0,001.

Pour déterminer cet entier n, il n’y a pas de secret : il va falloir calculer tous les termes de la suite (u_n) jusqu’à ce qu’on finisse par tomber sur un terme de la suite qui soit strictement inférieur à 0,001.

Et puisqu’il s’agit de calculer les termes de la suite (u_n), l’algorithme à écrire va présenter beaucoup de similitudes avec celui proposé par l’énoncé à la partie A.

Tout d’abord, les variables à déclarer et leur initialisation ne change pas :

Variables n est un entier naturel
u est un réel
Initialisation Affecter à n la valeur 1
Affecter à u la valeur 1,5

Le bloc « Traitement », lui, doit être modifié. Même si on cherche toujours à calculer les termes de la suite (u_n), et donc que les instructions :

  • Affecter à u la valeur \dfrac{nu + 1}{2(n + 1)}
  • Affecter à n la valeur n + 1

ne changent pas, la condition de sortie de la boucle « Tant que », elle, change.

En effet, on cherche plus à aller seulement jusqu’à u_9. On cherche à déterminer le plus petit entier n tel que u_n soit strictement inférieur à 0,001. Il faut donc exécuter les instructions de la boucle tant que (c’est le cas de le dire ! :p) u n’est pas strictement inférieur à 0,001, c’est-à-dire tant que u est supérieur ou égal à 0,001 :

Traitement Tant que u \geq 0,001

Affecter à u la valeur \dfrac{nu + 1}{2(n + 1)}
Affecter à n la valeur n + 1
 
Fin Tant que

Enfin, le bloc « Sortie » doit changer également puisqu’on ne cherche plus à afficher un terme de la suite mais un rang. Donc, au lieu d’afficher u, il faut afficher n :

Sortie Afficher la variable n

Fin de l’épreuve du Bac S 2013 Maths Centres étrangers Exercice 4 Obl.

Exprimez vous!