!set titb=QCM version facile
!set keyw=
!set datm=20050429
!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; 
Dans l'exercice décrit dans la suite,  toutes les questions du fichier sont affichées
dans l'ordre où elles ont été écrites. 
Le nombre de choix peut être différent selon les questions.
<p>
Le fichier de données <tt class="e">data1</tt> doit être de la forme 
<p>
<pre class="c">
&#58;texte de la question 1
numéro de la réponse
choix1
choix2
choix3
<p>
&#58;texte de la question 2
numéro de la réponse
choix1
choix2
choix3
</pre>
<p>
Vous pouvez recopier  
!read primitives.phtml 2, link, fichierqcm1 
 dans <tt class="d">src/qcm.oef</tt>
et sauf erreur de ma part, votre qcm devrait fonctionner. 
Vous pouvez/devez  le nombre de questions,  le nom du fichier de données, 
le type de réponses &#58; <font color="green">checkbox </font> au lieu de <font color="green">radio</font>&#58;
<p>
Voici quelques explications sur le code &#58; 
<p>
<pre class="c">
<div class="variable">
$m_title{QCM sans feedback (toutes les questions)}
$m_text{N = <font color=green>3</font>}
Nom du fichier
$m_text{data = <font color="green">data1</font>}
$m_integer{cnt_question = $m_wims($m_recordcnt \data)}
<p>
$m_text{bat = $m_shuffle(\cnt_question)}
<p>
$m_matrix{question = }
$m_matrix{rep = }
$m_text{CNT_choix = }
$m_matrix{CHOIX = }
<tt class="comm">\for</tt>{i = 1 <tt class="w">to</tt> \N }{
  $m_matrix{QUEST = $m_wims($m_record \bat[\i] of \data)}
  $m_matrix{question = \question
  \QUEST[1;]}
  </div>
 </pre>
 <div class="aide">Construit la matrice des questions</div>
 <pre class="c">
 <div class="variable">
  $m_integer{cnt_choix = $m_rows(\QUEST)-2}
  $m_text{CNT_choix = \CNT_choix,\cnt_choix}
  $m_text{Choix = }
  $m_text{mix = $m_shuffle(\cnt_choix)}
   <tt class="comm">\for</tt>{ j = 3 <tt class="w">to</tt> \cnt_choix + 2}{
     $m_text{choix = \QUEST[\j;]}
     $m_matrix{Choix = \Choix, \choix[1;]}
   }
   $m_text{Choix = $m_wims($m_nonempty <tt class="w">items</tt> \Choix)}
   $m_text{Choix = \Choix[\mix]}
 </div>
 </pre>
 <div class="aide">Mélange les choix pour chacune des questions</div>
 <pre class="c">
 <div class="variable">
   $m_matrix{CHOIX = \CHOIX
     \Choix}
   $m_text{H = $m_wims($m_nospace \QUEST[2;])}
   $m_text{pos = }
   <tt class="comm">\for</tt>{r <tt class="w">in</tt> \H}{ $m_text{pos = \pos,$m_position(\r,\mix)} }
   $m_text{pos = $m_wims($m_nonempty <tt class="w">items</tt> \pos)}
   $m_matrix{rep = \rep
   \pos}
   $m_matrix{rep = \rep
   $m_position(\H,\mix)}
}
     </div>
 </pre>
 <div class="aide">Construit la matrice des réponses</div>
 <pre class="c">
<p>
 <div class="variable">
$m_text{CNT_choix = $m_wims($m_nonempty <tt class="w">items</tt> \CNT_choix)}
$m_text{STEP = $m_wims($m_makelist r x <tt class="w">for</tt> x = 1 <tt class="w">to</tt> \N)}
$m_steps{\STEP}
</div>
<div class="statement">
$m_statement{
Répondre aux questions
&lt;ol>
 <tt class="comm">\for</tt>{h = 1 <tt class="w">to</tt> \N}{
   &lt;li>\question[\h;]
     &lt;ul>
     <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">
$m_answer{}{\rep[1;];\CHOIX[1;]}{<tt class="type">type=radio</tt>}
$m_answer{}{\rep[2;];\CHOIX[2;]}{<tt class="type">type=radio</tt>}
$m_answer{}{\rep[3;];\CHOIX[3;]}{<tt class="type">type=radio</tt>}
$m_answer{}{\rep[4;];\CHOIX[4;]}{<tt class="type">type=radio</tt>}
$m_answer{}{\rep[5;];\CHOIX[5;]}{<tt class="type">type=radio</tt>}
$m_answer{}{\rep[6;];\CHOIX[6;]}{<tt class="type">type=radio</tt>}
$m_answer{}{\rep[7;];\CHOIX[7;]}{<tt class="type">type=radio</tt>}
$m_answer{}{\rep[8;];\CHOIX[8;]}{<tt class="type">type=radio</tt>}
$m_answer{}{\rep[9;];\CHOIX[9;]}{<tt class="type">type=radio</tt>}
$m_answer{}{\rep[10;];\CHOIX[10;]}{<tt class="type">type=radio</tt>}
$m_answer{}{\rep[11;];\CHOIX[11;]}{<tt class="type">type=radio</tt>}
$m_answer{}{\rep[12;];\CHOIX[12;]}{<tt class="type">type=radio</tt>}
$m_answer{}{\rep[13;];\CHOIX[13;]}{<tt class="type">type=radio</tt>}
</div>
</pre>
<h2> Remarques</h2>
Dans ce type de QCM, il n'est pas possible de mettre des variables aléatoires dans 
les questions. Si vous désirez le faire, il faut alors mettre les questions 
dans le fichier <tt class="e">src/xxx.oef</tt> dans une variable 
<tt class="c">$m_matrix{A = ...}</tt>
<p>
On peut remplacer <tt class="c">radio</tt> par <tt class="c">checkbox</tt>
 si plusieurs réponses sont possibles. 

