Rev 14236 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
type=gapfill first
textarea="explain data feedback_general"
iEdit="explain feedback_general"
asis="explain feedback_general"
:Réponses à choisir dans un menu déroulant ou à écrire dans une case. Un seul texte peut être proposé
Cet exercice présente un texte où des champs à réponse sont insérés.
<p>
Pour construire un exercice avec ce modèle, il suffit d'entrer les textes.
Une syntaxe facile permet d'incorporer les champs de choix multiples et les
réponses libres dans les textes.</p>
<p>Auteur du modèle : Gang Xiao <qualite@wimsedu.info></p>
:%%%%%%%%%%%%%%%%% ATTENTION %%%%%%%%%%%%%%%%%%%%
Enlevez l'en-tête ci-dessus si vous détruisez les balises pour le modèle !
(Ce sont les lignes qui commencent par un ':'.)
Sinon l'exercice risque de ne pas pouvoir repasser sous Createxo.
:%%%%%%%% Paramètres d'exemples à redéfinir %%%%%%%%%%%%%%%%%
:\title{Texte à compléter}
:\author{XIAO, Gang}
:\email{qualite@wimsedu.info}
:\credits{}
:\keywords{}
:Consigne pour les apprenants
\text{explain=Remplissez.}
:Données principales.
Les questions à poser doivent être mises entre une paire de
double-points d'interrogation "??".
<p>
La question est un choix multiple de type menu s'il contient plusieurs objets séparés
par des virgules, la bonne réponse étant à écrire en premier.
Si la question (entre ??) ne contient qu'un objet, c'est alors une réponse libre (réponse à écrire),
numérique s'il s'agit d'un nombre ou textuelle sinon.</p>
<p>
On peut mettre jusqu'à 20 questions dans le texte.
Si plusieurs réponses correctes sont possibles dans une réponse libre, séparer
toutes les bonnes réponses (synonymes) par un trait vertical <span class="tt wims_code_words">|</span>.
L'analyse est alors faite par symtext pour les experts.</p>
<p>$embraced_randitem</p>
\text{data=
Linux a été créé en l'année
??1991??
par Linus Torvalds qui était un étudiant
??finlandais,suédois,américain,anglais,nordique?? faisant à l'époque son
apprentissage sur le système
??Minix?? sur des machines d'architecture
??Intel 386,Sun,Macintosh,Bull,Microsoft??. Il a posté la première version
de son système sur un newsgroupe, qui était la version
??0.02??.
}
:Mise en aléatoire par des accolades emboitables
$embraced_randitem
\text{accolade=item(1,oui,non)}
:Ordre d'affichage des listes de choix
Les listes de choix peuvent s'afficher avec un ordre aléatoire (shuffle) ou avec l'ordre alphabétique (alpha).
\text{list_order=item(1,alpha,shuffle)}
:Tolérance de l'analyse des réponses libres
Les types <tt>case</tt> et <tt>nocase</tt> sont surtout adaptés pour les
applications linguistiques. Dans les autres cas, préférez <tt>atext</tt>.
\text{type_rep=item(3,case (aucune tolérance d'erreur),
nocase (tolère minuscule/majuscule),
atext (ignore pluriel/singulier et articles))}
:Feedback General
Ce texte s'affichera après la réponse de l'apprenant, qu'elle soit juste ou fausse.
\text{feedback_general=}
:%%%%%%%%%%%%%% Rien à modifier avant l'énoncé %%%%%%%%%%%%%%%%
\precision{10000}
\text{data=wims(singlespace \data)}
\text{data=\accolade issametext oui ? wims(embraced randitem \data)}
\text{data=slib(text/cutchoice2 \data)}
\integer{qs=min(20,floor(rows(\data)/2))}
\text{types=}
\text{options=}
\text{lengths=}
\text{good=}
\text{field=}
\text{latextext= \data[1;]}
\text{latexsol=\data[1;]}
\for{i=1 to \qs}{
\text{f=\data[2*\i;]}
\integer{test=items(\f)}
\if{\test>1}{
\text{g=\f[1]}
\if{\list_order issametext alpha}{
\text{f=wims(sort items \f)}
}
{
\text{f=shuffle(\f,,)}
}
\text{g=positionof(\g,\f)}
\text{good=\good\g;,}
\text{field=\field\f;}
\text{types=\types[]menu,}
\text{lengths=\lengths,}
\integer{nbc = items(\f)-1}
\for{ii = 1 to \nbc}{
\text{latextext=\latextext \listchoice{\f[\ii]} / }}
\text{latextext=\latextext \listchoice{\f[\nbc+1]} \data[2*\i+1;]}
\text{latexsol=\latexsol \goodchoice{\field[\i;\g]} \data[2*\i+1;]}
}{
\text{good=\good\f,}
\integer{c=wims(charcnt \f)}
\text{field=\field;}
\real{test=\f}
\if{\test issametext NaN}{
\text{test=wims(translate internal | to , in \f)}
\integer{c=wims(charcnt \test[1])}
\integer{c=min(50,max(6,\c+6))}
\text{lengths=\lengths\c,}
\text{types=\types[]\type_rep,}
\text{options=| isin \f?\options[]symtext}
}{
\integer{c=max(5,\c+2)}
\text{lengths=\lengths\c,}
\text{f1=wims(nospace \f)}
\text{test=wims(text select -0123456789 in \f)}
\text{types=\test issametext \f1 and abs(\f)<4000?\types[]numexp,:\types[]number,}
}
\real{taille=ceil(\lengths[\i]/3)}
\text{latextext=\latextext \underline{\hspace{\taille cm}} \data[2*\i+1;]}
\text{latexsol=\latexsol \goodchoice{\f} \data[2*\i+1;]}
}
\text{options=\options,}
}
\text{qlist=wims(makelist reply x for x=1 to \qs)}
\steps{\qlist}
:%%%%%%%%%%%%% Maintenant l'énoncé en code html. %%%%%%%%%%%%%%%%%%%%
::Vous n'avez pas besoin de modifier ceci en général.
\statement{
<div class="instruction">\explain</div>
<div class="data_text">
\data[1;]
\for{k=1 to \qs}{
\if{\types[\k] notsametext menu}{
\embed{r \k,\lengths[\k]}
}{
\embed{r \k,\lengths[\k]}}
\data[2*\k+1;]
}
</div>
}
:%%%%%%%%%%%%% Rien à modifier ci-après. %%%%%%%%%%%%%%%%%5
\answer{Champ 1}{\good[1]\field[1;]}{type=\types[1]}{option=\options[1] detag}
\answer{Champ 2}{\good[2]\field[2;]}{type=\types[2]}{option=\options[2] detag}
\answer{Champ 3}{\good[3]\field[3;]}{type=\types[3]}{option=\options[3] detag}
\answer{Champ 4}{\good[4]\field[4;]}{type=\types[4]}{option=\options[4] detag}
\answer{Champ 5}{\good[5]\field[5;]}{type=\types[5]}{option=\options[5] detag}
\answer{Champ 6}{\good[6]\field[6;]}{type=\types[6]}{option=\options[6] detag}
\answer{Champ 7}{\good[7]\field[7;]}{type=\types[7]}{option=\options[7] detag}
\answer{Champ 8}{\good[8]\field[8;]}{type=\types[8]}{option=\options[8] detag}
\answer{Champ 9}{\good[9]\field[9;]}{type=\types[9]}{option=\options[9] detag}
\answer{Champ 10}{\good[10]\field[10;]}{type=\types[10]}{option=\options[10] detag}
\answer{Champ 11}{\good[11]\field[11;]}{type=\types[11]}{option=\options[11] detag}
\answer{Champ 12}{\good[12]\field[12;]}{type=\types[12]}{option=\options[12] detag}
\answer{Champ 13}{\good[13]\field[13;]}{type=\types[13]}{option=\options[13] detag}
\answer{Champ 14}{\good[14]\field[14;]}{type=\types[14]}{option=\options[14] detag}
\answer{Champ 15}{\good[15]\field[15;]}{type=\types[15]}{option=\options[15] detag}
\answer{Champ 16}{\good[16]\field[16;]}{type=\types[16]}{option=\options[16] detag}
\answer{Champ 17}{\good[17]\field[17;]}{type=\types[17]}{option=\options[17] detag}
\answer{Champ 18}{\good[18]\field[18;]}{type=\types[18]}{option=\options[18] detag}
\answer{Champ 19}{\good[19]\field[19;]}{type=\types[19]}{option=\options[19] detag}
\answer{Champ 20}{\good[20]\field[20;]}{type=\types[20]}{option=\options[20] detag}
\feedback{1=1}{\feedback_general}
\latex{
\begin{statement}
\latextext
\end{statement}
\begin{solution}
\latexsol
\end{solution}
}