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

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

\begin{document}
\thispagestyle{empty}

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


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

\bigskip

\ex
Soient $\rho(a) = 5,~\rho(b) = 6,~\rho(c) = 7$. Calculer
\begin{itemize}
\item $code(a := ((a+b) =c), \rho)$
\item $code(a + (a + (a + b)), \rho)$ o\`u $a$ et $b$ sont des entiers\,;
\item $code(((a+a) +a)+b, \rho)$ o\`u $a$ et $b$ sont des entiers\,;
\item Combien de cellules seront allou\'ees dans l'ex\'ecution des
 s\'equences produites par les deux derniers cas\,?
\end{itemize}
\exe

\ex
Traduire la suite d'instructions\,:
\begin{verbatim}
a := 1; b := 0;
repeat
    b := b + c;
    a := a + 1;
until a = 10
\end{verbatim}
en supposant que\,:\,$\rho(a)=5,~\rho(b) =6,~\rho(c)=7$.
\exe


\ex
Soient les d\'eclarations 
\begin{verbatim}
var i, j : integer;
    a : array[-3..3, 0..6] of integer
\end{verbatim}
et supposons que les adresses respectives de $i,~j$ et $a$ soient 5, 6 et 7.
La taille d'un \'el\'ement est de 1. Donner le code SPARC de l'instruction 
$a[i+1,~j] := 0$
\exe


\ex
Soient les d\'eclarations suivantes\,:
\begin{verbatim}
type t = record
           a : array[-5..+5, 1..9] of integer;
           b : ^t
         end;
var i, j : integer;
    pt : ^t;
\end{verbatim}
En supposant que $\rho(i)=5,~\rho(j)=6,~\rho(pt)=7$, traduisez 
l'affectation\,:\\
\indent pt$\uparrow$.a[i,i] := pt$\uparrow$.b$\uparrow$.b$\uparrow$.a[j,j] + 1
\exe



\end{document}
