\embed{definition}{&nbsp;}
A partir de ce qu'on a vu prcdemment, on peut imaginer d'autres manires de
rentrer les donnes, envisager de mettre des feedback selon les questions et les rponses. 
Le tout est d'organiser ces donnes de manire systmatique selon vos besoins et le type d'informations. 

Donnons un exemple : il y aura un nombre variable de rponses, 
plusieurs rponses possibles, un  feedback pour certaines rponses fausses : 

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>

le fichier source de l'exercice OEF pourrait tre par exemple


<pre class="fichier">
<div class="variable">
\title{QCM avec feedback}
\language{fr}
\author{E.Durand}
\format{html}

\matrix{Q = wims(\randrecord dataqcm)}
\text{enonce = \\Q[1;]}
\text{n = \\Q[2;]}
\text{reponse = \\Q[3;]}
\text{choixetfeed = \\Q[4..-1;]}
\text{choix = \\choixetfeed[1..\\n;]}
\text{verite = \\choix[\\reponse;]}
\text{choix = wims(\replace \internal ; \by , <tt class="w">in</tt> \\choix)}
\text{feed = \\choixetfeed[\\n+1..-1;]}
\text{feed = wims(\replace \internal ; \by , <tt class="w">in</tt> \\feed)}

\text{verite1 = 
&lt;ul>&lt;li>wims(\replace \internal ; \by &lt;/li>&lt;li> <tt class="w">in</tt> \\verite)&lt;/li>&lt;/ul>}
</div>
<div class="statement">
\statement{&lt;b>\\enonce : &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">
\answer{Question 1}{\\reponse;\\choix}{<tt class="type">type=checkbox</tt>}
\solution{\\verite1}
\text{commentaire = REMARQUES : &lt;br>}
<tt class="comm">\\for</tt>{i = 1 <tt class="w">to</tt> \\n}{
    \text{commentaire = \\commentaire &lt;B>item(\\i,A,B,C,D,E) - \\choix[\\i] :&lt;/B>}
    <tt class="comm">\\if</tt>{ (\\choix[\\i] isin <tt class="reply">\\reply1</tt>) \and \\i isitemof \\reponse }
        { \text{ajout = &lt;i>vrai en effet&lt;/i>&lt;br>} }
        { <tt class="comm">\\if</tt>{ (\\choix[\\i] isin <tt class="reply">\\reply1</tt> \or \\i isitemof \\reponse)}
          {\text{ajout = \\feed[\\i] &lt;br>}}
          {\text{ajout = &lt;i>faux en effet&lt;/i>&lt;br>}}
        }
    \text{commentaire = \\commentaire \\ajout }
}
\feedback{1 = 1}{\\commentaire }
</div>
</pre>
