\embed{definition}{&nbsp;}
Voici un QCM où les réponses sont analysées à la fin de toutes les questions. 
Le nombre de questions peut être variable (<tt class="cc">N</tt>), 
seules les conditions utiles servent.  Le fichier de données correspondant est le même que pour les deux types de QCM précédents
<pre class="cc">
<div class="variable">
\title{QCM : question une par une}
\text{N = <font color="green">3</font>}
\text{data = <font color="green">data1</font>}
\integer{cnt_question = \wims(\recordcnt \data) }
\text{bat = \shuffle(\cnt_question)}
\matrix{question = }
\matrix{rep = }
\text{CNT_choix = }
\matrix{CHOIX = }
<tt class="comm">\\for</tt>{i = 1 <tt class="w">to</tt> \\N  }{
  \matrix{QUEST = \wims(\record \\bat[\\i] of \data)}
  \matrix{question = \\question
  \\QUEST[1;]}
  \integer{cnt_choix = \rows(\\QUEST)-2}
  \text{CNT_choix = \\CNT_choix,\\cnt_choix}
   \text{Choix = }
   \text{mix = \shuffle(\\cnt_choix)}
   <tt class="comm">\\for</tt>{ j = 3 <tt class="w">to</tt> \\cnt_choix + 2}{
     \text{choix = \\QUEST[\\j;]}
     \matrix{Choix = \\Choix, \\choix[1;]}
   }
   \text{Choix = \wims(\nonempty <tt class="w">items</tt> \\Choix)}
   \text{Choix = \\Choix[\\mix]}
   \matrix{CHOIX = \\CHOIX
     \\Choix}
   \text{H = \wims(\nospace \\QUEST[2;])}
   \text{pos = }
   <tt class="comm">\\for</tt>{r <tt class="w">in</tt> \\H}{ \text{pos = \\pos,\position(\\r,\\mix)} }
   \text{pos = \wims(\nonempty <tt class="w">items</tt> \\pos)}
   \matrix{rep = \\rep
   \\pos}
}

\text{CNT_choix = \wims(\nonempty <tt class="w">items</tt> \\CNT_choix)}

\text{STEP = \wims(\makelist r x <tt class="w">for</tt> x = 1 <tt class="w">to</tt> \\N)}
\text{STEP = \wims(\replace \internal , \by ; in \\STEP)}
\text{CONDITION = \wims(\makelist x <tt class="w">for</tt> x = 1 <tt class="w">to</tt> \\cnt_question)}
\steps{\\STEP}
\conditions{\\CONDITION}
</div>
</pre>
<div class="aide">Ici <tt class="c">STEP</tt> est de la forme
<tt class="c"><tt class="reply">r1</tt>;<tt class="reply">r2</tt>;<tt class="reply">r3</tt></tt>, à chaque étape, il y a une question 
supplémentaire. La réponse est analysée grâce aux conditions 
(il y en a une par question)
</div>
<pre class="cc">
<div class="statement">
\statement{
 <tt class="comm">\\for</tt>{h = 1 <tt class="w">to</tt> \\step}{
  &lt;p>
  \\question[\\h;]
  <tt class="comm">\\if</tt>{\\h &lt; \\step}{
    &lt;font color=green>\\CHOIX[\\h;\\rep[\\h;]]&lt;/font>
 &lt;/p>}
  {&lt;/p>&lt;ol>
   <tt class="comm">\\for</tt>{s = 1 <tt class="w">to</tt> \\CNT_choix[\\h]}{
   &lt;li><tt class="comm">\\embed</tt>{reply \\h , \\s }&lt;/li>
   }
   &lt;/ul>&lt;/li>
 }
&lt;/ol>
 }
}
</div>
<div class="variable">
\answer{}{\\REP1;\\CHOIX[1;]}{<tt class="type">type=radio</tt>}
\answer{}{\\REP2;\\CHOIX[2;]}{<tt class="type">type=radio</tt>}
\answer{}{\\REP3;\\CHOIX[3;]}{<tt class="type">type=radio</tt>}
\answer{}{\\REP4;\\CHOIX[4;]}{<tt class="type">type=radio</tt>}
\answer{}{\\REP5;\\CHOIX[5;]}{<tt class="type">type=radio</tt>}
\answer{}{\\REP6;\\CHOIX[6;]}{<tt class="type">type=radio</tt>}
\answer{}{\\REP7;\\CHOIX[7;]}{<tt class="type">type=radio</tt>}
\answer{}{\\REP8;\\CHOIX[8;]}{<tt class="type">type=radio</tt>}
\answer{}{\\REP9;\\CHOIX[9;]}{<tt class="type">type=radio</tt>}
\answer{}{\\REP10;\\CHOIX[10;]}{<tt class="type">type=radio</tt>}

\condition{Question 1 : \\REP1}{\\REP1 \issametext \\CHOIX[1;\\rep[1;]]}
\condition{Question 2 : \\REP2}{\\REP2 \issametext \\CHOIX[2;\\rep[2;]]}
\condition{Question 3 : \\REP3}{\\REP3 \issametext \\CHOIX[3;\\rep[3;]]}
\condition{Question 4 : \\REP4}{\\REP4 \issametext \\CHOIX[4;\\rep[4;]]}
\condition{Question 5 : \\REP5}{\\REP5 \issametext \\CHOIX[5;\\rep[5;]]}
\condition{Question 6 : \\REP6}{\\REP6 \issametext \\CHOIX[6;\\rep[6;]]}
\condition{Question 7 : \\REP7}{\\REP7 \issametext \\CHOIX[7;\\rep[7;]]}
\condition{Question 8 : \\REP8}{\\REP8 \issametext \\CHOIX[8;\\rep[8;]]}
\condition{Question 9 : \\REP9}{\\REP9 \issametext \\CHOIX[9;\\rep[9;]]}
\condition{Question 10 : \\REP10}{\\REP10 \issametext \\CHOIX[10;\\rep[10;]]}

</div>
</pre>