\documentclass[10pt,a4paper]{article}
\usepackage{/media/documents/Cours/Prof/TD_maple/2012_2013/style}

\usepackage{eurosym}
\usepackage{url}

% Title Page
\title{Révision}
\author{}
\date{}


\begin{document}
\maketitle
\thispagestyle{fancy}


\section{Conseils}
\begin{itemize}
    \item Pensez à Sauvegarder!
    \item Commencez par écrire le squelette de ce que vous voulez faire. Complétez ensuite.\\
        \textbf{Exemple} Pour une procédure
        \begin{verbatim}
            > MaProc := proc(LesArguments)

            return(ValeurARetourner);
            end;
        \end{verbatim}
        Pour les boucles
        \begin{verbatim}
            for i from 1 to n do

            od;
        \end{verbatim}
    \item Sauvegardez!
    \item Si vous n'avez pas d'idées pour écrire une procédure, commencez par traiter à la main un cas particulier puis essayez de généraliser.
    \item Sauvegardez!
    \item Donnez des noms de variables compréhensibles et parlant.
    \item Sauvegardez!
\end{itemize}

\section{Examen 2011/2012}
\begin{Exo}(Jour et date)\\
Écrire une procédure \texttt{date} prenant en argument un entier $j$
compris entre $1$ et $365$ et retournant pour résultat un couple
$(n,m)$ représentant le numéro du mois (les mois sont numérotés de $1$
à $12$ par ordre chronologique en commençant en janvier) et la date
dans le mois correspondant au $j$e jour de l'année. Ainsi
\texttt{date(1)} retourne la valeur $(1,1)$ (premier janvier),
\texttt{date(365)} retourne la valeur $(31,12)$ (31 décembre). 

Note~: On se placera uniquement dans le cas d'une année non
bissextile.
\end{Exo}

\begin{Exo}(Algorithme de Babylone)
\begin{align*}
 p_0 & = 1\\
 q_0 & = 1\\
 \forall n\in\N\ p_{n+1} &= p_n^2 + 2 q_n^2\\
 \forall n\in\N\ q_{n+1} &= 2 p_n q_n
\end{align*}

On remarquera que $p$ et $q$ sont à valeurs entières.

\begin{itemize}
    \item Écrire des procédures maple $p$ et $q$ prenant chacune un entier
      $n$ en paramètre et retournant respectivement $p_{n}$ et
      $q_{n}$. Calculez $p_{10}$ et $q_{10}$.
    \item Quelle conjecture peut-on émettre sur la convergence de
      la suite des $\dfrac{p_{n}}{q_{n}}$ pour $n\in\N$~?
    \end{itemize}
    NB~: Pour mémoire $p_{3}=577$, $q_{3}=408$.
\end{Exo}

\begin{Exo}(Minimum)\\
        Écrire une procédure \texttt{mini} prenant en argument une liste
    (non-vide) de nombres et rendant en résultat le plus petit de ces
    nombres. On s'interdit évidemment tout usage des procédures Maple
    \texttt{max} et \texttt{min}.
\end{Exo}

\begin{Exo}(Étude d'une suite)\\
    \begin{align*}
      u_{0}&= 2,8\\
      \forall n\in\N\quad u_{n+1}&= u_{n} -1 + \ln u_{n}
    \end{align*}
    On admettra que cette suite est strictement croissante et non bornée.

    \begin{itemize}
        \item Écrire une procédure \texttt{valeuru} prenant en paramètre un entier naturel $n$ et retournant la valeur de $u_{n}$.
        \item Écrire une procédure \texttt{depasse} prenant en argument un flottant $x$ et retournant le plus petit entier $n$ vérifiant $u_{n} \geq x$.
        \item Que vaut \verb+depasse(100)+~?
        \item Que vaut \verb+depasse(100000)+~?
    \end{itemize}
    
\end{Exo}

\section{Exercices}
\begin{Exo}(Compter Shadoks)\\
    Les \textbf{Shadoks} ne connaissent que 4 mots différents:
    \begin{eqnarray*}
        \mbox{ GA, BU, ZO, MEU} 
    \end{eqnarray*}

    \begin{itemize}
        \item Trouvez leur une façon de compter utilisant leurs 4 mots.
        \item Écrire un programme \texttt{ShadokToHuman} qui convertit un nombre Shadok en nombre ``humain'' (en base 10).
        \item Écrire un programme \texttt{HumanToShadok} qui fait l'opération inverse.
    \end{itemize}

    \paragraph{Indication:} \url{http://www.youtube.com/watch?v=nm0cw6b1PMA}
\end{Exo}


\begin{Exo}(Dénombrement)\\
    Écrire une procédure \texttt{DenSomme} qui prend en argument \texttt{n} et qui renvoie les couples $(i,j) \in \N^2$ tel que $i+2j = n$.

    De combien de façon peut on payer 10\euro{ } avec uniquement des pièces de 1 et 2 euros?
\end{Exo}


\end{document}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "master"
%%% End:

