\embed{definition}{&nbsp;}
Nous donnons ici un exemple de programmes permettant de crer un 
texte  trous  complter par exemple  l'coute d'un texte.  Beaucoup 
de variantes sont possibles. 

Il s'agit d'une version trs simple. 
<ul><li>Dans un fichier <tt class="e">data</tt>,
il y aura plusieurs textes.
Vous trouverez  \link{data}{ici} les rgles pour crer 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 
plutt adresse) <tt class="e">src/toto.oef</tt>. En voici
un exemple (\link{fichiertrous})
</li>
</ul>
<pre class="cc">
<div class="variable">
\title{Texte  trous (dicte)}
\text{cnt_record = \wims(\recordcnt data)}
\text{H = \randint(\\cnt_record)}
\text{texte = \wims(\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">
\text{bande = \wims(\word 1 of \\texte)}
\text{texte = \wims(\replace \internal \\bande \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">
\matrix{texte = \slib(text/cutchoices \\texte)}
\text{cntrow = \rows(\\texte)}
\integer{cntQ = \\cntrow/2-1}
\text{trou = }
<tt class="comm">\\for</tt>{i = 1 <tt class="w">to</tt> \\cntQ}{
  \text{trou1 = \\texte[2*\\i;]}
  \text{trou = \\trou, \\trou1} 
 }
\text{trou = \wims(\nonempty <tt class="w">items</tt> \\trou)}
</div>
</pre>
<div class="aide"> Cre la liste des rponses
</div>
<pre class="cc">
<div class="variable">
\text{audio = \slib(media/audio \imagedir/\\bande )}
</div>
</pre>
<div class="aide">Cre le code html pour la lecture du matriel audio. Attention, 
ce script slib n'existe qu' partir de la version 3.50. Sinon, vous devez vous mme vous le fabriquer.
</div>
<pre class="cc">
<div class="variable">
\text{STEP = \wims(\makelist r x <tt class="w">for</tt> x = 1 <tt class="w">to</tt> \\cntQ)}
\steps{\\STEP}
</div>
</pre>
<div class="aide">Ceci contrle le nombre de questions, c'est--dire
le nombre de trous dans le texte
</div>
<pre class="cc">
<div class="statement">
\statement{ Ecouter \\audio et complter le texte:  

&lt;p style="background-color : #AAFFFF;
padding : 1%;
margin : 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}
 }
\texte[2*\\cntQ+1;]
&lt;/p>
}
</div>
</pre>
<pre class="cc">
<div class="variable">
\answer{}{\\trou[1]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[2]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[3]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[4]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[5]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[6]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[7]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[8]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[9]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[10]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[11]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[12]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[13]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[14]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[15]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[16]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[17]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[18]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[19]}{<tt class="type">type=case</tt>}
\answer{}{\\trou[20]}{<tt class="type">type=case</tt>}
</div>
</pre>

<div class="aide">Ici au plus 20 trous  remplir. Mais on peut augmenter ...
</div>
