Accueil › Forums › Programmation WIMS › Programmation dans le langage wims › pb type de réponse
- Ce sujet contient 2 réponses, 2 participants et a été mis à jour pour la dernière fois par byache, le il y a 6 années et 6 mois.
-
AuteurMessages
-
-
7 juin 2018 à 15:13 #4455byacheParticipant::
Bonjour,
J’essaye de faire un type de réponse « autoeval » dans un module modtool oef et je ne comprend pas pourquoi ça ne marche pas…
Si quelqu’un a une idée… Ca fait longtemps que je n’ai plus bricolé les types de réponse…L’idée est que c’est l’élève lui-même qui se met une note (valeur entière entre 0 et 3) (C’est pour un truc très particulier, évidemment… 🙂
Voilà mes fichiers :autoeval.input :
!set anstype=yes !set anstyle=noanswer !if $wims_read_parm=def !exit !endif !if $wims_read_parm!=noprompt <tr><td align=right>$(replyname$i) (Entrez un nombre entier entre 0 et 3) : </td> !endif !set inputoption=!replace internal $ $ by $\ $ in $inputsize !set inputsize=!line 1 of $inputoption !set inputoption=!line 2 to -1 of $inputoption !set option=!line 1 of $inputoption !if $option issametext default !set option=class="wims_oef_input" !set inputoption=!line 2 to -1 of $inputoption !endif !set inputoption=$option $inputoption !bound inputsize between integer 1 and 100 default 40 <td><input size=$inputsize name=reply$i value="$(reply$i)" $inputoption></td></tr> !reset inputsize inputoption option
Apparemment ce fichier fonctionne car quand j’envoie la réponse « 2 », il y a bien reply1=2 dans l’url.
fichier autoeval :
!if $(reply$i) notitemof 0,1,2,3 test=NaN !exit !endif !if $(reply$i)>0 partialgood$i=yes diareply$i=good !else partialgood$i=no diareply$i=bad !endif freegot=$($freegot+$(reply$i)/3)
Là, il doit y avoir un problème car quoi que je mette, la note est toujours 10. (Même si je n’entre pas une valeur autorisée.)
J’ai essayé de changer le anstype déclaré dans le fichier autoeval.input, sans succès.
Mais peut-être que ce comportement provient uniquement de ce que je suis dans modtool sans être loggué dans une classe ?Merci pour toute suggestion !
Cordialement,
Paul -
7 juin 2018 à 21:56 #4458JulienModérateur::
Bonjour,
Pour le fichier autoeval.input tu peux faire un lien symbolique vers le fichier case ou copier coller le fichier case.input. Après dans ton exo oef, tu écris cela :
\title{frqer} \css{<style type="text/css"> #test{ float:right; text-align: right; text} </style>} \statement{ <span id="test"> <label for="reply1">Niveau :</label> \embed{reply1,3 type="number" min="0" max="3" step="1"} </span> } \answer{}{0,1,2,3}{type=autoeval}
Pour le fichier autoeval, tu peux écrire :
m_reply$i=$(reply$i) !if $(reply$i) notitemof $(replygood$i) Test= bad $i test=NaN !exit !else diag=yes !endif !if $diag=yes diareply$i=good freegot=$[$freegot+$(reply$i)/3] !endif
Je considère que la réponse est bonne dès que l’élève a réalisé son autoévaluation même si le résultat n’est pas bon. Je trouve cela plus motivant.
++
- Cette réponse a été modifiée le il y a 6 années et 6 mois par Julien.
-
8 juin 2018 à 08:34 #4460byacheParticipant::
Merci Julien,
Effectivement, j’ai repris le contenu de case.input dans mon fichier autoeval.input
J’ai mistype=noanswer
pour éviter qu’il y ait écrit « la bonne réponse était 0,1,2,3 » (avec noanswer il n’y a pas d’affichage de l’analyse de la réponse)Mais ce qui fait que ça ne marchait pas est qu’il faut obligatoirement indiquer une bonne réponse dans le source de l’exercice oef : si je laisse ce champ ligne, l’exercice ne fonctionne pas mais dès que je mets un caractère (n’importe lequel), ça fonctionne. C’est logique vu le fonctionnement habituel de wims… J’ai essayé diverses ruses (essayé de mettre une ligne
replygood$i=nimporte quoi
au début de mon fichier « autoeval », j’ai mis un replygood$i envoyé dans un input type=hidden dans le fichier autoeval.input…), mais impossible de palier à cela. Mais ce n’est pas très grave.Il y avait aussi bien sûr mon erreur de débutant : les parenthèses au lieu des crochets devant le « $ » de la ligne avec le freegot…
Merci pour le truc dans le embed, pour forcer à entrer des nombres entiers entre 0 et 3 !
Bien cordialement,
Paul
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.