2012-2013/TD_maple/TD2/TD2.tex

205 lines
5.8 KiB
TeX

\documentclass[a4paper,10pt]{article}
\usepackage{/media/documents/Cours/Prof/TD_maple/2012_2013/style}
% Title Page
\title{TD2: Les boucles}
\author{}
\begin{document}
\maketitle
Pensez à
\begin{itemize}
\item Sauvegarder régulièrement votre travail! \textbf{Ctrl + S} ou \textbf{File $>$ Save as}.
\item Faire un \texttt{restart;} au début de chaque exercice.
\end{itemize}
\section{Boucles}
\label{sec:Boucles}
\indent
\begin{Exo}(Introduction aux boucles)\\
Tapez les lignes suivantes (pour passer à la ligne sans déclencher son interprétation, au lieu d'utiliser \textbf{Entrée}, utilisez \textbf{Maj + Entrée})
\begin{verbatim}
> for i from 1 to 4 do # Maj+Entrée
pipo; # Maj+Entrée
od; # Entrée
\end{verbatim}
\begin{itemize}
\item Commentez.
\end{itemize}
Tapez maintenant le code suivant.
\begin{verbatim}
> for i form 1 to 5 do
i^2;
od;
\end{verbatim}
\begin{itemize}
\item Commentez.
\item Que ce passe-t-il si on remplace \texttt{od;} par \texttt{od:}?
\end{itemize}
Enfin essayez le code suivant.
\begin{verbatim}
> x := 1;
> for i from 1 to 5 do
x := x*2;
od;
> x;
\end{verbatim}
\begin{itemize}
\item Commentez.
\item Que ce passe-t-il si on remplace \texttt{od;} par \texttt{od:}?
\item Évaluez \texttt{i}. Que remarquez vous?
\end{itemize}
\end{Exo}
\begin{Exo}(Calcul de sommes et de produit)\\
En utilisant les boucles calculez la somme suivante
\begin{eqnarray*}
\sum_{k = 0}^{10} 2^k
\end{eqnarray*}
En utilisant les boucles, calculez \texttt{10!}.
\end{Exo}
\begin{Exo} (Suites récurrentes d'ordre 1)\\
On se donne la suite $(u_n)_{n \in \N}$ définit par
\begin{eqnarray*}
u_{n+1} & = & 2u_n + 1 \quad \forall n \in \N \\
u_0 & = & 0
\end{eqnarray*}
Calculer $u_{100}$.
On se donne la suite $(v_n)_{n \in \N}$ définit par
\begin{eqnarray*}
v_{n+1} & = & \frac{v_n}{2} + \frac{1}{v_n} \quad \forall n \in \N \\
v_0 & = & 1
\end{eqnarray*}
Calculer $v_{100}$.
\end{Exo}
\begin{Exo}(Suites récurrentes d'ordre 2)\\
On se donne la suite $(v_n)_{n \in \N}$ définit par
\begin{eqnarray*}
v_{n+2} & = & v_{n+1} + v_n \quad \forall n \in \N \\
v_0 & = & 1 \\
v_1 & = & 1
\end{eqnarray*}
Calculer $v_{100}$.
\begin{hint}
Vous pouvez vous ramener à un récurrence d'ordre 1 en considérant $(v_n,u_n)$ avec $u_n = v_{n+1}$.
\end{hint}
\end{Exo}
\section{Séquences et listes}
\label{sec:Sequences et listes}
\indent
\begin{Exo}(Séquences)
Tapez les commandes suivantes.
\begin{verbatim}
> S := a,b,c,d,e;
> S[1]; S[3];
> S[10];
> S[1..3];
> T := S[1..3], x, S[4..5];
> T;
\end{verbatim}
On dit que \texttt{S} et \texttt{T} sont des \textit{séquences}.
\begin{itemize}
\item Comment accède-t-on à une valeur particulière d'une séquence? Que se passe-t-il si l'on fait \texttt{S[1] := z}?
\item Que signifie \texttt{S[1..3]}?
\item Quelle transformation a-t-on fait à \texttt{S} pour obtenir \texttt{T}?
\end{itemize}
\end{Exo}
\begin{Exo}(Puissances de 2)\\
En utilisant les boucles, construisez une séquence contenant les puissance de 2 jusqu'à 35.
\begin{eqnarray*}
1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024\cdots
\end{eqnarray*}
Donnez les puissances de 2 de 25 à 30.
Maple dispose d'une fonction qui permet de faire la même chose plus rapidement: \texttt{seq}. Refaite l'exercice en utilisant \texttt{seq}.
Donner la séquence, pour $n$ variant de 5 à 10 de
\begin{eqnarray*}
u_n = \frac{x^n}{n!}
\end{eqnarray*}
\end{Exo}
\begin{Exo}(Retour aux suites)\\
On se donne la suite $(u_n)_{n \in \N}$ définit par
\begin{eqnarray*}
u_{n+1} & = & 2u_n + 1 \quad \forall n \in \N \\
u_0 & = & 0
\end{eqnarray*}
Donnez la séquence des 10 premières valeurs de la suite.
\end{Exo}
\begin{Exo}(Séquence de séquence: utilisation de listes)\\
Dans cet exercice on voudrai faire une séquence de séquences. C'est à dire qu'on voudrai avoir accès à une séquence quand on appel \texttt{S[1]}.
Essayez.
\begin{verbatim}
> A := a,b,c,d,e;
> Z := z,y,x,w,v;
# On voudrai construire S tel que S[1] = A et S[2] = Z.
# La première idée serai
> S := A,Z;
# La deuxième serai
> S[1] := A;
> S[2] := Z;
\end{verbatim}
\begin{itemize}
\item Est-ce que la première idée marche? Que ce passe-t-il?
\item Est-ce que la deuxième idée marche? Que ce passe-t-il?
\item Une autre idée?
\end{itemize}
L'astuce est de mettre la séquence entre crochets. Essayez.
\begin{verbatim}
> A := [A];
> Z := [Z];
> S := A, Z;
\end{verbatim}
\begin{itemize}
\item Est-ce que ça marche?
\item Essayez à partir de \texttt{S} d'atteindre la première valeur de \texttt{A}. Et la troisième valeur de Z?
\end{itemize}
\end{Exo}
\begin{Exo}(Produit de matrices)\\
On se donne de matrices $A$ et $B$ telles que
\begin{eqnarray*}
A = \begin{pmatrix}
1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9
\end{pmatrix};
\quad
B = \begin{pmatrix}
a & b & c \\ d & e & f \\ g & h & i
\end{pmatrix}
\end{eqnarray*}
\begin{itemize}
\item Comment stocker ces matrices dans Maple?
\item Écrivez une boucle(double!) pour faire le produit de $A$ par $B$.
\end{itemize}
\end{Exo}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "master"
%%% End: