\embed{definition}{ } On désire faire un exercice présentant un texte avec des mots à trouver parmi une liste proposée (par exemple par un menu à choix). Il peut donc ici ne pas y avoir forcément de fichiers audio.

- Dans un fichier `data`, il y aura plusieurs textes. Vous trouverez \link{datachoix}{ici} les règles pour créer le fichier `data`
- L'exercice proprement dit est un exercice oef et doit donc avoir comme nom (ou plutôt adresse) quelque chose comme `src/toto.oef`. En voici un exemple (\link{fichierchoix})

    \title{Texte à trous avec choix}
    \text{cnt_record= \wims(\recordcnt data)}
    \text{H=\randint(\\cnt_record)}
    \text{texte= \wims(\record \\H of data)}

On choisit au hasard un des textes du fichier `data`.

    \matrix{texte = \slib(text/cutchoices \\texte)}
    \text{cntrow=\rows(\\texte)}
    \integer{cntQ=\\cntrow/2-1}
    \text{trou =}
    \text{rep = }
    \\for{i= 1 to \\cntQ}{
      \text{trou1=\\texte[2*\\i;]}
      \text{cnt = \items(\\trou1)}
      \text{mix = \shuffle(\\cnt)}
      \matrix{trou=\\trou
      \\trou1[\\mix]}
      \text{rep = \\rep,\position(1,\mix)}
     }
     \text{rep =\wims(\nonempty items \\rep)}

Crée la liste des réponses et des choix

    \text{STEP = \wims(\makelist r x for x=1 to \\cntQ)}
    \steps{\\STEP}

Ceci contrôle le nombre de questions, c'est-à-dire le nombre de trous dans le texte

    \statement{ Compléter le texte :

    <p style="background-color : #AAFFFF;
    padding : 1%;
    margin : 5% 15%;">
    \\for{k = 1 to \\cntQ}{
        \\texte[2*\\k-1;]  \\embed{\\STEP[\\k]}
     }
    \\texte[2*\\cntQ+1;]
    </p>
    }

    \answer{}{\\rep[1];\\trou[1;]}{type=menu}
    \answer{}{\\rep[2];\\trou[2;]}{type=menu}
    \answer{}{\\rep[3];\\trou[3;]}{type=menu}
    \answer{}{\\rep[4];\\trou[4;]}{type=menu}
    \answer{}{\\rep[5];\\trou[5;]}{type=menu}
    \answer{}{\\rep[6];\\trou[6;]}{type=menu}
    \answer{}{\\rep[7];\\trou[7;]}{type=menu}
    \answer{}{\\rep[8];\\trou[8;]}{type=menu}
    \answer{}{\\rep[9];\\trou[9;]}{type=menu}
    \answer{}{\\rep[10];\\trou[10;]}{type=menu}
    \answer{}{\\rep[11];\\trou[11;]}{type=menu}
    \answer{}{\\rep[12];\\trou[12;]}{type=menu}
    \answer{}{\\rep[13];\\trou[13;]}{type=menu}
    \answer{}{\\rep[14];\\trou[14;]}{type=menu}
    \answer{}{\\rep[15];\\trou[15;]}{type=menu}
    \answer{}{\\rep[16];\\trou[16;]}{type=menu}
    \answer{}{\\rep[17];\\trou[17;]}{type=menu}
    \answer{}{\\rep[18];\\trou[18;]}{type=menu}
    \answer{}{\\rep[19];\\trou[19;]}{type=menu}
    \answer{}{\\rep[20];\\trou[20;]}{type=menu}

Ici au plus 20 trous à remplir. Mais on peut augmenter ...