!set titb=Dictée à trous
!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; 

Nous donnons ici un exemple de programmes permettant de créer un 
texte à trous à compléter par exemple à l'écoute d'un texte.  Beaucoup 
de variantes sont possibles. 
<p>
Il s'agit d'une version très simple. 
<ul><li>Dans un fichier <tt class="e">data</tt>,
il y aura plusieurs textes.
Vous trouverez  
!read primitives.phtml 2, link, data, ici 
 les règles pour créer le fichier <tt class="e">data</tt>
</li><li>
Le fichier audio doit se trouver soit dans <tt class="e">images</tt>, 
soit dans <tt class="e">images/nom_fichier_exo</tt>. Dans le premier
cas, vous devez changer une ligne dans le fichier <tt class="e">var.proc</tt>
<pre class="c"> image_common=yes</pre>
</li>
<li>L'exercice proprement dit est un exercice oef et doit donc avoir comme nom (ou 
plutôt adresse) <tt class="e">src/toto.oef</tt>. En voici
un exemple (
!read primitives.phtml 3, link, fichiertrous 
)
</li>
</ul>
<pre class="cc">
<div class="variable">
$m_title{Texte à trous (dictée)}
$m_text{cnt_record = $m_wims($m_recordcnt data)}
$m_text{H = $m_randint(\cnt_record)}
$m_text{texte = $m_wims($m_record \H of data)}
</div>
</pre>
<div class="aide"> On choisit au hasard un des textes du fichier 
<tt class="e">data</tt>.
</div>
<pre class="cc">
<div class="variable">
$m_text{bande = $m_wims($m_word 1 of \texte)}
$m_text{texte = $m_wims($m_replace $m_internal \bande $m_by <tt class="w">in</tt> \texte)}
</div>
</pre>
<div class="aide">Le premier mot du texte doit être le
nom du fichier audio.
</div>
<pre class="cc">
<div class="variable">
$m_matrix{texte = $m_slib(text/cutchoices \texte)}
$m_text{cntrow = $m_rows(\texte)}
$m_integer{cntQ = \cntrow/2-1}
$m_text{trou = }
<tt class="comm">\for</tt>{i = 1 <tt class="w">to</tt> \cntQ}{
  $m_text{trou1 = \texte[2*\i;]}
  $m_text{trou = \trou, \trou1} 
 }
$m_text{trou = $m_wims($m_nonempty <tt class="w">items</tt> \trou)}
</div>
</pre>
<div class="aide"> Crée la liste des réponses
</div>
<pre class="cc">
<div class="variable">
$m_text{audio = $m_slib(media/audio $m_imagedir/\bande )}
</div>
</pre>
<div class="aide">Crée le code html pour la lecture du matériel audio. Attention, 
ce script slib n'existe qu'à partir de la version 3.50. Sinon, vous devez vous même vous le fabriquer.
</div>
<pre class="cc">
<div class="variable">
$m_text{STEP = $m_wims($m_makelist r x <tt class="w">for</tt> x = 1 <tt class="w">to</tt> \cntQ)}
$m_steps{\STEP}
</div>
</pre>
<div class="aide">Ceci contrôle le nombre de questions, c'est-à-dire
le nombre de trous dans le texte
</div>
<pre class="cc">
<div class="statement">
$m_statement{ Ecouter \audio et compléter le texte&#58;  
<p>
&lt;p style="background-color &#58; #AAFFFF;
padding &#58; 1%;
margin &#58; 5% 15%;"> 
<tt class="comm">\for</tt>{k = 1 <tt class="w">to</tt> \cntQ}{
    \texte[2*\k-1;]  <tt class="comm">\embed</tt>{\STEP[\k], 10}
 }
$(m_texte[2*\cntQ+1;])
&lt;/p>
}
</div>
</pre>
<pre class="cc">
<div class="variable">
$m_answer{}{\trou[1]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[2]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[3]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[4]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[5]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[6]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[7]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[8]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[9]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[10]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[11]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[12]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[13]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[14]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[15]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[16]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[17]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[18]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[19]}{<tt class="type">type=case</tt>}
$m_answer{}{\trou[20]}{<tt class="type">type=case</tt>}
</div>
</pre>
<p>
<div class="aide">Ici au plus 20 trous à remplir. Mais on peut augmenter ...
</div>

