Cet exercice est issu des annales officielles du Baccalauréat Spécialité Mathématiques (Terminale générale), session Polynésie J1 Septembre 2022. Il couvre 4 thèmes : Dérivation et étude de fonctions, Limites de fonctions, Python…. L'énoncé est accompagné d'indices progressifs pour guider la réflexion sans donner la réponse, et d'un corrigé détaillé.
Soit $k$ un nombre réel.
On considère la suite $(u_n)$ définie par son premier terme $u_0$ et pour tout entier naturel $n$,
$$u_{n+1} = k u_n (1 - u_n).$$
Les deux parties de cet exercice sont indépendantes.
On y étudie deux cas de figure selon les valeurs de $k$.
Partie 1
Dans cette partie, $k = 1{,}9$ et $u_0 = 0{,}1$.
On a donc, pour tout entier naturel $n$, $u_{n+1} = 1{,}9 u_n (1 - u_n)$.
On considère la fonction $f$ définie sur $\left[0\,;\,1\right]$ par $f(x) = 1{,}9x(1-x)$.
a. Étudier les variations de $f$ sur l'intervalle $\left[0\,;\,1\right]$.
b. En déduire que si $x \in \left[0\,;\,1\right]$ alors $f(x) \in \left[0\,;\,1\right]$.
Ci-dessous sont représentés les premiers termes de la suite $(u_n)$ construits à partir de la courbe $\mathscr{C}_f$ de la fonction $f$ et de la droite $D$ d'équation $y = x$.
Conjecturer le sens de variation de la suite $(u_n)$ et sa limite éventuelle.
Construction des premiers termes de la suite $(u_n)$ à partir de $\mathscr{C}_f$ et de la droite $D : y = x$
En utilisant les résultats de la question 1, démontrer par récurrence que pour tout entier naturel $n$ :
$$0 \leqslant u_n \leqslant u_{n+1} \leqslant \frac{1}{2}.$$
En déduire que la suite $(u_n)$ converge.
Déterminer sa limite.
Partie 2
Dans cette partie, $k = \dfrac{1}{2}$ et $u_0 = \dfrac{1}{4}$.
On a donc, pour tout entier naturel $n$, $u_{n+1} = \dfrac{1}{2} u_n (1 - u_n)$ et $u_0 = \dfrac{1}{4}$.
On admet que pour tout entier naturel $n$ : $0 \leqslant u_n \leqslant \left(\dfrac{1}{2}\right)^n$.
Démontrer que la suite $(u_n)$ converge et déterminer sa limite.
On considère la fonction Python `algo(p)` où p désigne un entier naturel non nul :
def algo(p) :
u = 1/4
n = 0
while u > 10**(-p):
u = 1/2*u*(1 - u)
n = n+1
return(n)
Expliquer pourquoi, pour tout entier naturel non nul p, la boucle while ne tourne pas indéfiniment, ce qui permet à la commande `algo(p)` de renvoyer une valeur.