Plafond supérieur pour une question

Added by Olivier V over 3 years ago

Bonjour,

J'ai un QCM de 10 questions dans lequel chaque question vaut 2 points.

Pour une question précise je souhaiterais attribuer des points dont le total dépasse 2 pour que celui qui donne la réponse 1 ait déjà 1.5 points.
Mais je voudrais que s'il donne les deux bonnes réponses il n'ai quand même que 2 au maximum.

Je cherche donc l'équivalent de ce que fait la commande p= pour le plafond inférieur mais pour un plafond supérieur.

Question...
\begin{reponses}
\bonne{Réponse 1} \bareme{b=1.5}
\bonne{Réponse 2} \bareme{b=1}
\mauvaise{Réponse 3} \bareme{b=0,m=-0.5}
\mauvaise{Réponse 4}\bareme{b=0,m=-0.5}
\end{reponses}

Comment faire cela avec AMC ?

Merci pour vos lumières.


Replies (8)

RE: Plafond supérieur pour une question - Added by Frédéric Bréal over 3 years ago

J'utiliserai les commandes set et default.
Le test que je tente de faire ne fonctionne pas.
Je n'arrive pas à trouver mon erreur. Suis-je fatigué ou un bogue sur la nouvelle version ?
Je vous mets l'exemple quand même.

\begin{questionmult}{test}%   
\bareme{default.note=0,formula=(NBC==2 ? 2 - 0.5*NMC : note - 0.5*NMC),MAX=2} 
Question

\begin{reponses}
\bonne{Réponse 1}\bareme{set.note=1.5}
\bonne{Réponse 2}\bareme{set.note=1}
\mauvaise{Réponse 3}
\mauvaise{Réponse 4}
\end{reponses}

\end{questionmult}

RE: Plafond supérieur pour une question - Added by Alexis Bienvenüe over 3 years ago

Le problème est qu'une variable ne peut pas être affectée deux fois avec set.XXX : cela engendre une erreur. Je propose donc une solution a deux variables :

\begin{questionmult}{test}%   
\bareme{default.pointsa=0,default.pointsb=0,formula=(pointsa+pointsb>2 ? 2 : pointsa+pointsb)-0.5*NMC} 
Question

\begin{reponses}
\bonne{Réponse 1 bonne}\bareme{set.pointsa=1.5}
\bonne{Réponse 2 bonne}\bareme{set.pointsb=1}
\mauvaise{Réponse 3}
\mauvaise{Réponse 4}
\end{reponses}

RE: Plafond supérieur pour une question - Added by Olivier V over 3 years ago

Merci pour la 2e réponse qui fonctionne sur un petit essai.

Si la situation se présente à deux reprise, faudra-t-il utiliser 4 variables différentes ?

RE: Plafond supérieur pour une question - Added by Frédéric Bréal over 3 years ago

Le problème est qu'une variable ne peut pas être affectée deux fois avec set.XXX

Je suis donc bien fatigué.

Je propose donc une solution a deux variables

J'étais arrivé à cette conclusion.

(pointsa+pointsb>2 ? 2 : pointsa+pointsb)-0.5*NMC

Ça c'est classe comme code simplifié.

RE: Plafond supérieur pour une question - Added by Alexis Bienvenüe over 3 years ago

Ceci dit j'ai fait une interprétation particulière des contraintes : si on coche tout, est-ce qu'on compte 1.5+1-0.5-0.5 ou 2-0.5-0.5 ? (ici j'ai choisi la deuxième option)
Et si on ne coche pas les bonnes réponses, j'ai compté 0 pt, je ne sais pas si c'est ce qui est souhaité.

RE: Plafond supérieur pour une question - Added by Olivier V over 3 years ago

A vrai dire je me suis pas posé la question... et je n'ai pas de tel cas donc ça ne change rien.
Avec votre code je saurai le modifier si besoin.

C'est juste une modification très locale où il y avait une bonne réponse assez évidente que la plupart ont coché et une autre plus subtile que personne n'a coché. Donc le barème était très défavorable à ces "pauvres" petits lycéens...

Pour le cas où on ne coche rien, ça fait bien ce que je veux.
Par contre pour le cas où le total serait négatif je veux juste qu'il soit ramené à 0 ; il suffit j'ajoute "p=0" pour avoir ce que je veux.

Encore merci.

RE: Plafond supérieur pour une question - Added by Frédéric Bréal over 3 years ago

J'ai rajouté un test pour vérifier si l'élève n'a pas tout coché avant de compter les points.

\bareme{default.pointsa=0,default.pointsb=0,%
formula=(NBC+NMC==N ? 0 : (pointsa+pointsb>2 ? 2 : pointsa+pointsb)-0.5*NMC)} 

(1-8/8)