\documentclass[12pt,a4paper]{report}
\usepackage[height=250mm,width=183mm]{geometry}
\usepackage{preambule-utf8}
\usepackage{listings,luximono}
%\usepackage[upright]{fourier}
\usepackage[boldsans]{ccfonts}
\usepackage{beton,euler}
\graphicspath{{/home/moi/Figures/}}


\fancyfoot[C]{Page \thepage}
\fancyhead[R]{{\scriptsize\textsl{  BTS domotique 2\textsuperscript{e} année -  Lycée
       Jean \textsc{Perrin} - 2009/2010 }}}
\renewcommand{\headrulewidth}{0.4pt}
 \pagestyle{fancy}



\begin{document}
\setlength{\parindent}{0pt}
\thispagestyle{empty}



\newcommand\xc{\lstset{numbers=none,language=C,xleftmargin=10pt,%
keywordstyle=\color{black}%\usefont{OT1}{cmtt}{b}{n}
,basicstyle=\ttfamily\color{0.2white},commentstyle=\normalfont\small\itshape,breaklines=true,backgroundcolor=\color{ciel},frame=trBL,framerule=1pt,framesep=4pt,rulesep=1pt}
}


\newcommand\caml{\lstset{numbers=none,language=caml,xleftmargin=10pt,%
keywordstyle
=\color{black}
%\usefont{OT1}{cmtt}{b}{n}
,basicstyle=\ttfamily\color{0.2white},commentstyle=\normalfont\small\itshape,breaklines=true,frame=trBL,framerule=1pt,framesep=4pt,rulesep=1pt,backgroundcolor=\color{creme}}
}

\newcommand{\reponse}[1]{
\begin{center}
\textcolor{blue}{\texttt{#1}}
\end{center}
}


\fbox{%
\begin{minipage}{\textwidth}
\smallskip
{\Large\bfseries \begin{center} TP algorithmique - Moyennes mobiles -
    BTS domotique 2\up{e} année
\end{center}}
\smallskip
\end{minipage}
}
\vspace{1cm}



%\begin{multicols}{2}
\xc



Nous allons reprendre nos problèmes  de moyennes mobiles mais cette fois
en parlant directement à l'ordinateur par l'intermédiaire de XCAS.

Nous  rentrerons la  liste  des  abscisses, la  liste  des ordonnées  et
l'ordre  du lissage.  En  retour, nous  voudrions  obtenir le  graphique
correspondant.





Il faut  savoir que XCAS  sait relier des  points dont on lui  donne une
liste d'abscisse grâce à la commande \verb+polygone_ouvert([absisse1,ordonne1],[abscisse2,ordonnée2],...)+

Par exemple, observez ce que donne~:

\bigskip

\begin{lstlisting}
polygone_ouvert([[1,2],[3,-1],[5,3],[7,-3]])
\end{lstlisting}

\bigskip

Notez en  particulier l'usage  des crochets. Que  penser de  l'ordre des
points~:

\bigskip

\begin{lstlisting}
polygone_ouvert([[1,2],[3,-1],[7,-3],[5,3]])
\end{lstlisting}

\bigskip




On peut mettre des couleurs...

\bigskip

\begin{lstlisting}
couleur(polygone_ouvert([[1,2],[3,-1],[7,-3],[5,3]]),rouge)  
\end{lstlisting}

\bigskip

Bon. Il va  donc falloir créer une liste de  points ayant pour abscisses
les années par exemple et pour ordonnées les valeurs lissées.  


Pour
lisser, il faut pouvoir calculer une moyenne donc commencer par faire la
somme des éléments d'une liste à  partir d'un certain rang et jusqu'à un
autre rang.


Par exemple,  si on a une liste  \verb+L:=[1;1;3;41;-1;8;3]+, on voudrait
créer  une fonction  qui calcule  $3+41+(-1)+8$ c'est-à-dire  la  somme des
éléments de L du rang 2 (on commence au rang 0 !) jusqu'au rang 5.

Observez le programme suivant et commentez-le~:

\bigskip

\begin{lstlisting}
som_list(liste,debut,fin):={
S:=0;
 for(k:=debut;k<=fin;k:=k+1){
    S:=S+liste[k]
 }
return(S)
}:;
\end{lstlisting}

\newpage

Passons au calcul proprement dit. Complétez-le.

Que valent \verb+Xm+ et \verb+Ym+
à la fin de son exécution~?

\begin{lstlisting}
lmm(X,Y,k):={
Xm:=NULL;
Ym:=NULL;
n:=size(X);
 if(irem(k,2)==0)
  then{p:=k/2;
    for(j:=p;j<n-p;j++){
       Ym:=Ym,(0.5*Y[j-p]+som_list(Y,j-p+1,j+p-1)+0.5*Y[j+p])/k;
       Xm:=Xm,X[j];
    }
  }else{p:=
    for(        ){
       Ym:=Ym,                        ;
       Xm:=    ;
    }
  }

}:;

\end{lstlisting}


Pour avoir le tracé, il faudrait pouvoir donner comme argument une liste
d'abscisses, une  liste d'ordonnées, une  couleur et avoir en  sortie la
ligne reliant les points correspondants dans la bonne couleur.


\begin{lstlisting}
trace_ligne(X,Y,coul):={
P:=NULL;
 for(               ){
  P:=P,[          ];
 }
couleur(                    );
}:;
\end{lstlisting}

Complétez alors le programme \verb+lmm+.

Essayez avec la liste vue en cours (la Banquise)~:


\begin{verbatim}
[1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,
1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,
2006,2007,2008],[5.3,5.5,4.95,5.13,5.37,4.7,5,5.37,5.3,5.2,4.8,4.62,4.5,
5.05,4.45,4.85,4.4,5.25,4.9,4.26,4.2,4.14,4.55,4.05,4.12,4.3,4.05,4.06,
3.75,3.8]
\end{verbatim}


et les autres listes vues en exercice.


%\end{multicols}
\end{document}
%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: 
