\documentclass[11pt]{article}
\usepackage{a4}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[french]{babel}
\usepackage{epsfig}
\renewcommand{\baselinestretch}{1}
\newcommand{\bm}[1]{\mbox{\boldmath $ #1 $ }}
\newcommand{\model}[1]{\mbox{\boldmath$#1$\unboldmath}}
\newcommand{\emmodel}[1]{\mbox{\em {\bf #1}}}
\newcommand{\vs}{\vspace{1cm}}
\newcommand{\hs}{\hspace{1cm}}
\newcommand{\pp}{\vspace{6 mm}}
\newcommand{\ov}{\overline}

\newcommand{\N}{\mathbb N}
\newcommand{\Z}{\mathbb Z}
\newcommand{\Q}{\mathbb Q}
\newcommand{\R}{\mathbb R}
\newcommand{\C}{\mathbb C}

\begin{document}
%=09\pagestyle{empty}
\noindent {\bf Institut Galil\'ee - Universit\'e Paris 13}
\hfill{\bf Ann\'ee 1999-2000}\\
{\bf DEUG STPI 1\`ere ann\'ee}
\hfill {\bf D\'ecouverte : Informatique}\\

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=
%%
\begin{center}
{\large {\bf Examen d'informatique\\
}}
Jeudi 20 janvier 2000\\
(dur\'ee : 3 heures)
\end{center}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=
%%
\begin{itemize}
\item[$\bullet$] Les notes de cours/TD/TP et les calculatrices sont interdi=
tes !
\item[$\bullet$] La note globale tiendra compte de la qualit\'e de la pr\'e=
sentation !
\end{itemize}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=
%%
\section*{Exercice~1~: cours}
\begin{enumerate}
\item Indiquer en quelques lignes en quoi consiste la compilation d'un prog=
ramme.
\item Il existe diff\'erents types de langages de programmation, et plusieu=
rs langages par type,
\begin{enumerate}
\item citer trois types de langages de programmation,
\item pour deux types (parmi les trois cit\'es en (a)),
donner pour chacun le nom d'au moins un langage de programmation.
\end{enumerate}
\end{enumerate}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=
%%
\section*{Exercice~2~: cycles d'ex\'ecution}
\noindent
Consid\'erons le programme r\'esidant en m\'emoire principale de la figure =
ci-dessous~: \\
{\bf Note~:} les instructions MAMIAS sont rappel\'ees en annexe.
\begin{center}
\epsfig{file=examen-uct.eps, width=8cm}
\end{center}
\begin{enumerate}
%=09\item
%=09Traduisez-le en langage machine (code binaire sur $8$ bits). \\
%=09{\bf Note~:} vous pouvez vous aider des instructions MAMIAS
%rappel\'ees en annexe.
\item Ex\'ecutez-le ``\`a la main'' pour compl\'eter le tableau suivant~:
\begin{center}
\begin{tabular}{|c|c|c|c|c|c|c|}
\hline
fin du cycle $n^o$& Instruction=09& CP=09& Acc=09& case modifi\'ee \\
\hline
\dotfill & \dotfill & \dotfill & \dotfill & \dotfill  \\
\dotfill & \dotfill & \dotfill & \dotfill & \dotfill  \\
\vdots=09 & \vdots   & \vdots   & \vdots=09  & \vdots     \\
\dotfill & \dotfill & \dotfill & \dotfill & \dotfill  \\
\hline
\end{tabular}
\end{center}
\item[]
\item
Donner les \'etats de la m\'emoire (\underline{code binaire sur $8$ bits})
avant et apr\`es l'ex\'ecution.

\end{enumerate}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=
%%
\section*{Exercice~3~: un peu de programmation}
\begin{enumerate}
\item
\'Ecrire un programme MAMIAS (en code mn\'emonique) qui permet de lire
les valeurs des entiers $a$ (stock\'e \`a l'adresse 30) et $b$ (stock\'e \`=
a l'adresse 31)
puis de ranger leur somme dans la case m\'emoire num\'ero $29$.
\item
En d\'eduire un programme MAMIAS (en code mn\'emonique) qui permet de lire
les valeurs des entiers $a$ (stock\'e \`a l'adresse 30) et $b$ (stock\'e \`=
a l'adresse 31)
puis de ranger leur produit dans la case m\'emoire num\'ero $29$.
\item
\'Ecrire un programme MAMIAS (en code mn\'emonique) qui permet de lire
les valeurs des entiers $a$ (stock\'e \`a l'adresse 30) et $b$ (stock\'e \`=
a l'adresse 31)
puis de ranger la valeur de $a^b$ dans la case m\'emoire num\'ero $29$.
\end{enumerate}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%=
%%
%=09\section*{Exercice~3~: changement de base}
%=09\noindent
%=09\begin{enumerate}
%=09\item
%=09Remplissez les cases vides du tableau suivant~:
%=09\begin{center}
%=09\begin{tabular}{|c|c|c|c|c|c|c|}
%=09\hline
%=09base 2=09 & base 5   & base 8   & base 10  & base 12  & base 16  & base 64  \\ \hline
%=0910=09 & \dotfill & \dotfill & \dotfill & \dotfill & \dotfill &
%\dotfill \\
%=09\dotfill & 10=09    & \dotfill & \dotfill & \dotfill & \dotfill & \dotfill \\
%=09\dotfill & \dotfill & 10       & \dotfill & \dotfill & \dotfill & XXXXXX   \\
%=09\dotfill & \dotfill & \dotfill & 10       & \dotfill & \dotfill & XXXXXX   \\
%=09\dotfill & \dotfill & \dotfill & \dotfill & 10       & \dotfill & XXXXXX   \\
%=09\dotfill & \dotfill & \dotfill & \dotfill & \dotfill & \dotfill & 10=09 \\ \hline
%=09\end{tabular}
%=09\end{center}
%=09\item ...
%=09\end{enumerate}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Exercice~4~: codage et op\'erations arithm\'etiques}
\begin{enumerate}
\item
Skywalker vient de d\'erober un document donnant les
coordonn\'ees $(x,y,z)$ de l'\'Etoile Noire. Il donne le document \`a
d\'ecoder au robot R2D2. Quelles valeurs ce tas de ferraille
attribuera-t-il aux coordonn\'ees  $(1111, 1010, 0101)$
suivant qu'elles sont cod\'ees comme~:
\begin{enumerate}
\item des entiers non sign\'es~?
\item des entiers en compl\'ement \`a 1~?
\item des entiers en compl\'ement \`a 2~?
\item des entiers en signe et valeur absolue~?
\end{enumerate}
%=09Par ailleurs, il sait que le nombre d'habitants de l'\'Etoile Noire est=
 $(1666)_7$,
%=09c'est-\`a-dire (en d\'ecimal)~?
\item
Donner la valeur d\'ecimale de $BE400000_{16}$ en supposant que c'est le co=
de~:
\begin{enumerate}
\item d'un r\'eel en format IEEE 754 simple pr\'ecision.
\item d'un entier sign\'e en compl\'ement \`a 2.
\end{enumerate}
\item
Convertir les r\'eels suivant en format IEEE 754~:
\begin{enumerate}
\item $0,37$
\item $-31,175$
\end{enumerate}
\item
On suppose que les entiers sign\'es sont cod\'es en compl\'ement \`a 2.
Effectuer les op\'erations suivantes (sur le m\^eme nombre de bits que les op\'erandes)
et indiquer \`a chaque fois s'il y a un d\'epacement de capacit\'e ou pas~:
\begin{enumerate}
\item 011101 + 011111
\item 10011101 + 01100011
\item 11101100 -  00011111
\item $BE400000 + BF200000$
\end{enumerate}
\end{enumerate}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Exercice 5}
\noindent
Soit la conversion num\'erique~: $2501_a = 5302_b$.
Quelles sont les bases $a$ et $b$ sachant que~: $a, \;b < 10$.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Annexe : instructions en MAMIAS}
\noindent
\begin{center}
\begin{tabular}{|l|l|l|}
\hline
code & mn\'emonique & signification \\
\hline \hline
000 & INIT $x$ & Acc $\leftarrow x$ \\
\hline
001 & CHARGE $n$ & Acc $\leftarrow (n)$ \\
\hline
010 & RANGE $n$ & $(n) \leftarrow$ Acc \\
\hline
011 & ET $n$ & Acc $\leftarrow$ Acc ET $(n)$ (op\'eration binaire) \\
\hline
100 & SAUTE $n$ & si Acc $=0$ alors aller \`a l'adresse $n$ \\
\hline
101 & ADD $n$ & $(n)\leftarrow \mbox{Acc} + (n)$ \\
\hline
110 & DEC $x$ & d\'ecale le contenu de Acc de $x$ positions~: \\
    &         &  - vers la gauche si $x\geq 0$ \\
    &         &  - vers la droite si $x<0$ \\
\hline
111 & STOP & arr\^ete l'ex\'ecution. \\
\hline
\end{tabular}
\\
\end{center}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section*{Bar=E8me indicatif}
\noindent
{\bf La note globale tiendra compte de la qualit\'e de la pr\'esentation !}
\\\\
{\bf Exercice 1~: } 2 pts (= 1 + 1) \\
{\bf Exercice 2~: } 2 pts (= 1 + 1) \\
{\bf Exercice 3~: } 5 pts (= 1 + 2 + 2) \\
{\bf Exercice 4~: } 9 pts (= 2 + 3 + 2 + 2) \\
{\bf Exercice 5~: } 2 pts \\\\

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}

