
Voici un programme satisfaisant la question:

\begin{python}
n, u = 0, 7 # n prend la valeur 0 et u prend la valeur 7
while u >= 4.0001:
    u = 0.5 * u + 2
    n = n + 1
print(n)
\end{python}

On commence par mettre \og 0 \fg{} dans \texttt{n} (premier indice de la suite) et \og 7 \fg{} dans \texttt{u} (premier terme),  puis on calcule les termes successifs en multipliant la valeur stockée dans \texttt{u} par 0,5 et en ajoutant 2, ce qui donne la nouvelle valeur de \texttt{u} (et qui correspond au terme suivant), tout ceci \textit{tant que} la valeur de \texttt{u} est plus grande ou égale au seuil imposé (4,0001) car on souhaite que ces calculs se fassent jusqu'à ce que $u_n < 4,0001$.

Ainsi, quand on sort de la boucle, cela signifie que la condition n'est plus remplie et donc que $u_n<4,0001$, et la valeur de $n$ affichée correspond à l'indice du premier terme terme pour lequel $u_n<4,0001$.

On obtient:
\begin{console}
15
\end{console}
ce qui signifie que $u_{14}\geqslant4,0001$ mais que $u_{15}<4,0001$.
