Un exercice OEF peut accepter les réponses des utilisateurs de manière très variée. Outre le choix multiple ou la réponse libre, on trouve de nombreuses autres possibilités. La réponse donnée par l'utilisateur est analysée selon la nature du type. D'autre part, il est possible d'afficher des commentaires ciblés quand la réponse tombe sous une certaine condition (pour avertir d'une erreur typique par exemple). Actuellement, jusqu'à 100 réponses simultanées peuvent être demandées dans un exercice sous l'implémentation actuelle.
La syntaxe est la suivante (les 3 derniers champs sont optionnels) :
\answer{Texte}{\reponse}{type=...}{option=...}{weight=...}
La longueur de Texte est limitée à 40 caractères.
Chaque réponse peut prendre indépendamment l'un des types suivants.
Attention: Dans le cas du type menu, il faut obligatoirement mettre \embed{reply 1} sans deuxième argument.
\embed{reply 1,12 default}ou
\embed{reply 1,12 style="font-size:18px;background-color:#e8ffff;border:1px solid #3333CC;"}
\statement{
Il ne faut pas mettre la commande \embed dans une balise <p> mais plutôt <div>, l'analyse de la réponse fait par le logiciel pouvant mettre des balises qui ne peuvent pas être incluses dans la balise <p>.
Exemple :
\answer{}{1}{type=numeric}{weight=8} \answer{}{1}{type=numeric}{weight=2}
Le niveau de sévérité sera aussi pris en compte lors du calcul fait et le pourcentage sera pris sur un pourcentage fixé par le niveau de sévérité.
Il est possible de mettre des variables dans weight dans la mesure où elles sont définies avant le \statement.
Exemple :
\text{w = \t = 1 ? 1 : 2} \answer{}{1}{type=numeric}{weight=\w} \answer{}{1}{type=numeric}{weight=3}
\answer{}{alpha+2*beta-5}{type=formal}{option=symbols=[alpha beta]}Pour des précisions sur les autres options, revenir à la documentation du type de réponse.
Nom | Option |
---|---|
algexp | symbols=" " |
aset | symbols=" " |
atext | symbols=" " |
case | noreaccent symbols=" " |
checkbox | color=" " eqweight nolegend shuffle show sort split nolabel |
chemdraw | help image=" " match=" " svg allH onlyheteroH |
chemeq | symbols=" " |
chemformula | symbols=" " order=no or hill or [list of some atoms] latex |
chessgame | color=" " nogoodprint |
chset | norepeat symbols=" " |
click | eqweight multiple nolegend shuffle sort split detag nolabel |
clickfill | align=" " noorder transparent |
clock | button=" " clocktype=" " init=" " |
complex | absolute comma j precision symbols=" " |
compose | linkword=" " shuffle |
coord | feedback=" " |
correspond | split |
crossword | allhelp color=" " tooltip |
dragfill | align=" " noorder transparent |
draw | color=" " precision=" " eqweight split default="empty" |
equation | eqsign=yes symbols=" " |
flashcard | color=" " eqweight nolegend shuffle show sort split nolabel |
formal | symbols=" " |
fset | symbols=" " |
function | integer symbols=" " |
jmolclick | eqweight split |
jsxgraph | precision=" " color1=" " color2=" " |
jsxgraphcurve | color1=" " color2=" " precision=" " |
keyboard | keyboard=" " |
litexp | symbols=" " |
mark | color=" " eqweight nolegend shuffle show sort split nolabel |
matrix | split_coeff split_column split_row |
menu | eqweight multiple nolegend shuffle sort split detag nolabel |
multidraw | color=" " eqweight split default="empty" |
multipleclick | color=" " eqweight nolegend shuffle show sort split nolabel |
nocase | noreaccent symbols=" " |
numeric | absolute comma nolegend symbols=" " |
numexp | noreduction symbols=" " |
puzzle | text |
radio | eqweight multiple nolegend shuffle sort split detag nolabel |
range | symbols=" " |
raw | symbols=" " |
set | distinct_inputs repeat symbols=" " |
symtext | symbols=" " |
vector | symbols=" " |
Dans certaines circonstances, il est souhaitable que les réponses libres soient testées par des conditions spéciales (questions avec plusieurs bonnes réponses, exercices demandant des exemples, réponses déterminées par des inégalités, etc). Ceci peut être réalisé de la façon suivante.
Si la bonne réponse à une question libre est une variable non définie auparavant, la réponse à cette question sera stockée dans cette variable. Cette variable peut ensuite être utilisée pour implémenter des conditions de test. Le score de l'exercice est alors calculé selon le nombre de conditions de test qui sont satisfaites, au lieu du nombre de réponses qui coïncident avec les bonnes réponses.
Jusqu'à 10 conditions simultanées peuvent être définies dans un exercice, sous l'implémentation actuelle. Seules les réponses numériques peuvent être ainsi testées. La syntaxe est (le dernier champ est optionnel)
\condition{texte d'affichage}{conditions de test}{weight=...}
Voici quelques exemples de conditions de test (\rep1 et \rep2 sont des variables non définies qui apparaissent dans des définitions de réponses libres, comme décrit ci-dessus.) Liste complète des relations
Condition | signification |
---|---|
\rep1>=0 and \rep1<=1 | Bon si rep1 est dans l'intervalle [0,1]. |
\rep1=1 or \rep1=3 or \rep1=5 | Bon si rep1 est 1, 3 ou 5. |
(\rep1)*(\rep2)=6 and (\rep1)+(\rep2)=5 | Bon si rep1 et rep2 sont les deux racines du polynôme x2-5x+6. |
sin(\rep1)=0 | Bon si rep1 est un multiple de . |
Veuillez noter que les pages WIMS sont générées interactivement; elles ne sont pas des fichiers HTML ordinaires. Elles doivent être utilisées interactivement EN LIGNE. Il est inutile pour vous de les ramasser par un programme robot.