Barème
Le score affecté à une copie est la somme des scores obtenus à chaque question. On peut également configurer dans AMC le calcul d’une note finale, en ramenant ce score sur une échelle de 0 à 20 par exemple.
Le barème permettant d’affecter un score à chaque question est indiqué dans le fichier source du QCM, ce qui peut être fait à plusieurs endroits. Un barème est constitué d’un ensemble de valeurs donées à des directives ayant chacune un rôle particulier. Ces directives sont décrites dans Directives.
Barème pour une question
Question simple
Dans le cas d’une question simple (une seule bonne réponse), on peut
indiquer le score affecté à une bonne réponse grâce à la directive
b
, et le score affecté à une mauvaise réponse grâce à la directive
m
, comme dans l’exemple suivant pour lequel une bonne réponse se
verra affecter un score de 2 et une mauvaise réponse un score négatif de
-0.5 :
*{b=2,m=-0.5} Quelle est la capitale du Cameroun ?
+ Yaoundé
- Douala
- Kribi
\begin{question}{Cameroun}\bareme{b=2,m=-0.5}
Quelle est la capitale du Cameroun~?
\begin{reponses}
\bonne{Yaoundé}
\mauvaise{Douala}
\mauvaise{Abou-Dabi}
\end{reponses}
\end{question}
Question multiple
Pour une question multiple, le score à la question est la somme des scores obtenus à chaque réponse.
-
Pour une réponse bien traitée, c’est-à-dire une bonne réponse cochée ou une mauvaise réponse non cochée, c’est la valeur de la directive
b
(par défaut 1) qui est utilisée. -
Pour une réponse mal traitée, c’est-à-dire une bonne réponse qui n’a pas été cochée ou une mauvaise réponse qui a été cochée, c’est la valeur de
m
(par défaut 0) qui est utilisée.
Considérons l’exemple suivant, pour lequel on a spécifié un barème de
question avec b=2,m=-0.5
:
**{b=2,m=-0.5} Parmi les mots suivants, lesquels commencent par la lettre A ?
+ Ami
- Ennemi
+ Autre
- Otarie
\begin{questionmult}{debutmot}\bareme{b=2,m=-0.5}
Parmi les mots suivants, lesquels commencent par la lettre A~?
\begin{reponses}
\bonne{Ami}
\mauvaise{Ennemi}
\bonne{Autre}
\mauvaise{Otarie}
\end{reponses}
\end{question}
Quel sera le score obtenu par la copie suivante ?
-
Ami
-
Ennemi
-
Autre
-
Otarie
-
Les deux premières réponses sont bien traitées, on leur affecte donc un score de
b
, qui vaut 2. -
Les deux dernières réponses sont mal traitées, on leur affecte donc un score de
m
, qui vaut -0.5.
On obtient un score à la question de 2+2-0.5-0.5=3.
Si toutes les questions avaient été bien traitées, on aurait obtenu un
score de 2+2+2+2=8.
AMC va donc donner le score 3/8 à cette question pour cette copie.
Barème pour une réponse
On peut également donner une valeur à une directive du barème pour une réponse donnée.
Question simple
Pour affecter un score négatif (ici -2) à une réponse considérée comme très mauvaise pour une question simple, on emploie une syntaxe particulière sans nom de directive :
* Quelle est la capitale de la France ?
+ Paris
- Lille
-{-2} Ouagadougou
\begin{question}{France}
Quelle est la capitale de la France~?
\begin{reponses}
\bonne{Paris}
\mauvaise{Lille}
\mauvaise{Ouagadougou}\bareme{-2}
\end{reponses}
\end{question}
Question multiple
La syntaxe sans nom de directive n’est pas valable pour une question multiple, mais on peut spécifier la valeur d’une directive pour une réponse donnée, comme dans l’exemple suivant où la réponse Otarie n’est pas pénalisée si on ne la traite pas bien, et où la réponse Ennemi est moins valorisée ques les autres :
**{b=2,m=-0.5} Parmi les mots suivants, lesquels commencent par la lettre A ?
+ Ami
-{b=1} Ennemi
+ Autre
-{m=0} Otarie
\begin{questionmult}{debutmot}\bareme{b=2,m=-0.5}
Parmi les mots suivants, lesquels commencent par la lettre A~?
\begin{reponses}
\bonne{Ami}
\mauvaise{Ennemi}\bareme{b=1}
\bonne{Autre}
\mauvaise{Otarie}\bareme{m=0}
\end{reponses}
\end{question}
Quel sera le score obtenu par la copie suivante ?
-
Ami
-
Ennemi
-
Autre
-
Otarie
Le calcul devient 2+1-0.5+0=2.5, alors qu’une copie parfaite aurait
obtenu 2+1+2+2=7.
AMC va donc donner le score 2.5/7 à cette question pour cette copie.
Barèmes par défaut
Si on souhaite utiliser le même barème pour toutes les questions, on
peut définir un barème par défaut b=2,m=-0.5
pour toutes les
questions simples, et un barème par défaut b=0.5,m=-0.1
pour toutes
les questions multiples de la manière suivante :
DefaultScoringS: b=2,m=-1
DefaultScoringM: b=0.5,m=-0.1
% Juste après le \begin{document}
\baremeDefautS{b=2,m=-1}
\baremeDefautM{b=0.5,m=-0.1}
Directives
Certaines directives n’ont de sens que dans certains contextes. On
indique ici par une directive qui peut être employée pour les
questions simples, à la fois pour la question et pour une réponse (on
utilise uniquement le ? si elle ne peut être employée qu’au
niveau de la question, et uniquement la case si elle ne peut être
employée que pour une réponse), et par
une directive qui peut
être employée pour les questions multiples, à la fois pour la question
et pour une réponse.
-
e
: note affectée en cas d’incohérence des réponses, c’est-à-dire si plusieurs cases sont cochées pour une question simple, ou, pour une question multiple, si la case « aucune de ces réponses n’est correcte » est cochée en même temps qu’une autre case.
-
v
: note affectée en cas de non-réponse (aucune case n’est cochée).
-
d
: un décalage, c’est-à-dire une valeur ajoutée à toutes les notes qui ne relèvent pas des cas correspondant aux paramètres
e
etv
. -
p
: la note plancher. Si le calcul de la note obtenue à la question donne une valeur inférieure à la valeur plancher, cette note est ramenée à la valeur plancher.
-
P
: la note plafond. Si le calcul de la note obtenue à la question donne une valeur supérieure à la valeur plafond, cette note est ramenée à la valeur plafond.
-
b
: points à donner pour la bonne réponse d’une question simple, ou pour une réponse bien traitée d’une question multiple.
-
m
: points à donner pour une mauvaise réponse d’une question simple, ou pour une réponse mal traitée d’une question multiple.
-
_Valeur sans nom de paramètre
: nombre de points à donner si l’étudiant a coché cette réponse (voir Question simple).
-
auto
: avec ce paramètre, la valeur de la réponse numéro i sera auto + i - 1. Cette option est principalement utilisée avec
\QuestionIndicative
(voir section Questions et réponses). -
mz
: ce paramètre impose un barème du type « maximum ou zéro ». L’élève doit cocher toutes les bonnes réponses pour avoir la note
mz
. Sinon, sa note sera nulle. -
haut
: en donnant à ce paramètre une valeur n, la note attribuée à une réponse parfaite sera n, et un point sera enlevé par réponse mal traitée.
haut=n
est en fait réécrit end=n-N,p=0
. -
MAX
: donne la valeur maximale attribuée à la question (pour une « question notée sur 5 », on peut mettre
MAX=5
). À renseigner uniquement si elle ne correspond pas à la note obtenue en mettant toutes les bonnes réponses. Si vous indiquezMAX=3
pour une question pouvant rapporter 4 points, un étudiant pourra avoir un score de 4/3 à cette question (et, si il donne des réponses parfaites aux autres questions, il pourra éventuellement obtenir une note globale supérieure à 20/20).
Formule
Des barèmes plus complexes peuvent être obtenus en utilisant une formule
donnée par formula
en utilisant éventuellement d’autres directives
parmi les suivantes :
-
formula
: donne directement le score de la question, souvent par le biais d’une formule faisant intervenir certaines variables (voir Variables), sans tenir compte des valeurs de
b
etm
.Si la formule contient des virgules, il faut l’entourer de guillemets, comme par exemple
formula="max(0,NBC-NMC)"
. -
set.XXX
: donne une valeur particulière à la variable nommée XXX, qui pourra être utilisée par la suite par formula. Dans le contexte d’une réponse, la valeur est attribuée uniquement dans le cas où la case est cochée. Cas particulier : si on donne une valeur non-nulle à la variable INVALID par ce biais, les réponses seront déclarées incohérentes et le score sera celui donné par le paramètre
e
. -
setglobal.XXX
: donne une valeur à la variable XXX pour toutes les questions qui suivent celle-ci pour l’ordre lexicographique des identifiants.
-
default.XXX
: donne une valeur à la variable XXX si aucune case cochée n’en a déjà donnée une par le biais de
set.XXX
.Vous pouvez affecter à
b
etm
les valeurs de la variable déclarée avecdefault.XXX
:AMC-TXT**{default.CONF=1,m=-CONF,b=CONF} Texte de la question ...
LaTeX\begin{questionmult}{id}\bareme{default.CONF=1,m=-CONF,b=CONF} ...
-
requires.XXX
: Signale une saisie incohérente (donc l’application du score donné par la valeur de
e
) dans la cas où aucune valeur n’a été donnée à la variable XXX.
Variables
En plus des variables définies par set.XXX
et setglobal.XXX
, les
variables suivantes peuvent être utilisées dans la formule fournie par
formula
:
-
N
est le nombre de réponses proposées, sans compter la réponse automatiquement ajoutée par l’option completemulti. -
NB
est le nombre de bonnes réponses à la question (sans tenir compte des cases cochées ou non). -
NBC
est le nombre de bonnes réponses qui ont été cochées. -
NM
est le nombre de mauvaises réponses à la question (sans tenir compte des cases cochées ou non). -
NMC
est le nombre de mauvaises réponses qui ont été cochées. -
IS
vaut 1 si la question est simple et 0 sinon. -
IMULT
vaut 1 si la question est multiple et 0 sinon.
Opérateurs et fonctions
Les opérateurs et fonctions suivantes peuvent être utilisés dans la
formule fournie par formula
:
-
l’addition
+
, la soustraction-
, la multiplication*
, la division/
, la puissance**
. -
le test
( test ? valeur si vrai : valeur si faux )
, où le test peut mettre en jeu les opérateurs d’égalité==
, de différence!=
, de comparaison>
,>=
,<
,<=
. -
les fonctions
max(a,b)
etmin(a,b)
pour calculer la valeur maximale ou minimale.
Instructions générales
On peut également spécifier un barème en-dehors de toute question, avec deux directives spécifiques :
-
SUF=x
permet de donner un total de points suffisant pour obtenir la note maximale : si on fixe la note maximale à 20 par exemple, une copie ayant un total de points de 12 avec l’utilisation deSUF=15
se verra attribuer la note de 12/15×20=16, quel que soit le total d’une copie ayant toutes les bonnes réponses. -
allowempty=x
permet à l’étudiant de laisserx
questions sans réponse. Parmi les questions laissées sans réponse par l’étudiant,x
(ou moins si il n’y en a pas autant) seront annulées (c’est-à-dire qu’elles ne seront pas prises en compte pour le calcul du score total).
Par exemple :
LaTeX-BeginDocument: \bareme{SUF=12}
% Juste après le \begin{document}
\bareme{SUF=12}