Rev 5907 | Rev 11375 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
type=datalist
textarea="data"
:Questions mixtes incorporées dans un texte aléatoire.
Cet exercice présente des textes où des champs de 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>
Auteur du modèle : Gang Xiao <xiao@unice.fr>
:%%%%%%%%%%%%%%%%% 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{Textes aléatoires à trous généralisés}
:\author{XIAO, Gang}
:\email{xiao@unice.fr}
:Données principales.
Définir une question par ligne, et séparer les lignes
par un point-virgule. (Donc les textes eux-mêmes ne peuvent pas contenir
des point-virgules.) <p>
Les questions à poser doivent être mises entre une paire de
double-points d'interrogation "??".
<p>
La question est un choix multiple s'il contient plusieurs objets séparés
par des virgules, la bonne réponse étant en premier. Si la question (entre ??) ne
contient qu'un objet, c'est alors une réponse libre, numérique s'il s'agit d'un
nombre ou textuel sinon.
<p>
On peut poser jusqu'à 20 questions dans une même phrase.
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>
$embraced_randitem
\text{data=
Le début officiel de la Seconde Guerre Mondiale est marqué par
??la déclaration de guerre,l'offensive?? de
??la Grande Bretagne et la France,la France,la Grande Bretagne,
l'Allemagne,l'Union Soviétique??
contre ??l'Allemagne,La Pologne,l'Union Soviétique,la France??.;
La Seconde Guerre Mondiale s'est déroulée entre ??1939?? et
??1945??.;
??La Grande Bretagne et la France ont,La France a,La Grande Bretagne a,
Les Etats-Unis ont,L'Union Soviétique a?? déclaré la guerre
contre l'Allemagne en ??1939?? à la suite de l'invasion de
??la Pologne?? par cette dernière.;
Pendant la Seconde Guerre Mondiale, l'Espagne sous
??Francisco Franco|[F.|Francisco|] Franco?? est un pays
??neutre,axe,allié,envahi??.;
??Après avoir battu,Avant d'attaquer?? la France,
{l'Allemagne,Hitler,l'Allemagne Nazie}
a lancé une attaque surprise contre l'URSS en
??décembre,{novembre,octobre},{septembre,août,juillet},{juin,mai,avril},{mars,février,janvier}??
??1940??, sous le nom {du plan,de l'opération} ??Barbarossa??.
}
:Texte affiché avant la question. Balises html admises. Peut être vide.
$embraced_randitem
\text{pre=<p>Remplissez les cases : </p>}
:Texte affiché après la question. Balises html admises. Peut être vide.
$embraced_randitem
\text{post=}
:%%%%%%%%%%%%%% Rien à modifier avant l'énoncé %%%%%%%%%%%%%%%%
\precision{10000}
\text{data=wims(singlespace \data)}
\text{data=wims(nonempty rows \data)}
\text{data=randomrow(\data)}
\text{data=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=}
\for{i=1 to \qs}{
\text{f=\data[2*\i;]}
\integer{test=items(\f)}
\if{\test>1}{
\text{g=\f[1]}
\text{f=wims(sort items \f)}
\text{g=positionof(\g,\f)}
\text{good=\good\g;,}
\text{field=\field\f;}
\text{types=\types[]menu,}
\text{lengths=\lengths,}
}{
\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[]atext,}
\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,}
}
}
\text{options=\options,}
}
\text{pre=wims(embraced randitem \pre)}
\text{post=wims(embraced randitem \post)}
\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{\pre
\data[1;]
\for{k=1 to \qs}{
\embed{r \k,\lengths[\k]} \data[2*\k+1;]
}
\post
}
:%%%%%%%%%%%%% Rien à modifier ci-après. %%%%%%%%%%%%%%%%%5
\answer{Champ 1}{\good[1]\field[1;]}{type=\types[1]}{option=\options[1]}
\answer{Champ 2}{\good[2]\field[2;]}{type=\types[2]}{option=\options[2]}
\answer{Champ 3}{\good[3]\field[3;]}{type=\types[3]}{option=\options[3]}
\answer{Champ 4}{\good[4]\field[4;]}{type=\types[4]}{option=\options[4]}
\answer{Champ 5}{\good[5]\field[5;]}{type=\types[5]}{option=\options[5]}
\answer{Champ 6}{\good[6]\field[6;]}{type=\types[6]}{option=\options[6]}
\answer{Champ 7}{\good[7]\field[7;]}{type=\types[7]}{option=\options[7]}
\answer{Champ 8}{\good[8]\field[8;]}{type=\types[8]}{option=\options[8]}
\answer{Champ 9}{\good[9]\field[9;]}{type=\types[9]}{option=\options[9]}
\answer{Champ 10}{\good[10]\field[10;]}{type=\types[10]}{option=\options[10]}
\answer{Champ 11}{\good[11]\field[11;]}{type=\types[11]}{option=\options[11]}
\answer{Champ 12}{\good[12]\field[12;]}{type=\types[12]}{option=\options[12]}
\answer{Champ 13}{\good[13]\field[13;]}{type=\types[13]}{option=\options[13]}
\answer{Champ 14}{\good[14]\field[14;]}{type=\types[14]}{option=\options[14]}
\answer{Champ 15}{\good[15]\field[15;]}{type=\types[15]}{option=\options[15]}
\answer{Champ 16}{\good[16]\field[16;]}{type=\types[16]}{option=\options[16]}
\answer{Champ 17}{\good[17]\field[17;]}{type=\types[17]}{option=\options[17]}
\answer{Champ 18}{\good[18]\field[18;]}{type=\types[18]}{option=\options[18]}
\answer{Champ 19}{\good[19]\field[19;]}{type=\types[19]}{option=\options[19]}
\answer{Champ 20}{\good[20]\field[20;]}{type=\types[20]}{option=\options[20]}