2012-2013/TD_maple/TD_revision/TDmaple_revision.tex

130 lines
4.1 KiB
TeX

\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: