!set titb=Un QCM avec feedback
!set keyw=
!set datm=20050428
!set prev=
!set next=
!set upbl=main
!set dat1=19000101
!set dat2=24000101


!if $wims_read_parm!=$empty
 !goto $wims_read_parm
!endif
!exit

:content

!read primitives.phtml 1, embed, definition, &nbsp; 

A partir de ce qu'on a vu précédemment, on peut imaginer d'autres manières de
rentrer les données, envisager de mettre des feedback selon les questions et les réponses. 
Le tout est d'organiser ces données de manière systématique selon vos besoins et le type d'informations. 
<p>
Donnons un exemple &#58; il y aura un nombre variable de réponses, 
plusieurs réponses possibles, un  feedback pour certaines réponses fausses &#58; 
<p>
On peut par exemple avoir un fichier <tt class="e">dataqcm</tt> de la forme suivante 
<pre class="d">
question
nombre de questions
numero des bons choix 
choix1
choix2
...
feedback1
feedback2
...
</pre>
<p>
le fichier source de l'exercice OEF pourrait être par exemple
<p>
<pre class="fichier">
<div class="variable">
$m_title{QCM avec feedback}
$m_language{fr}
$m_author{E.Durand}
$m_format{html}
<p>
$m_matrix{Q = wims($m_randrecord dataqcm)}
$m_text{enonce = \Q[1;]}
$m_text{n = \Q[2;]}
$m_text{reponse = \Q[3;]}
$m_text{choixetfeed = \Q[4..-1;]}
$m_text{choix = \choixetfeed[1..\n;]}
$m_text{verite = \choix[\reponse;]}
$m_text{choix = wims($m_replace $m_internal ; $m_by , <tt class="w">in</tt> \choix)}
$m_text{feed = \choixetfeed[\n+1..-1;]}
$m_text{feed = wims($m_replace $m_internal ; $m_by , <tt class="w">in</tt> \feed)}
<p>
$m_text{verite1 = 
&lt;ul>&lt;li>wims($m_replace $m_internal ; $m_by &lt;/li>&lt;li> <tt class="w">in</tt> \verite)&lt;/li>&lt;/ul>}
</div>
<div class="statement">
$m_statement{&lt;b>\enonce &#58; &lt;/b>&lt;/p>
&lt;ul>
<tt class="comm">\for</tt>{i = 1 <tt class="w">to</tt> \n}{ &lt;li TYPE=A> <tt class="comm">\embed</tt>{<tt class="reply">reply1</tt>,\i} &lt;/li>}
&lt;/ul>
}
</div>
<div class="variable">
$m_answer{Question 1}{\reponse;\choix}{<tt class="type">type=checkbox</tt>}
$m_solution{\verite1}
$m_text{commentaire = REMARQUES &#58; &lt;br>}
<tt class="comm">\for</tt>{i = 1 <tt class="w">to</tt> \n}{
    $m_text{commentaire = \commentaire &lt;B>item(\i,A,B,C,D,E) - \choix[\i] &#58;&lt;/B>}
    <tt class="comm">\if</tt>{ (\choix[\i] isin <tt class="reply">\reply1</tt>) $m_and \i isitemof \reponse }
        { $m_text{ajout = &lt;i>vrai en effet&lt;/i>&lt;br>} }
        { <tt class="comm">\if</tt>{ (\choix[\i] isin <tt class="reply">\reply1</tt> $m_or \i isitemof \reponse)}
          {$m_text{ajout = \feed[\i] &lt;br>}}
          {$m_text{ajout = &lt;i>faux en effet&lt;/i>&lt;br>}}
        }
    $m_text{commentaire = \commentaire \ajout }
}
$m_feedback{1 = 1}{\commentaire }
</div>
</pre>

