
\begin{enumerate}
\item Un algorithme possible est le suivant :

\begin{center}
\fbox{\begin{minipage}{0.9\linewidth}
\ttfamily
%L est une liste \\
L $\leftarrow$ [5] (liste débutant par le 1er terme de la suite)\\
Pour n allant de 1 à 20:\\
\hspace*{1em}u $\leftarrow$ 0.8*u+7\\
\hspace*{1em}On ajoute à L la valeur u\\
Fin du Pour\\
Afficher L
\end{minipage}}
\end{center}

\item Le programme Python correspondant est:
\begin{python}
L = [5]
u = 5 # 1er terme

for n in range(1,21):
    u = 0.8*u+7
    L.append(u)

print(L)
\end{python}


\begin{attention}
N'oubliez pas que \texttt{range(a,b)} parcourt les entiers de $a$ à $b-1$...
\end{attention}


\item Pour afficher le premier indice $n$ pour lequel $u_n>34,99$, on utilise une boucle \og Tant que \fg.

\begin{center}
\fbox{\begin{minipage}{0.5\linewidth}
\ttfamily
u $\leftarrow$ 5\\
n $\leftarrow$ 0\\
Tant que u $\leqslant$ 34.99:\\
\hspace*{1em}u $\leftarrow$ 0.8*u+7\\
\hspace*{1em}n $\leftarrow$ n+1\\
Fin du Tant que
\end{minipage}}
\end{center}

\begin{attention}
La condition qui vient après \og Tant que \fg{} est toujours le contraire de la condition à remplir. Ici, on veut que $u_n>34,99$ et le contraire de cette condition est \og $u_n\leqslant34,99$ \fg. On doit donc mettre cette condition dans l'algorithme.
\end{attention}

\bigskip

Le programme Python correspondant est:

\begin{python}
u , n = 5 , 0 # u = 5 et n = 0
while u <= 34.99:
    u = 0.8*u + 7
    n = n + 1
print(n)
\end{python}

\bigskip

Il affiche ici la valeur 36, ce qui signifie que $u_{35}\leqslant34,99$ et que $u_{36}>34,99$.
\end{enumerate}

