1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
\ifx\documentclass\undefined
\documentstyle[fr,programs,keywords]{article}
\else
\documentclass{article}
\usepackage{CheckForDef}
\usepackage{fr}
\usepackage{programs}
\usepackage{keywords}
\fi
\def\p#1{{\bf{}#1}}
\def\wideoutput{%
\setlength{\topmargin}{-1.54cm}%
\setlength{\headsep}{0cm}%
\setlength{\textwidth}{17.5cm}%
\setlength{\textheight}{25.5cm}%
\setlength{\oddsidemargin}{-1cm}%
\setlength{\evensidemargin}{-1cm}}
\wideoutput
\InBodyLeftNumberLine
\ProgKeywords
\begin{document}
Dans le programme suivant, quel est le type de \p{A}?
celui de~\p{B}?
\p{A} et~\p{B} ont-ils m\^eme type?
Les instructions des
lignes~\ref{progFORTTYPAGEinstruction1}--\ref{progFORTTYPAGEinstruction3}
sont-elles correctes?
Pourquoi?
\input{prog1.tex}
La variable \p{A} est d'un type anonyme tableau \`a une
dimension de \p{COULEURS}.
Il en est de m\^eme pour \p{B}.
Bien que la description des deux types soit identique, ils sont
diff\'erents.
L'instruction de la ligne~\ref{progFORTTYPAGEinstruction1} est
correcte (affectation d'une valeur de type \p{COULEURS} dans une
variable du m\^eme type).
Les instructions des lignes~\ref{progFORTTYPAGEinstruction2}
et~\ref{progFORTTYPAGEinstruction3} sont ill\'egales (les types
sont diff\'erents).
Par contre, si l'on avait \'ecrit le programme comme suit
\NewKeyword{\BEGIN}{this is the beginning}[ceci est le d\'ebut]
\FUAlgoKeywords
\input{prog2.tex}
\noindent%
il n'y aurait pas eu d'erreur.
Dans ce cas, en effet, \p{A} et \p{B} appartiennent au m\^eme
sous-type initial, et un contr\^ole sera mis en place pour
v\'erifier les bornes des intervalles \`a l'ex\'ecution.
\bigskip
Un exercice de num\'erotation:
\NewKeyword{\END}{this IS the real end}
\AlgoKeywords
\input{prog3.tex}
\end{document}
|