\documentclass[a4paper,11pt,french]{article}
\linespread{1}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Définitions de la feuille d'exercices

\newcommand{\typedoc}{R\'evisions}          %%%%%%%%%%%%%%% 1ere ligne du titre de la feuille
\newcommand{\Ch}{Algorithmes}		   %%%%%%%%%%%%%%%% 2eme ligne et en haut à droite après	
\newcommand{\ch}{R\'evisions}               %%%%%%%%%%%%%%% En haut à gauche (numero chapitre)
\newcommand{\Cl}{207}
\newcommand{\Annee}{2013-2014}

\newcommand{\serie}{Scientifique}
\newcommand{\num}{0}	
\newcommand{\tps}{2h}	



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%		Packages
%\usepackage[french,lined,boxed,commentsnumbered]{algorithm2e}

\input macro_final.tex
\geometry{verbose,letterpaper,tmargin=1.8cm,bmargin=1.8cm,lmargin=1.5cm,rmargin=1.5cm}
\renewcommand{\arraystretch}{1.2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%	Début
\begin{document}


\DocCha

\begin{ExoF}\hfill \textbf{Appliquer un algorithme}\\ %Fct
\begin{minipage}{11cm}
 \partieBac{Trace d'algorithme}
 Compléter la trace de l'algorithme ci-contre, obtenue avec l'entrée $x=3$
 \begin{center}
  \begin{tabular}{*{4}{|>{\centering}m{2cm}}|}\hline
   Rang & Instructions & $a$ & $b$ \tabularnewline\hline
   1 & $a \longleftarrow x+1$ & & \tabularnewline\hline
   2 & $b \longleftarrow a^2-4$ & & \tabularnewline\hline
  \end{tabular}
 \end{center}
 Que renvoit l'algorithme ?\\\\
 \partieBac{QCM}
 \end{minipage}\quad
 \begin{minipage}{7cm}
  \Algo{7cm}{
  \Entree{$x$ est un nombre réel
}
\Variable{
$x$, $a$ et $b$ sont des nombres réels
}
\Deb{
1. \quad  $a $ reçoit la valeur $ x+2 $\\
2. \quad $b $ reçoit la valeur $ a^2 - 4 $ \\
3. \quad Renvoyer $b$
}
}
 \end{minipage}\\
Donner \textbf{toutes} les bonnes réponses.
\begin{enumerate}
 \item Le nombre obtenu avec l'entrée $-2$ est :
\begin{multicols}{3}
 \begin{enumerate}
  \item $0$ \item $-4$ \item $12$
 \end{enumerate}
\end{multicols}
 \item Le nombre obtenu avec l'entrée $1$ est :
\begin{multicols}{3}
 \begin{enumerate}
  \item $5$ \item $2$ \item $13$
 \end{enumerate}
\end{multicols}
 \item Si on veut obtenir $0$, on peut entrer :
\begin{multicols}{3}
 \begin{enumerate}
  \item $0$ \item $-2$ \item $-4$
 \end{enumerate}
\end{multicols}
 \item Si on veut obtenir $-4$, on peut entrer :
\begin{multicols}{3}
 \begin{enumerate}
  \item $0$ \item $2$ \item $-2$
 \end{enumerate}
\end{multicols}
 \item Une expression algébrique de la fonction $f$ définie pour tout réel $x$ par cet algorithme est  :
\begin{multicols}{3}
 \begin{enumerate}
  \item $f(x)=x^2-2$ \item $f(x)=(x+2)^2-4$ \item $f(x)=x^2+4x$
 \end{enumerate}
\end{multicols}
\end{enumerate}
\end{ExoF}

\begin{ExoF}\hfill \textbf{Comprendre un algorithme}\\ %Fct
 On considère l'algorithme ci-dessous, écrit dans un langage \og naturel \fg.\\
 \begin{minipage}{6.cm}
  \Algo[Un calcul]{6.cm}{
     \Entree{$x$ est un nombre réel
}
\Variable{
$y$ est un nombre réel
}
\Deb{
1. \quad  $y :=x+1$\\
2. \quad $y :=4\times y$ \\
3. \quad Le résultat est $y$
}
  }
\end{minipage}
\begin{minipage}{13cm}
 \begin{enumerate}
  \item Compléter la trace d'exécution de cet algorithme avec l'entrée $x=3$, puis $x=-1$ puis $x=-3$.
\\
\begin{tabular}{|c|c*{6}{|>{\centering}p{1cm}}|}\cline{3-6}
  \multicolumn{2}{c|}{} & \multicolumn{2}{c|}{\cellcolor{gray!30}{$x=3$}} & \multicolumn{2}{c|}{\cellcolor{gray!30}{$x=-1$}} & \multicolumn{2}{c|}{\cellcolor{gray!30}{$x=-3$}} \tabularnewline\hline
  Rang & Instruction & $x$ & $y$ & $x$ & $y$ & $x$ & $y$ \tabularnewline\hline
  1 &  & & & & & & \tabularnewline\hline
  2 &  & & & & & & \tabularnewline\hline
  \multicolumn{2}{|c|}{Le résultat est : } & \multicolumn{2}{c|}{} & \multicolumn{2}{c|}{} & \multicolumn{2}{c|}{}\tabularnewline\hline 
\end{tabular}            
%\end{center}
\item %Exprimer le résultat obtenu par l'algorithme en fonction du nombre $x$ entré.
Déterminer une expression algébrique de la fonction $f$ qui à tout nombre réel $x$ entré associe le résultat de l'algorithme.
 \end{enumerate}
\end{minipage}
\end{ExoF}

\begin{ExoF} \hfill \textbf{Calcul de Volumes}\\ % géom 3D
\begin{minipage}{9cm}
 On a écrit l'algorithme ci-contre à l'aide du logiciel Algobox. 
 \begin{enumerate}
\item Que fait cet algorithme ?
\item Quelles sont les variables en entrée ? en sortie ?
\item En s'inspirant de l'exercice précédent, écrire un algorithme affichant :
\begin{enumerate}
\item Le volume $V$ d'une boule lorsque l'on saisit son rayon $R$ ;
\item L'aire latérale totale $A$ d'un cylindre lorsque l'on saisit le rayon $R$ du disque de base et la hauteur $H$.
\end{enumerate}
\end{enumerate}
\end{minipage}\qquad
\begin{minipage}{9cm}
 \begin{cadrecode}
\begin{small}
\begin{verbatim}
1   VARIABLES
2     Rayon EST_DU_TYPE NOMBRE
3     Hauteur EST_DU_TYPE NOMBRE
4     Volume EST_DU_TYPE NOMBRE
5   DEBUT_ALGORITHME
6     AFFICHER "Entrer le rayon"
7     LIRE Rayon
8     AFFICHER "Entrer la hauteur"
9     LIRE Hauteur
10    Volume PREND_LA_VALEUR 
                 Math.PI*pow(Rayon,2)*Hauteur/3
11    AFFICHER "Le Volume est égal à "
12    AFFICHER Volume
13  FIN_ALGORITHME
\end{verbatim}
\end{small}
\end{cadrecode}
\end{minipage}
\end{ExoF}

\begin{ExoF} \hfill \textbf{Ecrire un algorithme et le programmer} \\ % Pourcentage
 Dans certains magasins, en période de soldes, le prix figurant sur un article correspond au prix sans la remise et une 
 étiquette précise  $-20\%$, $-30\%$, $\dots$
 \begin{enumerate}
  \item \begin{enumerate}
         \item Déterminer le montant de la remise et le prix à payer pour un article de $130\euro$ avec une remise de $15\%$.
  \item Même question avec un article à $55 \euro$ et une remise de $30\%$.
          \end{enumerate}
\item 
\begin{enumerate}
 \item En vous inspirant de la rédaction des exercices 1 et 2, écrire un algorithme 
qui calcule automatiquement et affiche le Montant $M$ de la remise et le Nouveau prix $N$ d'un article, 
en fonction du Prix initial $P$ et du pourcentage de Remise $R$.
 \item Le programmer sur la calculatrice et/ou Algobox.
\end{enumerate}
\end{enumerate}

\end{ExoF}

\begin{ExoF} \hfill \textbf{Si ... Alors ... Sinon}\\ %Fct ?
 \begin{minipage}{10cm}
 Un magasin de reprographie applique le tarif suivant :
 \begin{itemize}
  \item $0.15\euro$ l'unité jusqu'à 50 photocopies
  \item $0.10\euro$ \textbf{l'unité au-delà}.
 \end{itemize}
\begin{enumerate}
 \item Calculer le montant à payer pour $10$ ; $50$ puis $100$ photocopies.
 \item Compléter l'algorithme ci-contre, qui automatise ce calcul pour $N$ photocopies 
 et renvoie le prix à payer $P$.
 \item Le programmer sur la calculatrice  et/ou Algobox.
 \item Modifier l'algorithme ci-contre pour que l'utilisateur choisisse les prix des photocopies 
 $P$ et $Q$ en fonction d'un nombre de photocopies $M$ dépassé ou non.\\
 \textit{Ici on avait \, $P=0.15$ , \,$Q=0.10$ \, et \, $M=50$.}
\end{enumerate} 
 \end{minipage}\quad
 \begin{minipage}{8cm}
 \Algo{7.5cm}{
 \Entree{}
 \Variable{}
 \Deb{\IfThenElse{\qquad\qquad}{}{}
 Renvoyer 
 }
 }
 \end{minipage}

 \end{ExoF}


\begin{ExoF} \hfill \textbf{Instructions conditionnelles Imbriquées}\\ %Fct
Un consommateur a la possibilité de choisir entre deux formules de location d'un studio pour ses vacances :
\begin{itemize}
 \item Formule A : location fixe de $250\euro + 10 \euro$ de charges par jour 
 \item Formule B : location fixe de $300\euro + 5  \euro$ de charges par jour.
\end{itemize}
\begin{enumerate}
 \item Quelle est la formule la plus avantageuse pour une location d'une semaine ? de 12 jours ?
 \item Pour chaque formule, exprimer le montant à régler en fonction du nombre $N$ de jours de location.
 \item D'une façon plus générale, le consommateur souhaite connaître la formule la plus avantageuse en fonction du 
nombre de jours de location.\\
On lui propose les algorithmes suivants.
Quel(s) est (sont) le(s) algorithme(s) correct(s) ?
\end{enumerate}
\begin{multicols}{3}
 \Algo{6.2cm}{
  \Entree{$N$ est un entier naturel
 }
\Variable{
$A$ et $B$ sont des nombres réels}
\Deb{
$A $ reçoit la valeur $ 250 + 10 N$ \\
$B $ reçoit la valeur $ 300+5N$\\
\IfThenElse{$A<B$}{Afficher \og La formule B est la plus avantageuse et coûte \fg , $B$ }
{\IfThenElse{$A=B$}{Afficher \og Les formules A et B sont équivalentes et coûtent \fg , $A$}
{Afficher \og La formule A est la plus avantageuse et coûte \fg, $A$  }}
}
}
 \Algo{6.2cm}{
  \Entree{$N$ est un entier naturel
 }
\Variable{
$A$ et $B$ sont des nombres réels}
\Deb{
$A \leftarrow 250 + 10 N$ \\
$B \leftarrow 300+5N$\\
\IfThenElse{$A<B$}{Afficher \og La formule A est la plus avantageuse et coûte \fg , $A$ }
{\IfThenElse{$A=B$}{Afficher \og Les formules A et B sont équivalentes et coûtent \fg , $A$}
{Afficher \og La formule B est la plus avantageuse et coûte \fg, $B$  }}
}
}
 \Algo{6.2cm}{
  \Entree{$N$ est un entier naturel
 }
\Variable{
 $D$ est un nombre réel}
\Deb{
$D := 5N-50$ \\
\IfThenElse{$D>0$}{Afficher \og La formule B est la plus avantageuse \fg}
{\IfThenElse{$D=0$}{Afficher \og Les formules A et B sont équivalentes\fg}
{Afficher \og La formule A est la plus avantageuse \fg  }}
}
}
\end{multicols}
\end{ExoF}
 
 
\setcounter{partieBac}{0}
\begin{ExoF} \hfill \textbf{Boucle Pour}\\ %Géom 2D ou repérage
\begin{enumerate}
\item Exécuter l'algorithme suivant sur le graphique ci-contre.\\
\begin{minipage}{9cm}
\Algo{7.5cm}{
  Se placer en $O$.\\
  \For{$i$ allant de 1 à 5}{
  Avancer de $i$ cases \\
  Tourner de $90^{\circ}$ vers la droite\\
  Avancer de $i$ cases
 }
}
  \end{minipage}
\qquad
\begin{minipage}{8cm}
\begin{center}
\psset{xunit=0.5cm,yunit=0.5cm}
\begin{pspicture*}(-5.1,-5.1)(5.1,5.1)
\psgrid[subgriddiv=0,gridlabels=0,gridcolor=lightgray](0,0)(-5,-5)(5,5)
\psset{algebraic=true,dotstyle=o,dotsize=5pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
\begin{scriptsize}
\psdots[dotstyle=x,linecolor=blue](0,0)
\rput[bl](-0.5,-0.5){\blue{$O$}}
\end{scriptsize}
\end{pspicture*}
\end{center}
\end{minipage}\\
\item 
Voici 7 réalisations d'élèves correspondant à l'algorithme ci-dessus.\\
Déterminer pour chaque réponse si elle est juste ou fausse et dans ce cas, expliquer l'erreur commise.
\end{enumerate}
 \psset{xunit=0.4cm,yunit=0.4cm}
\begin{pspicture*}(-5.1,-5.1)(5.1,5.1)
\psgrid[subgriddiv=0,gridlabels=0,gridcolor=lightgray](0,0)(-5,-5)(5,5)
\psset{algebraic=true,dotstyle=o,dotsize=5pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
\psline[linewidth=2pt,linecolor=blue](0,0)(0,1)
\psline[linewidth=2pt,linecolor=blue](0,1)(1,1)
\psline[linewidth=2pt,linecolor=blue](1,1)(1,-1)
\psline[linewidth=2pt,linecolor=blue](1,-1)(-1,-1)
\psline[linewidth=2pt,linecolor=blue](-1,-1)(-1,2)
\psline[linewidth=2pt,linecolor=blue](-1,2)(2,2)
\psline[linewidth=2pt,linecolor=blue](2,2)(2,-2)
\psline[linewidth=2pt,linecolor=blue](2,-2)(-2,-2)
\psline[linewidth=2pt,linecolor=blue](-2,-2)(-2,3)
\psline[linewidth=2pt,linecolor=blue](-2,3)(3,3)
\begin{scriptsize}
\psdots[dotstyle=x,linecolor=darkgray](0,0)
\rput[bl](-0.7,-0.7){\darkgray{$O$}}
\end{scriptsize}
\end{pspicture*}\quad 
\begin{pspicture*}(-5.1,-5.1)(5.1,5.1)
\psgrid[subgriddiv=0,gridlabels=0,gridcolor=lightgray](0,0)(-5,-5)(5,5)
\psset{algebraic=true,dotstyle=o,dotsize=5pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
\psline[linewidth=2pt,linecolor=blue](0,0)(0,5)
\psline[linewidth=2pt,linecolor=blue](0,5)(5,5)
\psline[linewidth=2pt,linecolor=blue](4,4)(0,4)
\psline[linewidth=2pt,linecolor=blue](0,2)(2,2)
\psline[linewidth=2pt,linecolor=blue](1,1)(0,1)
\psline[linewidth=2pt,linecolor=blue](0,3)(3,3)
\begin{scriptsize}
\psdots[dotstyle=x,linecolor=darkgray](0,0)
\rput[bl](-0.7,-0.7){\darkgray{$O$}}
\end{scriptsize}
\end{pspicture*} \quad 
\begin{pspicture*}(-5.1,-5.1)(5.1,5.1)
\psgrid[subgriddiv=0,gridlabels=0,gridcolor=lightgray](0,0)(-5,-5)(5,5)
\psset{algebraic=true,dotstyle=o,dotsize=5pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
\psline[linewidth=2pt,linecolor=blue](-3,4)(4,4)
\psline[linewidth=2pt,linecolor=blue](-3,4)(-3,-1)
\psline[linewidth=2pt,linecolor=blue](4,4)(4,-5)
\psline[linewidth=2pt,linecolor=blue](0,-1)(0,0)
\psline[linewidth=2pt,linecolor=blue](-3,-1)(0,-1)
\psline[linewidth=2pt,linecolor=blue](4,-5)(-1,-5)
\begin{scriptsize}
\psdots[dotstyle=x,linecolor=darkgray](0,0)
\rput[bl](-0.7,-0.7){\darkgray{$O$}}
\end{scriptsize}
\end{pspicture*}
\quad 
\begin{pspicture*}(-5.1,-5.1)(5.1,5.1)
\psgrid[subgriddiv=0,gridlabels=0,gridcolor=lightgray](0,0)(-5,-5)(5,5)
\psset{algebraic=true,dotstyle=o,dotsize=5pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
\psline[linewidth=2pt,linecolor=blue](-4,4)(3,4)
\psline[linewidth=2pt,linecolor=blue](3,4)(3,-1)
\psline[linewidth=2pt,linecolor=blue](-4,4)(-4,-5)
\psline[linewidth=2pt,linecolor=blue](0,-1)(0,0)
\psline[linewidth=2pt,linecolor=blue](3,-1)(0,-1)
\psline[linewidth=2pt,linecolor=blue](-4,-5)(1,-5)
\begin{scriptsize}
\psdots[dotstyle=x,linecolor=darkgray](0,0)
\rput[bl](-0.7,-0.7){\darkgray{$O$}}
\end{scriptsize}
\end{pspicture*}\\
\begin{pspicture*}(-5.1,-5.1)(5.1,5.1)
\psgrid[subgriddiv=0,gridlabels=0,gridcolor=lightgray](0,0)(-5,-5)(5,5)
\psset{algebraic=true,dotstyle=o,dotsize=5pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
\psline[linewidth=2pt,linecolor=blue](-4,4)(5,4)
\psline[linewidth=2pt,linecolor=blue](5,4)(5,-1)
\psline[linewidth=2pt,linecolor=blue](-4,4)(-4,-3)
\psline[linewidth=2pt,linecolor=blue](1,0)(0,0)
\psline[linewidth=2pt,linecolor=blue](1,-3)(1,0)
\psline[linewidth=2pt,linecolor=blue](-4,-3)(1,-3)
\begin{scriptsize}
\psdots[dotstyle=x,linecolor=darkgray](0,0)
\rput[bl](-0.7,-0.7){\darkgray{$O$}}
\end{scriptsize}
\end{pspicture*}
\quad 
\begin{pspicture*}(-5.1,-5.1)(5.1,5.1)
\psgrid[subgriddiv=0,gridlabels=0,gridcolor=lightgray](0,0)(-5,-5)(5,5)
\psset{algebraic=true,dotstyle=o,dotsize=5pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
\psline[linewidth=2pt,linecolor=blue](-2,-2)(-2,3)
\psline[linewidth=2pt,linecolor=blue](-2,-2)(2,-2)
\psline[linewidth=2pt,linecolor=blue](0,1)(0,0)
\psline[linewidth=2pt,linecolor=blue](2,1)(0,1)
\psline[linewidth=2pt,linecolor=blue](2,-2)(2,1)
\begin{scriptsize}
\psdots[dotstyle=x,linecolor=darkgray](0,0)
\rput[bl](-0.7,-0.7){\darkgray{$O$}}
\end{scriptsize}
\end{pspicture*}
\quad 
\begin{pspicture*}(-5.1,-5.1)(5.1,5.1)
\psgrid[subgriddiv=0,gridlabels=0,gridcolor=lightgray](0,0)(-5,-5)(5,5)
\psset{algebraic=true,dotstyle=o,dotsize=5pt 0,linewidth=0.8pt,arrowsize=3pt 2,arrowinset=0.25}
\psline[linewidth=2pt,linecolor=blue](0,-1)(0,0)
\psline[linewidth=2pt,linecolor=blue](0,1)(0,-1)
\psline[linewidth=2pt,linecolor=blue](0,-1)(2,-1)
\psline[linewidth=2pt,linecolor=blue](0,1)(0,0)
\psline[linewidth=2pt,linecolor=blue](2,1)(0,1)
\psline[linewidth=2pt,linecolor=blue](2,-1)(2,1)
\begin{scriptsize}
\psdots[dotstyle=x,linecolor=darkgray](0,0)
\rput[bl](-0.7,-0.7){\darkgray{$O$}}
\end{scriptsize}
\end{pspicture*}
\end{ExoF}


\begin{ExoF}\hfill \textbf{Boucle Pour}\\ %Somme
 \begin{minipage}{10.5cm}
  \begin{enumerate}
   \item Compléter la trace de l'algorithme ci-contre pour $n=5$
     \begin{center}
  \begin{tabular}{|c*{6}{|>{\centering}m{0.8cm}}|}\hline
  % Test & \cellcolor{gray} &&&  & & \tabularnewline\hline
   $S$ &  & &&& &\tabularnewline\hline
   $m$ &  & &&& & \tabularnewline\hline
   compteur & \cellcolor{gray} & & &&&\tabularnewline\hline
  \end{tabular}
 \end{center}
 \item Que fait cet algorithme ?
 \item Modifier cet algorithme afin de ne pas utiliser la variable $m$.
  \end{enumerate}
\end{minipage}
\qquad \begin{minipage}{8cm}
\Algo{8cm}{
 \Entree{$n$ est un entier naturel non nul
 }
 \Variable{$S$, compteur et $m$ sont des entiers naturels
 }
 \Deb{
 $S:=0 $\\ $m:=1$\\
 \For{compteur allant de 1 à $n$}{
 $S:=S+m$\\
 $m:=m+1$
 }\\
 Renvoyer \, $\hdots$
 }
 }
\end{minipage}
\end{ExoF}


\end{document}
