pb type de réponse

Vous lisez 2 fils de discussion
  • Auteur
    Messages
    • #4455
      byache
      Participant
      Up
      0
      Down
      ::

      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)&nbsp; (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

    • #4458
      Julien
      Modérateur
      Up
      0
      Down
      ::

      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.
    • #4460
      byache
      Participant
      Up
      0
      Down
      ::

      Merci Julien,
      Effectivement, j’ai repris le contenu de case.input dans mon fichier autoeval.input
      J’ai mis type=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

Vous lisez 2 fils de discussion
  • Vous devez être connecté pour répondre à ce sujet.