205 lines
5.8 KiB
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:
|
|
|