
  \input{format1.tex}
  \input{intro1.tex}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}

\begin{document}


\noindent \Large {\bf Université d'Orléans} \hfill {\bf Maîtrise d'Informatique}

\normalsize

\begin{center}
{\it Feuille de Travaux Dirigés 5}
\end{center}
\hrule

\bigskip



\ex
Traduire le programme suivant en supposant que le traitement des d\'eclarations 
commence \`a l'adresse 5.

\begin{verbatim}
Program tri;
const N=10;
var i,j : integer;
    x : real;
    t:array [1..N] of real;

begin {lecture des elements du tableau}
      for i:=1 to N-1 do
        for j:=i+1 to N do
          if t[i] > t[j] then begin x:=t[i];
                                    t[i] := t[j];
                                    t[j] := x
                              end;
end.
\end{verbatim}
\exe

\ex
M\^eme question pour le programme qui suit\,:

\begin{verbatim}
Program liste;
type liste = ^element;
     element = record code : char;
                      lien : liste
               end;
var p, l, q :liste;
    s : string[30];
    c:char;

\end{verbatim}
%\newpage

\begin{verbatim}
begin {construction de la liste}
      for c := 'a' to 'z' do
          if p=nil then begin new(l); l^.code := c; p:=l end
             else begin new(p^.lien); p^.lien^.code :=c;
                        p := p^.lien
                  end;

      p^.lien := nil;
      {traitement de la liste}
      p:=l;
      s := ' ';
      while p <> nil do
           begin s := p^.code + s; q := p^.lien;
                 dispose(p); p:= q
           end;
end.
\end{verbatim}
\exe


\ex
Un tableau dynamique est d\'eclar\'e dans une proc\'edure.
\begin{verbatim}
proc p ;
var b : array[l1..u1, l2..u2] of integer;
    i, j : integer;
begin
  b[i, j] := b[i-1, j+1] +1;
end;
\end{verbatim}
\begin{enumerate}
\item A l'entr\'ee dans la proc\'edure, les variables l1, u1, l2 et u2 ont
les valeurs suivantes\,:\,l1= -4, u1= 5, l2= 1, et u2= 10. L'adresse
relative de $b$ est $\rho(b) = 5$. Donner le descripteur du tableau $b$.
\item Traduire l'affectation indiqu\'ee dans la partie instruction de la
proc\'edure.
\end{enumerate}
\exe

\end{document}
