\documentclass[a4paper, 11pt]{article}
\usepackage[pythontex,dense]{cp-sujet}
\newcommand{\nomfichier}{[2GT.ALGO07] Boucles}
\author{Pierquet}
\title{\nomfichier}
\hypersetup{pdfauthor={Pierquet},pdftitle={\nomfichier},allbordercolors=white,pdfstartview=FitH}
\fancypagestyle{entetedm}{\fancyhead[L]{\entete{À rendre le ...}}}

\usepackage[french,boxed]{algorithm2e}
\DontPrintSemicolon
\setlength{\algomargin}{0.5cm}
\SetKw{KwTo}{à}
\SetKw{KwFrom}{allant de}

\begin{document}

\pagestyle{fancy}
\lhead{\entete{[ALGO]}}
\chead{\entete{\lycee}}
\rhead{\entete{2GT - Juin 2018}}
\lfoot{\pied{}}
\cfoot{\pied{}}
\rfoot{\pied{}}

\grandtitre{Python - Boucles}

\titrexo{Exercice 1 \hfill{}Évolution d'une population}\strut\lignetitre

\bigskip

Des chercheurs étudient l'évolution de la population de truites dans un lac de montagne. Ils constatent une diminution annuelle moyenne de 20\,\% de cette population. Afin de sauvegarder l'espèce, ils décident d'introduire chaque année 50 nouvelles truites. On estime la population initiale du lac à 100 truites.
\begin{enumerate}
	\item Déterminer le nombre de truites au bout d'un an puis de deux ans.
	\item Compléter l'algorithme Python suivant, en version fonctionnelle, qui permet de calculer et de retourner le nombre de truites au bout de $n$ années :
\begin{scriptpython}
\begin{pyverbatim}[][numbers=left]
from math import *
def truites(n):
	T=.....
	for i in range(n):
		T=.....*.....+.....
	return T
\end{pyverbatim}
\end{scriptpython}
\begin{pyconcode}
from math import *
def truites(n):
	T=100
	for i in range(n):
		T=0.8*T+50
	return T

\end{pyconcode}

\begin{pyconsole}[][framesep=3mm,frame=single,label={[\footnotesize Début de la console]\footnotesize Fin de la console}]
truites(25)
\end{pyconsole}
\end{enumerate}

\titrexo{Exercice 2 \hfill{}Durée d'un placement}\strut\lignetitre

\bigskip

Le 1\up{er} janvier 2015, les parents d'Amine ont placé sur on livret d'épargne une somme de \np{1500}\,\euro{} à un taux d'intérêt de 1,5\,\% par an afin qu'il s'achète un scooter qui coûte \np{1650}\,\euro{}.

L'algorithme suivant détermine l'année où Amine pourra profiter de son scooter.
\begin{center}
	\begin{minipage}{8cm}
		\begin{algorithm}[H]
			S $\leftarrow$ 1~500 \;
			N $\leftarrow$ 2015 \;
			\Tq{$S<1~650$}{
				$S \leftarrow S \times 1,015$ \;
				$N \leftarrow N+1$
			}
		\end{algorithm}
	\end{minipage}
\end{center}
\begin{enumerate}
	\item 
	\begin{enumerate}
		\item Que représentent dans cette situation les variables S et N ?
		\item Expliquer le rôle de l'instruction \og $S \leftarrow S \times 1,015$ \fg{}.
	\end{enumerate}
	\item 
	\begin{enumerate}
		\item On exécute ce programme pas à pas. Compléter le tableau suivant afin de suivre l'évolution des variables :
		\begin{center}
			\begin{tabularx}{\linewidth}{|c|*{8}{Y|}}
				\hline
				S&1~500&1~523&&&&&& \\ \hline
				N&2015&2016&&&&&& \\ \hline
				Condition $S<1~650$&Vraie&Vraie&&&&&& \\ \hline
			\end{tabularx}
		\end{center}
		\item En quelle année Amine pourra-t-il profiter de son scooter ?
	\end{enumerate}
	\item Proposer une version Python de l'algorithme précédent :
\begin{scriptpython}
\begin{pyverbatim}[][numbers=left]
from math import *
def scooter():
	S,N=.....,.....
	while ...........:
		S=.....*.....
		N=.......
	return .....
\end{pyverbatim}
\end{scriptpython}
\end{enumerate}
\end{document}