Subversion Repositories wimsdev

Rev

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