Subversion Repositories wimsdev

Rev

Rev 11375 | Rev 11860 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
11375 bpr 1
type=question first
23 reyssat 2
textarea="datatrue datafalse explain"
8515 obado 3
asis="datatrue datafalse explain"
23 reyssat 4
 
3426 bpr 5
:Une question à choix multiples avec permutation aléatoire des choix.
23 reyssat 6
 
8002 bpr 7
Voici un modèle de question à choix multiples. L'ordre des choix est aléatoire,
5112 bpr 8
ainsi que les choix s'il y en a suffisamment qui sont définis.
9
Quand il y a plusieurs bons choix, il suffit d'en choisir un, peu importe lequel.
10
 
11491 bpr 11
<p>Le texte n'est pas aléatoire. Un autre modèle <b>QCM à la suite</b>
12
permet d'avoir aussi un texte aléatoire.</p>
5112 bpr 13
 
5131 bpr 14
 
15
$image_help
16
 
5134 bpr 17
$math_help
18
 
8002 bpr 19
<p>Auteur du modèle : Gang Xiao <qualite@wimsedu.info></p>
23 reyssat 20
 
21
:%%%%%%%%%%%%%%%%%      ATTENTION      %%%%%%%%%%%%%%%%%%%%
22
 
2880 bpr 23
Enlevez l'en-tête ci-dessus si vous détruisez les balises pour le modèle !
23 reyssat 24
(Ce sont les lignes qui commencent par un ':'.)
25
Sinon l'exercice risque de ne pas pouvoir repasser sous Createxo.
26
 
27
:%%%%%%%% Paramètres d'exemples à redéfinir %%%%%%%%%%%%%%%%%
28
 
29
:\title{Choix multiple}
5147 bpr 30
:\author{XIAO, Gang}
8002 bpr 31
:\email{qualite@wimsedu.info}
6132 bpr 32
:\credits{}
23 reyssat 33
 
34
:Nombre de choix à présenter. Au plus 10.
3108 obado 35
Vous devez définir suffisamment de choix. Sinon l'exercice affichera seulement ce qui est disponible.
23 reyssat 36
\integer{tot=5}
37
 
38
:Le nombre de bons choix dans chaque exercice. Ne doit pas depasser le total.
39
\integer{givetrue=2}
40
 
41
:Nombre de mauvais choix "obligatoires".
3108 obado 42
Par exemple si ce nombre est 2, les deux premiers mauvais choix dans la liste seront toujours présentés dans les exercices générés.
43
<p> Dans le doute, mettez 0.</p>
23 reyssat 44
\integer{minfalse=0}
45
 
46
:Le texte qui explique ce qu'il faut faire.
47
$embraced_randitem
11491 bpr 48
\text{explain=Voici un modèle de question à choix multiples. L'ordre des choix est aléatoire, ainsi que les choix s'il y en a suffisamment qui sont définis.
3108 obado 49
Changez les textes, et vous aurez votre question à choix multiples.<br/>
50
Prenez le bon choix.<br/>
51
Quand il y a plusieurs bons choix, il suffit d'en choisir un, peu importe lequel.
23 reyssat 52
}
53
 
54
:Le(s) bon(s) choix, un par ligne.
55
On peut en placer plusieurs (un par ligne) pour tirer au hasard.
56
Evitez les phrases trop longues ! Aucun point-virgule dans la phrase.
6132 bpr 57
 
23 reyssat 58
$embraced_randitem
11491 bpr 59
\matrix{datatrue=Bon choix n°1
60
Bon choix n°2
61
Bon choix n°3
62
Bon choix n°4
23 reyssat 63
}
64
 
65
:Les mauvais choix, un par ligne.
66
Vous pouvez en donner plus que ce qu'il faut tirer au hasard.
67
Evitez les phrases trop longues ! Aucun point-virgule dans la phrase.
68
$embraced_randitem
11491 bpr 69
\matrix{datafalse=Mauvais choix n°1
70
Mauvais choix n°2
71
Mauvais choix n°3
72
Mauvais choix n°4
73
Mauvais choix n°5
74
Mauvais choix n°6
75
Mauvais choix n°7
76
Mauvais choix n°8
23 reyssat 77
}
78
 
5907 bpr 79
:Mots d'option :  <span class="tt wims_code_words">checkbox</span>,  <span class="tt wims_code_words">split</span>.
80
Ajouter le mot  <span class="tt wims_code_words">checkbox</span> s'il y a plusieurs bonnes réponses et si l'élève doit choisir toutes les bonnes réponses (au lieu d'une seule).
81
Dans ce cas, ajouter aussi le mot  <span class="tt wims_code_words">split</span> si on autorise une note partielle quand seulement une partie des bonnes réponses sont choisies.
23 reyssat 82
\text{option=}
83
 
3396 bpr 84
:Feedback Général
85
Ce texte s'affichera après la réponse de l'apprenant, qu'elle soit juste ou fausse.
3108 obado 86
\text{feedback_general=}
87
 
3396 bpr 88
:Feedback en cas de bonne réponse
89
Ce texte s'affichera après la réponse de l'apprenant, en cas de bonne reponse ou de reponse partielle.
3108 obado 90
\text{feedback_bon=}
91
 
3396 bpr 92
:Feedback en cas de mauvaise réponse
93
Ce texte s'affichera après la réponse de l'apprenant, s'il a coché au moins une mauvaise réponse.
3108 obado 94
\text{feedback_mauvais=}
95
 
6132 bpr 96
:Mise en aléatoire par des accolades emboitables
97
$embraced_randitem
98
\text{accolade=item(1,1 oui,
99
2 non)}
100
 
101
 
23 reyssat 102
:%%%%%%%%%%%%%% Rien à modifier avant l'énoncé %%%%%%%%%%%%%%%%
6132 bpr 103
\text{accolade=wims(word 1 of \accolade)}
23 reyssat 104
 
3108 obado 105
\text{empty=}
106
\if{\feedback_general != \empty}{
107
  \text{feedback_general=<p class="feedback">\feedback_general</p>}
108
}
109
\if{\feedback_bon != \empty}{
110
  \text{feedback_bon=<p class="feedback good_answer">\feedback_bon</p>}
111
}
112
\if{\feedback_mauvais != \empty}{
113
  \text{feedback_mauvais=<p class="feedback bad_answer">\feedback_mauvais</p>}
114
}
115
 
23 reyssat 116
\text{datatrue=wims(nonempty rows \datatrue)}
117
\text{datafalse=wims(nonempty rows \datafalse)}
118
\integer{truecnt=rows(\datatrue)}
119
\integer{falsecnt=rows(\datafalse)}
120
\integer{givetrue=\givetrue<1?1}
121
\integer{givetrue=\givetrue>\truecnt?\truecnt}
122
\integer{tot=\tot > \falsecnt+\givetrue?\falsecnt+\givetrue}
123
\integer{givetrue=\givetrue>\tot-1?\tot-1}
124
\integer{minfalse=\minfalse>\tot-\givetrue?\tot-\givetrue}
125
\text{tsh=shuffle(\truecnt)}
126
\text{true=row(\tsh,\datatrue)}
127
\if{\minfalse>0}{
128
 \text{false1=row(1..\minfalse,\datafalse);}
129
 \text{false2=row(\minfalse+1..\falsecnt,\datafalse)}
130
}{
131
 \integer{minfalse=0}
132
 \text{false1=}
133
 \text{false2=\datafalse}
134
}
135
\text{fsh=shuffle(\falsecnt)}
136
\text{false2=row(\fsh,\false2)}
137
\text{pick=row(1..\givetrue,\true);\false1 row(1..\tot-\givetrue-\minfalse,\false2)}
138
\text{ind=wims(makelist 1 for x=1 to \givetrue),wims(makelist 0 for x=1 to \tot-\givetrue)}
139
 
140
\text{sh=shuffle(\tot)}
141
\text{ind=item(\sh,\ind)}
142
\text{pick=row(\sh,\pick)}
6132 bpr 143
\text{pick=\accolade=1 ? wims(embraced randitem \pick)}
144
\text{explain=\accolade=1 ? wims(embraced randitem \explain)}
23 reyssat 145
\text{ans=positionof(1,\ind)}
146
\text{list=item(1..\tot,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z)}
147
\text{anstype=checkbox iswordof \option?checkbox:radio}
148
 
149
:%%%%%%%%%%%%% Maintenant l'énoncé en code html. %%%%%%%%%%%%%%%%%%%%
150
 
151
::Vous n'avez pas besoin de modifier ceci en général.
152
 
1362 obado 153
\statement{
9924 obado 154
  <div class="oef_explain">\explain</div>
155
  \for{i=1 to \tot}
11491 bpr 156
  {<p class="oefreply">\embed{reply 1,\i, \list[\i] : \pick[\i;]}</p>}
23 reyssat 157
}
158
 
159
:%%%%%%%%%%%%% Rien à modifier ci-après. %%%%%%%%%%%%%%%%%5
160
 
161
\answer{La réponse}{\ans;\list}{type=\anstype}{option=\option}
162
 
3108 obado 163
\feedback{1=1}{\feedback_general}
164
\feedback{\reply1 isitemof \list[\ans]}{\feedback_bon}
165
\feedback{\reply1 notitemof \list[\ans]}{\feedback_mauvais}