summaryrefslogtreecommitdiff
path: root/obsolete/macros/latex/contrib/alterqcm/examples/latex/verb.tex
diff options
context:
space:
mode:
Diffstat (limited to 'obsolete/macros/latex/contrib/alterqcm/examples/latex/verb.tex')
-rw-r--r--obsolete/macros/latex/contrib/alterqcm/examples/latex/verb.tex150
1 files changed, 150 insertions, 0 deletions
diff --git a/obsolete/macros/latex/contrib/alterqcm/examples/latex/verb.tex b/obsolete/macros/latex/contrib/alterqcm/examples/latex/verb.tex
new file mode 100644
index 0000000000..207f9ca694
--- /dev/null
+++ b/obsolete/macros/latex/contrib/alterqcm/examples/latex/verb.tex
@@ -0,0 +1,150 @@
+
+\documentclass[10pt]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{fourier}
+\usepackage{alterqcm}
+\usepackage{fullpage}
+\usepackage{longtable}
+\usepackage{verbdef}
+\usepackage[frenchb]{babel}
+
+\pagestyle{empty}
+%--------------------------------------------------------------
+\begin{document}
+%--------------------------------------------------------------
+\parindent=0pt
+\begin{center}
+Contrôle de langage C \\
+
+\vspace{5mm}
+Nom : \hspace{5cm}
+Prénom : \\
+
+\vspace{5mm}
+{\small Pour chaque question, 3 réponses sont proposées. Une et une seule est correcte. A vous de la trouver et de \textbf{noircir la case correspondante}.
+Bonne réponse = +1 point. Pas de réponse = 0 point. Mauvaise réponse = -0.5 point.}
+\begin{alterqcm}[lq=90mm,title,num=true,alea,long]
+% rajouter ou enlever l'option correction pour voir ou non les corrections :-)
+%--------------------------------------------------------------
+
+\AQquestion{Quel était le langage précurseur du langage C ?}
+{{le Fortran},%
+ {le langage B},%
+ {le Basic},%
+ {X},%
+ {Y}}
+%--------------------------------------------------------------
+\verbdef\arg|int a = 3 ^ 4 ;|
+\AQquestion{\arg}
+{{élève 3 à la puissance 4},
+ {fait un OU exclusif entre 3 et 4},
+ {n'est pas une instruction C}}
+%--------------------------------------------------------------
+\AQquestion{Quelle est la bonne syntaxe pour décaler de 8 bits à gauche l'entier \texttt{a} ?}
+{{\texttt{b = lshift(a, 8) ;}},
+ {\texttt{b = 8 << a ;}},
+ {\texttt{b = a << 8 ;}}}
+%--------------------------------------------------------------
+\AQquestion{Le programme complet : \\
+\texttt{int main() \\
+~~\{ printf ("bonjour") ; return 0 ; \}}}
+{{affiche \texttt{bonjour}},
+ {donne une erreur à la compilation},
+ {donne une erreur à l'exécution}}
+%--------------------------------------------------------------
+\verbdef\arg|float tab[10]|
+\verbdef\propa|*tab|\global\let\propa\propa
+\verbdef\propb|&tab|\global\let\propb\propb
+\verbdef\propc|tab|\global\let\propc\propc
+\AQquestion{Soit la déclaration \arg ; \\Le premier réel du tableau est \ldots}
+{{\propa},
+ {\propb},
+ {\propc}}
+%--------------------------------------------------------------
+\AQquestion{La ligne \texttt{printf("\%c", argv[2][0]) ;} du \texttt{main} de \texttt{monProg} exécuté ainsi : \texttt{monProg parametre}}
+{{affiche \texttt{p}},
+ {n'affiche rien},
+ {peut provoquer un plantage}}
+%--------------------------------------------------------------
+\AQquestion{Quelle est la taille en mémoire d'un \texttt{long int} ?}
+{{4 octets},
+ {8 octets},
+ {ça dépend \ldots}}
+%--------------------------------------------------------------
+\AQquestion{Suite à la déclaration \texttt{int * i} ;}
+{{\texttt{*i} est une adresse},
+ {\texttt{*i} est un entier},
+ {\texttt{*i} est un pointeur}}
+%--------------------------------------------------------------
+\AQquestion{Suite à la déclaration \texttt{char tab[12]} ;}
+{{\texttt{\&tab} est l'adresse du tableau},
+ {\texttt{\&tab} est le pointeur sur le tableau},
+ {\texttt{\&tab} ne signifie rien}}
+
+%--------------------------------------------------------------
+\AQquestion{Un des choix suivants n'est pas une bibliothèque standard du C}
+{{\texttt{stdlib}},
+ {\texttt{stdin}},
+ {\texttt{math}}}
+%--------------------------------------------------------------
+\AQquestion{La syntaxe complète de la fonction \texttt{main} est \ldots}
+{{\texttt{int main(int argc, char* argv)}},
+ {\texttt{int main(int argc, char argv*[])}},
+ {\texttt{int main(int argc, char* argv[])}}}
+%--------------------------------------------------------------
+\AQquestion{Le programme complet :
+\texttt{int main()\\
+\{ char a[2]="x" ; char b[2]="y" ; \\
+~~return (a[0] == b[0]) ; \}
+}}
+{{comporte 0 erreur},
+ {comporte 1 erreur},
+ {comporte 2 erreurs}}
+
+%--------------------------------------------------------------
+\AQquestion{Pour libérer une zone mémoire allouée dynamiquement en C, on utilise la fonction \ldots}
+{{\texttt{delete}},
+ {\texttt{clear}},
+ {\texttt{free}}}
+
+%--------------------------------------------------------------
+\AQquestion{L'expression \texttt{val char[32] ; }}
+{{est syntaxiquement incorrecte},
+ {déclare une chaîne},
+ {déclare un tableau}}
+
+ %--------------------------------------------------------------
+\verbdef\arga|char s[10] ; int i ;|
+\verbdef\argb|scanf("%d, %s", \&i, s) ;|
+\AQquestion{On compte dans les lignes suivantes :\\
+\arga \\
+\argb}
+{{0 erreur de compilation},
+ {1 erreur de compilation},
+ {2 erreurs de compilation}}
+%--------------------------------------------------------------
+\AQquestion{Une variable globale est \ldots}
+{{\texttt{static}},
+ {stockée dans la pile},
+ {initialisée avec des zéros par défaut}}
+%--------------------------------------------------------------
+\AQquestion{La portée d'une variable locale est \ldots}
+{{la fonction},
+ {le module},
+ {le bloc}}
+%--------------------------------------------------------------
+\AQquestion{La ligne \texttt{int c = argv[1] + argv[2] ;}
+ du \texttt{main} de \texttt{monProg} exécuté ainsi :
+\verb!monProg 123 456!}
+{{affecte 579 à \texttt{c}},
+ {donne une erreur à la compilation},
+ {affecte une valeur indéterminée à \texttt{c}}}
+\end{alterqcm}
+\end{center}
+\end{document}
+
+% utf8
+% pdflatex
+% Pascal Bertolino Alain Matthes
+% \ No newline at end of file