reprendre un résultat dans la question suivante

Added by DENIS Sébastien about 1 year ago

Est-ce possible?
Sinon y a t il y moyen de contourner?


Replies (21)

RE: reprendre un résultat dans la question suivante - Added by Alexis Bienvenüe about 1 year ago

Pouvez-vous donner un exemple concret de ce que vous voulez faire ?

RE: reprendre un résultat dans la question suivante - Added by DENIS Sébastien about 1 year ago

Bonjour
en fait je désire (avec des question numériques) par exemple:
Q1: faire calculer une surface
Q2: reprendre la valeur de la surface de la question Q1 afin de faire calculer un volume en Q2

RE: reprendre un résultat dans la question suivante - Added by Gérard Carpeaux about 1 year ago

the holly graal

Nous sommes plusieurs à chercher https://project.auto-multiple-choice.net/boards/4/topics/4013?r=8342#message-8342
Pour l'instant, j'ai mis ça de côté.

RE: reprendre un résultat dans la question suivante - Added by Alexis Bienvenüe about 1 year ago

the holly graal

On avance sur cette quête grâce à la dernière version de développement d'AMC : voir fichiers ci-joints.
Par exemple, dans les questions sur la surface du disque et volume du cône, l'étudiant a tous les points à la deuxième question si la valeur entrée est la bonne, OU si la valeur entrée est 5/3 fois celle entrée pour la surface du disque. La copie annotée montrera quand même ce qu'il fallait cocher, mais les points sont donnés.
Attention :
  • les questions sont notées dans l'ordre des identifiants de questions : il faut donc mettre un identifiant plus petit (ordre lexicographique) pour la première question que pour la deuxième question liée à la première
  • la formule que l'on entre avec l'option alsocorrect est à écrire en perl : par exemple la puissance est notée **

simple.tex - Fichier source (2.9 kB)

DOC-sujet.pdf - Sujet (161.4 kB)

RE: reprendre un résultat dans la question suivante - Added by Gérard Carpeaux about 1 year ago

Merci.
Je ferai la documentation après mes tests et la recherche du code perl.

RE: reprendre un résultat dans la question suivante - Added by Gérard Carpeaux about 1 year ago

  \begin{question}{carre-a}
    \QuestionIndicative
    Choisissez le nombre que vous voulez
    \begin{reponseshoriz}[o]
      \mauvaise{2}\scoring{2,setglobal.Nombre=2}
      \mauvaise{3}\scoring{3,setglobal.Nombre=3}
      \mauvaise{4}\scoring{4,setglobal.Nombre=4}
      \mauvaise{5}\scoring{5,setglobal.Nombre=5}
    \end{reponseshoriz}
  \end{question}

Dans cet exemple, les chiffres 2 à 5 dans scoring avant setglobal sont-ils obligatoires ?

RE: reprendre un résultat dans la question suivante - Added by Alexis Bienvenüe about 1 year ago

Non mais cela permet de récupérer l'information si on veut.

RE: reprendre un résultat dans la question suivante - Added by Liouba Leroux about 1 year ago

Bonjour,
c'est très prometteur et alléchant !
Merci !

RE: reprendre un résultat dans la question suivante - Added by Nicolas TSAKALOS 5 months ago

Bonjour,
J'ai essayé cette méthode mais j'obtiens le message d'erreur suivant:
'amcnumeric/alsocorrect' is unknown and is being ignored

Une idée d'où provient le problème?
Merci.

RE: reprendre un résultat dans la question suivante - Added by Alexis Bienvenüe 5 months ago

'amcnumeric/alsocorrect' is unknown and is being ignored

Peut-être utilisez-vous une version trop ancienne d'AMC ?

RE: reprendre un résultat dans la question suivante - Added by Nicolas TSAKALOS 5 months ago

J'ai la dernière version stable 1.4.0 d'AMC. Je ne sais pas à partir de quelle version ça marche.
Mais surtout l'erreur de compilation apparaît dans texlive. Est-il possible que cette erreur disparaisse quand je suis dans AMC?

RE: reprendre un résultat dans la question suivante - Added by Alexis Bienvenüe 5 months ago

J'ai la dernière version stable 1.4.0 d'AMC. Je ne sais pas à partir de quelle version ça marche.

Je pense qu'il faut utiliser la version de développement.

Est-il possible que cette erreur disparaisse quand je suis dans AMC?

Normalement non.

RE: reprendre un résultat dans la question suivante - Added by Gérard Carpeaux 5 months ago

Est-il possible de reprendre le résultat de l'élève pour une question simple ?
Pour la 3e question (disjoncteur), est-ce que dans le test \ifthenelse, je peux mettre la valeur entrée par l'élève via keepas=intensiteCal ?

\FPeval{\PuissanceLampe}{clip(25*trunc(1+3*random,0))}%\FPeval{\ApproxCalcul}{clip(10*\PuissanceLampe)}
\FPeval{\PuissanceRadiateur}{clip(500*trunc(1+3*random,0))}
\FPeval{\PuissancePlaque}{clip(500*trunc(1.5+3*random,0))}
\FPeval{\PuissanceTotale}{clip(2000+2*\PuissanceLampe+\PuissanceRadiateur+\PuissancePlaque)}
\FPeval{\Intensite}{round(\PuissanceTotale/230,1)}

On branche simultanément deux lampes à incandescence de puissance $P_L= \SI{\PuissanceLampe}{W}$ chacune, un four électrique de puissance $P_F=\SI{2}{kW}$, une plaque de cuisson de puissance $P_C=\SI{\PuissancePlaque}{W}$ et un radiateur de puissance $P_R=\SI{\PuissanceRadiateur}{W}$.\bigskip

\begin{multicols}{2}
\begin{questionmultx}{Outils.PuissanceElectrique-a-Totale}
    Quelle est la puissance totale demandée par l'ensemble de ces appareils ?  

\AMCnumericChoices{\PuissanceTotale}{digits=4,decimals=0,keepas=PuissanceCal,approx=\PuissanceLampe}
\end{questionmultx}

\begin{questionmultx}{Outils.PuissanceElectrique-b-Intensite}
    La tension d'utilisation vaut $U=\SI{230}{V}$.
    Calculez l'intensité du courant $I$ qui traverse le disjoncteur lorsque tous les appareils sont branchés.

\AMCnumericChoices{\Intensite}{digits=3,decimals=1,alsocorrect=PuissanceCal/230}
\end{questionmultx}
\end{multicols}

\begin{question}{Outils.PuissanceElectrique-c-Disjoncteur}\bareme{b=0.5}
    Le disjoncteur se déclenche à partir d'une intensité $I_{MAX} = \SI{20}{A}$. Le disjoncteur se déclenche-t-il ?\vspace*{-2ex}
    \FPiflt{\Intensite}{20}{\begin{reponseshoriz}\bonne{Non}\mauvaise{Oui}\end{reponseshoriz}}
    \else{\begin{reponseshoriz}\bonne{Oui}\mauvaise{Non}\end{reponseshoriz}}\fi
\end{question}

RE: reprendre un résultat dans la question suivante - Added by Alexis Bienvenüe 5 months ago

Je ne pense pas.
A mon avis le mieux est de ne pas modifier les bonnes ou mauvaises réponses, mais le score affecté aux réponses quand on les coche (par le barème).

RE: reprendre un résultat dans la question suivante - Added by Liouba Leroux about 1 month ago

Bonjour,
j'ai essayé d'avoir une réponse numérique qui dépende d'une réponse non numérique :
ex :
question 1 : dans l'expression "2+3×5", quel est le premier calcul à effectuer
- l'addition
- la multiplication

question deux : quel est le résultat de ce premier calcul à effectuer
- nombre à saisir, dont la réponse dépend de la question précédente, afin de séparer compétence de respect des priorités opératoires et compétence de calcul pur.

Mon code :

\element{general}{

  \begin{question}{a-priorite}
    dans l'expression $2+3\times5$, quel est le premier calcul à effectuer ?
    \begin{reponseshoriz}[o]
      \mauvaise{l'addition $2+3$}\scoring{0,setglobal.Reponse=A}
      \bonne{la multiplication $3\times5$}\scoring{1,setglobal.Reponse=M}
    \end{reponseshoriz}
  \end{question}

  \begin{questionmultx}{b-calcul}
   Quel est le résultat de cette première opération à effectuer ?
    \AMCnumericChoices{}{digits=2,approx=1,alsocorrect=((Reponse==A)*5+(Reponse==M)*15)}
  \end{questionmultx}
}

mais j'ai une erreur de compilation
! LaTeX3 Error: Misplaced equals sign in key-value input on line 146

Une idée ?
J'avais pensé que la formule étant en perl, elle accepterait les tests :-)
Mais c'est le compilateur LateX qui bloque semble-t-il ? :-(

Merci d'avance pour vos idées !

RE: reprendre un résultat dans la question suivante - Added by Alexis Bienvenüe about 1 month ago

Plusieurs difficultés :
  • il y a un signe égal dans la valeur d'un paramètre (alsocorrect), donc il doit falloir mettre des guillemets autour
  • la valeur A ne sera pas définie (il faut des valeurs numériques, ou bien mettre entre guillemets mais je ne sais pas si ça marchera bien)

Je propose de simplifier comme ça :

\element{general}{

  \begin{question}{a-priorite}
    dans l'expression $2+3\times5$, quel est le premier calcul à effectuer ?
    \begin{reponseshoriz}[o]
      \mauvaise{l'addition $2+3$}\scoring{0,setglobal.Reponse=5}
      \bonne{la multiplication $3\times5$}\scoring{1,setglobal.Reponse=15}
    \end{reponseshoriz}
  \end{question}

  \begin{questionmultx}{b-calcul}\scoring{MAX=2}
   Quel est le résultat de cette première opération à effectuer ?
    \AMCnumericChoices{}{digits=2,approx=1,alsocorrect=Reponse}
  \end{questionmultx}
}

RE: reprendre un résultat dans la question suivante - Added by Liouba Leroux about 1 month ago

Oui, dans ce cas d'usage c'est beaucoup plus simple ainsi !
Et pour des cas plus "tordus", je note l'utilisation nécessaire des guillemets.
Merci beaucoup !

RE: reprendre un résultat dans la question suivante - Added by Liouba Leroux about 1 month ago

Juste une autre question.
Dans la proposition d'Alexis, Reponse est une variable globale. J'aurais tendance à penser qu'il n'y a pas d'inconvénient à la réutiliser pour chaque question de ce type puisque sa valeur est "immédiatement" utilisée dans \AMCnumericChoices mais je me méfie. Vous paraît-il plus prudent de changer de variable globale à chaque question ?
Merci encore !

RE: reprendre un résultat dans la question suivante - Added by Alexis Bienvenüe about 1 month ago

Il faut se méfier en effet. Les scores sont calculés question après question, en prenant les questions non pas dans l'ordre d'apparition sur les copies, mais dans l'ordre des identifiants de question.
Donc si vous faites la même chose avec deux questions a-choix et b-final, les scores seront calcules dans l'ordre a-choix, a-priorite, b-calcul, b-final et cela va créer des interférences. Il faut donc être très attentif aux identifiants de question, ou bien choisir des noms de variables globales différents.

RE: reprendre un résultat dans la question suivante - Added by Liouba Leroux about 1 month ago

Oui, d'accord. Je comprends le besoin. Même si çà augmente le risque d'oubli de mise à jour lors de copier-coller, je vais utiliser des variables différentes !

RE: reprendre un résultat dans la question suivante - Added by Alexis Bienvenüe about 1 month ago

L'autre solution consiste à utiliser des identifiants de question du genre calcul-priorite-a et calcul-priorite-b (mettre le a et b à la fin plutôt qu'au début)

(1-21/21)