Subversion Repositories wimsdev

Rev

Rev 15179 | 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
13714 obado 2
textarea="data1 data2 data3 data4 data5 data6 data7 data8 data9 data10 instruction"
3
asis="data1 data2 data3 data4 data5 data6 data7 data8 data9 data10 instruction"
4
iEdit="instruction"
3445 bpr 5
 
13714 obado 6
:Several questions on the same screen
7
 
8
<p>This exercise presents several multiple choice questions.</p>
9
<p>The number of questions is limited to 10.
10
 You can chose the number of questions to be presented for each exercise,
11
 and if these questions will be taken randomly or not.</p>
15179 lemaire 12
<p>Author of the model: <a href="mailto:bernadette.m.riou@orange.fr">Bernadette Perrin-Riou</a></p>
3445 bpr 13
 
14
:%%%%%%%%%%%%%%%%%      ATTENTION      %%%%%%%%%%%%%%%%%%%%
15
 
11544 obado 16
Remove the above header if you destroy the model tags! (The lines starting
17
with a ':'.) Otherwise the exercise might not be taken back by Createxo.
3445 bpr 18
 
11544 obado 19
:%%%%%%%% Sample parameters to be redefined %%%%%%%%%%%%%%%%%
3445 bpr 20
 
13714 obado 21
:\title{Several multiple choices}
5147 bpr 22
:\author{Bernadette, Perrin-Riou}
3445 bpr 23
:\email{bpr@math.u-psud.fr}
9925 obado 24
:\credits{Image from Pfly [CC BY-SA 2.5], via Wikimedia Commons}
13714 obado 25
 
9925 obado 26
:Global Instruction
9980 obado 27
A global instruction displayed before questions.
28
$embraced_randitem
9925 obado 29
\text{instruction=Répondez à chaque question d'une première série, validez, puis répondez aux questions de la seconde série.}
3445 bpr 30
 
9925 obado 31
:Random order
9980 obado 32
Choose "yes" to display questions in a random order, "no" otherwise.
33
\text{alea=item(1, yes, no)}
3451 obado 34
 
9925 obado 35
:Maximum questions by step
13714 obado 36
WIMS will automatically separate your exercise into steps
37
based on the total number of questions and the number of questions by steps.
15044 lemaire 38
\text{N=3}
3451 obado 39
 
9925 obado 40
:Maximum steps
13714 obado 41
Maximum amount of steps to produce
3445 bpr 42
\text{MAX=2}
3451 obado 43
 
9925 obado 44
:Text for "Your response" feedback
3451 obado 45
 
9925 obado 46
\text{qcm_prompt1=Your response:}
3451 obado 47
 
9925 obado 48
:Text for "The good responses were..." feedback
3451 obado 49
 
9925 obado 50
\text{qcm_prompt2=The good responses were... :}
3451 obado 51
 
9925 obado 52
:Text for "Good response!" feedback
3451 obado 53
 
9925 obado 54
\text{good_answer_text=Good response!}
3451 obado 55
 
9925 obado 56
:Text for "Bad response!" feedback
3451 obado 57
 
9925 obado 58
\text{bad_answer_text=Bad response!}
3451 obado 59
 
9925 obado 60
:Text for "Incomplete response!" feedback
3451 obado 61
 
9925 obado 62
\text{incomplete_answer_text=Incomplete response...}
3451 obado 63
 
13714 obado 64
:CSS for questions
3451 obado 65
 
9925 obado 66
\text{style_question=background-color: #F2F9FC;}
3451 obado 67
 
9925 obado 68
:CSS for responses
3451 obado 69
 
15044 lemaire 70
\text{style_reponse=color:#555;font-size:90%;}
3451 obado 71
 
13714 obado 72
:Percentage of success required to proceed to the next step (if Maximum steps> 1)
3451 obado 73
 
3445 bpr 74
\text{percent=0}
3451 obado 75
 
9925 obado 76
:Embraced Randitem
5797 bpr 77
$embraced_randitem
9925 obado 78
\text{accolade=item(2, yes, no)}
5797 bpr 79
 
15044 lemaire 80
:Display response analysis
81
Let us assume that the exercise is used with the setting
82
"Never post the right answers."
83
<ul><li>If you choose "yes" then, after each question, it will be
84
be indicated whether the selected choices are right or wrong.
85
<li></li>
86
If you choose "no" then, after each question, the selected choices
87
 will be displayed without any indication.
88
</li></ul>
17142 obado 89
In other cases, after each question, it will be indicated whether
90
the selected choices are right or wrong and in case of error,
15044 lemaire 91
the list of correct choices will be displayed.
92
 
9925 obado 93
\text{answer_given=item(1, yes, no)}
94
 
95
:Questions
13714 obado 96
<p>Enter here the question to ask, according to the following format:</p>
9925 obado 97
<ol>
13714 obado 98
  <li>The first line contains the statement of the question.</li>
99
  <li>The second line represents feedback, which will be displayed
100
      after validation of the answers (can be left empty).</li>
101
  <li>Enter on the 3rd line the list of correct answer numbers, separated by commas.
102
      (The numbers represent the order in which the proposals are written below)</li>
103
  <li>Each following line represents the different response proposals.</li></ol>
104
<div style="border-left:2px solid orange;width:45em;background-color:white;padding:1em .5em;">Example : <br/>
105
<pre>Statement of question #1
106
Feedback displayed if wrong answer to question #1
107
Number(s) of the correct answer(s)
108
Choice #1
109
Choice #2
110
Choice #3</pre></div>
111
<p class="oef_indbad"><strong>Warning:</strong> Semicolons are forbidden here</p>
9925 obado 112
<hr/>
13714 obado 113
<p><em>Optional:</em> You can optionally add a first line that will contain variables to insert a title, an image, sound.
114
 (nb: you must be in a class or module to transfer these files).<br/>
115
 In this case, it will be the second line (and not the first) that will represent the statement, the third one the feedback, and so on ....
116
</p>
117
Possible variables are:
3452 obado 118
<ul>
13714 obado 119
  <li><code>Qtitle</code> : display a title at the beginning of the question. (for example to indicate the theme)</li>
120
  <li><code>Qimage</code> : if an image file is specified, it will be displayed at the beginning of the question.
121
    (only works in a module or class)</li>
122
  <li><code>Qaudio</code> : if a sound file is indicated, it will be displayed at the beginning of the question.
123
    (only works in a module or class, known bugs with Safari)</li>
124
</ul>
9925 obado 125
<div style="border-left:2px solid orange;width:45em;background-color:white;padding:1em .5em;">Exemple : <br/>
13714 obado 126
  <pre>Qtitle="Title of the question #2" Qimage="image.jpg" Qaudio="sound.mp3"
127
Statement of question #2
128
Feedback displayed if wrong answer to question #2
129
Number(s) of the correct answer(s)
130
Choice #1
131
Choice #2
132
Choice #3</pre>
133
</div>
134
\text{data1=asis(In what year was the filament bulb invented?
135
It was invented in 1879 by the Englishman Joseph Swan before being improved by the work of the American Thomas Edison.
3445 bpr 136
1
13714 obado 137
1879
138
1959
139
1919
140
1859)}
3445 bpr 141
 
3451 obado 142
:Question 2
143
 
13714 obado 144
\text{data2=asis(In 2016, what was the most populous city in the world?
145
It is Tokyo, the capital of Japan (38.14 million inhabitants), far ahead of the others (which have between 20 and 24 million inhabitants). <p class="right">Source<a href="https://www.infoplease.com/world/population-statistics/most-populous-cities-world" target="_blank">infoplease.com</a></p>
9925 obado 146
7
147
Beijing
148
Karachi
149
Manille
3451 obado 150
Mexico
151
New York
9925 obado 152
Shanghaï
153
Tokyo)}
3451 obado 154
 
155
:Question 3
156
 
15044 lemaire 157
\text{data3=asis(What's the name of this river? <div><img src="http://upload.wikimedia.org/wikipedia/commons/e/e4/Mekong_River_watershed.png"/></div>
13714 obado 158
About 70 million people live directly in the Mekong watershed.
3451 obado 159
1
13714 obado 160
The Mekong
161
The Yangzi Jiang
162
The Volga
163
The Danube)}
3451 obado 164
 
165
:Question 4
166
 
13714 obado 167
\text{data4=asis(Qtitle="Painting"
168
Among these different painters, which are part of the Impressionist movement?
169
Ingres is associated with the Romantic current, and Raphael with the Renaissance.
3452 obado 170
1,3
171
Edgar Degas
172
Dominique Ingres
173
Claude Monet
13714 obado 174
Raphael)}
3451 obado 175
 
176
:Question 5
177
 
13714 obado 178
\text{data5=asis(Qtitle="ANIMALS"
179
What is the cry of the camel?
180
The braying is the cry of the donkey, the bleating: that of sheep and goats.
3451 obado 181
1
13714 obado 182
The blatter
183
The braying
184
The bleating)}
3451 obado 185
 
186
:Question 6
187
 
13714 obado 188
\text{data6=asis(Qtitle="Chemistry"
189
What is the chemical formula of testosterone?
190
C<sub>8</sub>H<sub>10</sub>N<sub>4</sub>O<sub>2</sub> is caffeine, C<sub>3</sub>H<sub>5</sub>N<sub>3</sub>O<sub>9</sub> the nitroglycerin, and C<sub>17</sub>H<sub>19</sub>NO<sub>3</sub> the morphine
3451 obado 191
4
192
C<sub>8</sub>H<sub>10</sub>N<sub>4</sub>O<sub>2</sub>
193
C<sub>3</sub>H<sub>5</sub>N<sub>3</sub>O<sub>9</sub>
194
C<sub>17</sub>H<sub>19</sub>NO<sub>3</sub>
9925 obado 195
C<sub>19</sub>H<sub>28</sub>O<sub>2</sub>)}
3451 obado 196
 
197
:Question 7
198
 
13714 obado 199
\text{data7=asis(From which day is "Beaujolais Nouveau" available for sale in France?
200
The "Beaujolais Nouveau" is a wine of primeur, that is to say a wine of the same year, whose marketing is allowed immediately after the end of the vinification.
3451 obado 201
3
13714 obado 202
the first Thursday of November
203
the second Thursday of November
204
the third Thursday of November
205
the fourth Thursday of November
206
)}
3451 obado 207
 
208
:Question 8
209
 
13714 obado 210
\text{data8=asis(In the movie <i>"Rain Man"</i>, which actor has an autistic gifted brother?
211
<i>Rain Man</i> is an American film directed by Barry Levinson.
3451 obado 212
2
213
Bruce Willis
214
Tom Cruise
9925 obado 215
Woody Allen)}
3451 obado 216
 
217
:Question 9
218
 
13714 obado 219
\text{data9=asis(Water skiing has been an Olympic discipline since 1976.
220
The appearance of water skiing at the Olympic Games dates back to 2004. However, it had been a demonstration sport in 1972.
3451 obado 221
2
15044 lemaire 222
True
223
False)}
3451 obado 224
 
225
:Question 10
226
 
13714 obado 227
\text{data10=asis(Qtitle="Music"
228
What is the first ballet written by Tchaikovsky?
229
Swan Lake was written in 1875 and Nutcracker in 1891.
3451 obado 230
1
13714 obado 231
Swan Lake
232
Nutcracker)}
3451 obado 233
 
15044 lemaire 234
:Answer type
235
Choose "checkbox" to let a user select several choices.<br/>
236
Choose "radio" if only one of the choices has to be selected.
237
\text{format=item(1, checkbox, radio)}
238
 
3459 bpr 239
:
15044 lemaire 240
\language{en}
3445 bpr 241
\computeanswer{no}
242
\format{html}
243
 
244
\text{paste=yes}
9925 obado 245
 
3445 bpr 246
\text{option=}
9925 obado 247
 
9980 obado 248
:%%%%%%%%%%%%%% Nothing to modify until statement %%%%%%%%%%%%%%%%
15044 lemaire 249
\text{givegood=slib(oef/env givegood)}
250
\text{givegood=\givegood issametext ? 1}
251
\text{answer_given=\givegood>0? yes}
3445 bpr 252
\text{data_q=\data1!= ? 1:}
253
\text{data_q=\data2!= ? wims(append item 2 to \data_q)}
254
\text{data_q=\data3!= ? wims(append item 3 to \data_q)}
255
\text{data_q=\data4!= ? wims(append item 4 to \data_q)}
256
\text{data_q=\data5!= ? wims(append item 5 to \data_q)}
257
\text{data_q=\data6!= ? wims(append item 6 to \data_q)}
258
\text{data_q=\data7!= ? wims(append item 7 to \data_q)}
259
\text{data_q=\data8!= ? wims(append item 8 to \data_q)}
260
\text{data_q=\data9!= ? wims(append item 9 to \data_q)}
3451 obado 261
\text{data_q=\data10!= ? wims(append item 10 to \data_q)}
3445 bpr 262
 
9980 obado 263
\text{instruction=\accolade issametext yes ? wims(embraced randitem \instruction):\instruction}
264
 
3445 bpr 265
\integer{cnt_question=items(\data_q)}
266
 
267
\text{nopaste=\paste issametext no ? slib(utilities/nopaste )}
268
 
15044 lemaire 269
\text{style = <style>
3452 obado 270
 .enonce{margin-bottom:0}
9925 obado 271
 .qcm_prompt2{margin-top:.5em}
272
 img{vertical-align:middle;}
273
 .q_num, .panel .wims_title{
15044 lemaire 274
 font-size:120%;font-family:Impact, Charcoal, sans-serif;
17142 obado 275
 color:#717171;
9925 obado 276
 }
15044 lemaire 277
 .feedback{border:1px dashed grey;padding:.5em;margin-top:.5em;}
9925 obado 278
 .reponse {
279
   margin: 0 1em;
280
   padding: .5em;
281
   border-radius:5px;
282
   \style_reponse
283
 }
284
 .panel{
285
    padding:.5em 1em .5em 1em;
286
    margin:.5em 0;
287
    border:1px solid #d8d8d8;
288
    border-radius:5px;
289
 }
290
 .panel.callout{
291
    border-color:#c5e5f3;
292
    border-width:2px;
293
    \style_question
294
 }
295
 .callout .q_num, .callout .wims_title{color:black;}
7717 bpr 296
 
9925 obado 297
 .panel .wims_title, .panel .wimscenter{margin-top:-1.2em;}
15044 lemaire 298
 ol li{margin-bottom: .5em;list-style:upper-alpha;}
299
 input[type='checkbox'] { font-size:120%; }
9925 obado 300
 .strike{text-decoration:line-through;}
301
 .oef_indpartial{color:navy;}
3445 bpr 302
 </style>
9925 obado 303
}
3445 bpr 304
 
305
\integer{N = min(\cnt_question,\N)}
306
\integer{MAX=min(\N*\MAX,\cnt_question)}
9925 obado 307
\text{battage=\alea issametext yes ? shuffle(\data_q,,) :\data_q}
3445 bpr 308
\text{battage=wims(nonempty items \battage)}
7717 bpr 309
 
3445 bpr 310
\text{option=\option noanalyzeprint}
311
\matrix{question=}
7717 bpr 312
\matrix{explication=xxx}
3445 bpr 313
\matrix{rep=}
314
\text{CNT_choix= }
315
\matrix{CHOIX=}
316
\text{PRELIMINAIRE=}
9925 obado 317
 
3445 bpr 318
\for{i= 1 to \MAX}{
9925 obado 319
 \matrix{QUEST=\battage[\i]=1? \data1}
320
 \matrix{QUEST=\battage[\i]=2? \data2}
321
 \matrix{QUEST=\battage[\i]=3? \data3}
322
 \matrix{QUEST=\battage[\i]=4? \data4}
323
 \matrix{QUEST=\battage[\i]=5? \data5}
324
 \matrix{QUEST=\battage[\i]=6? \data6}
325
 \matrix{QUEST=\battage[\i]=7? \data7}
326
 \matrix{QUEST=\battage[\i]=8? \data8}
327
 \matrix{QUEST=\battage[\i]=9? \data9}
328
 \matrix{QUEST=\battage[\i]=10? \data10}
7717 bpr 329
 
3445 bpr 330
 \text{preliminaire_test=\QUEST}
331
 \text{preliminaire_test=row(1,\preliminaire_test)}
9925 obado 332
 \text{inst_audio=wims(getopt Qaudio in \preliminaire_test)}
333
 \text{inst_image=wims(getopt Qimage in \preliminaire_test)}
334
 \text{inst_title=wims(getopt Qtitle in \preliminaire_test)}
335
 
3445 bpr 336
 \text{rab_inst=}
9925 obado 337
 \text{rab_inst=\inst_title notsametext ?\rab_inst <h2 class="wims_title">\inst_title</h2>}
338
 \text{rab_inst=\inst_image notsametext ?\rab_inst <div class="wimscenter"><img src="\imagedir/\inst_image" alt="" /></div>}
3445 bpr 339
 \if{\inst_audio notsametext }{
9925 obado 340
     \text{rab_inst1= . isin \inst_audio ?
341
       <audio controls>
342
        <source src="\imagedir/\inst_audio" type="audio/mpeg">
13714 obado 343
        Sorry, your browser can't play audio files.
9925 obado 344
       </audio>}
345
     \text{rab_inst=\rab_inst <div class="wimscenter audio">\rab_inst1[1;1]</div>}
346
 }
347
 
348
 \integer{test_inst=\inst_audio\inst_image\inst_title notsametext ? 1 : 0}
349
 \text{preliminaire=\test_inst=1 ? \rab_inst:&nbsp;}
350
 \matrix{QUEST=\test_inst=1 ? \QUEST[2..-1;]}
9980 obado 351
 \matrix{QUEST=\accolade issametext yes ?wims(embraced randitem \QUEST):\QUEST}
9925 obado 352
 \matrix{question = \question
353
\QUEST[1;]}
354
 \matrix{PRELIMINAIRE=\PRELIMINAIRE
355
\preliminaire}
356
 
357
 \text{expl=\QUEST[2;]}
358
 \text{ligne=wims(upper \expl)}
359
 \text{ligne=wims(text select ABCDEFGHIJKLMNOPQRSTUVWXYZ in \ligne)}
360
 \if{\ligne issametext and \expl notsametext }{
7717 bpr 361
  \matrix{explication = \explication;}
3445 bpr 362
  \integer{debut = 2}
363
 }
364
 \if{\ligne issametext and \expl issametext }{
7717 bpr 365
  \matrix{explication = \explication;}
3445 bpr 366
  \integer{debut = 3}
367
  }
368
  \if{\ligne notsametext}{
7717 bpr 369
     \matrix{explication = \explication;\expl}
3445 bpr 370
  \integer{debut = 3}
371
 }
372
  \integer{cnt_choix=rows(\QUEST)-\debut}
373
  \text{CNT_choix=\CNT_choix,\cnt_choix}
374
   \text{Choix=}
375
   \text{mix=shuffle(\cnt_choix)}
15044 lemaire 376
   \for{j=\debut+1 to \cnt_choix + \debut+1}{
3445 bpr 377
     \text{choix= \QUEST[\j;]}
378
     \text{choix=wims(replace internal , by  &#44; in \choix)}
379
     \matrix{Choix = \Choix, \choix[1;]}
380
   }
381
   \text{Choix=wims(nonempty items \Choix)}
382
   \text{Choix= \Choix[\mix]}
383
   \matrix{CHOIX=\CHOIX
384
     \Choix}
385
   \text{H = wims(nospace \QUEST[\debut;])}
386
   \text{cnt_c=items(\H)}
387
   \text{Rep = }
7717 bpr 388
   \for{ k = 1 to \cnt_c}{
3445 bpr 389
     \text{Rep = \Rep, position(\H[\k],\mix)}
390
   }
391
   \text{Rep = wims(sort items wims(nonempty items \Rep))}
392
   \matrix{rep = \rep
393
    \Rep}
394
}
395
 
396
\text{CNT_choix=wims(nonempty items \CNT_choix)}
397
 
398
\text{U = pari(divrem(\MAX,\N)~)}
399
\integer{cnt_step = \U[1] + 1}
400
\matrix{STEPS = }
401
\matrix{CNT = }
402
\text{CONDSTEP=}
403
\for{ u = 1 to \cnt_step -1}{
404
   \matrix{STEPS =\STEPS
405
wims(makelist r x for x = \N*\u -\N+1 to \N*\u)}
406
   \matrix{CNT =\CNT
407
wims(makelist x for x = \N*\u -\N+1 to \N*\u)}
408
   \text{condstep= wims(values \u+1 for x = (\u-1)*\N +1 to \u*\N)}
409
   \text{CONDSTEP= wims(append item \condstep to \CONDSTEP)}
410
}
411
 \matrix{STEPS = \STEPS
15044 lemaire 412
 wims(makelist r x for x = \N*\cnt_step-\N+1 to \MAX)
3445 bpr 413
}
414
\matrix{CNT = \CNT
15044 lemaire 415
 wims(makelist x for x = \N*\cnt_step-\N+1 to \MAX)
3445 bpr 416
}
15044 lemaire 417
\text{CONDSTEP=\CONDSTEP, wims(values \cnt_step+1 for x = \N*\cnt_step-\N+1 to \MAX)}
3445 bpr 418
 
419
\text{nstep=\STEPS[1;]}
420
\text{TEST=}
7717 bpr 421
\text{explication=\explication[2..-1;]}
422
 
3445 bpr 423
text{testexp=wims(rows2lines \explication)}
424
text{testexp=wims(lines2items \testexp)}
425
text{testexp=wims(items2words \testexp)}
426
text{testexp=wims(nospace \testexp)}
427
\nextstep{\nstep}
428
\text{REP=}
429
\text{etape=wims(values x * \N for x = 1 to \cnt_step+1)}
430
\text{CONDITION = wims(makelist x for x = 1 to 2*\MAX)}
431
\text{CONDITION =wims(items2words \CONDITION)}
432
\conditions{\CONDITION}
433
\integer{cnt_juste=0}
434
\real{v = 10}
15044 lemaire 435
\integer{questioncnt=items(\question[;1])}
436
\text{latexsrc=}
437
\text{latexsol=}
438
\for{hh=1 to \questioncnt}{
439
  \text{prel=\PRELIMINAIRE[\hh;]!= and \PRELIMINAIRE[\hh;] notsametext &nbsp;? \PRELIMINAIRE[\hh;]
440
\newline:}
441
  \text{latexsrc=\latexsrc \item \prel \question[\hh;]
442
\begin{\format}}
443
  \for{ss=1 to \CNT_choix[\hh]}{\text{latexsrc=\latexsrc\item \CHOIX[\hh;\ss]}}
444
  \text{listsol=\CHOIX[\hh;\rep[\hh;]]}
445
  \text{latexsol=\latexsol \item \listsol}
446
  \text{latexsrc=\latexsrc
447
\end{\format}}
448
}
9925 obado 449
 
3445 bpr 450
\statement{\nopaste
9925 obado 451
  \style
15044 lemaire 452
  <div class="instruction">\instruction</div>
9925 obado 453
 
454
  \for{h=1 to \etape[\step]}{
455
 
15044 lemaire 456
    \if{\question[\h;] notsametext }{
457
      \if{\h <= \etape[\step] - \N}
17142 obado 458
        {<fieldset class="panel">}
459
        {\if{r \h isitemof \nstep}{<fieldset class="panel callout">}}
15044 lemaire 460
      }
9925 obado 461
 
3445 bpr 462
   \if{(\h <= \etape[\step] - \N or r \h isitemof \nstep) and \question[\h;] notsametext }{
6647 bpr 463
     <div class="enonce">
15044 lemaire 464
       \if{\cnt_step > 1 and \MAX > 1}{<span class="q_num">\h. </span>}
465
       \if{\PRELIMINAIRE[\h;] notsametext and \PRELIMINAIRE[\h;] notsametext &nbsp;}
466
       {<div class="preliminaire">\PRELIMINAIRE[\h;]</div>}
467
        <span class="question">\question[\h;]</span>
9925 obado 468
     </div>
3445 bpr 469
   }
9925 obado 470
 
3445 bpr 471
   \if{\h <= \etape[\step] - \N and \question[\h;] notsametext}{
472
    <div class="reponse">
9925 obado 473
      <span class="qcm_prompt1">\qcm_prompt1</span>
3445 bpr 474
       \for{ a in \REP[\h;]}{
15044 lemaire 475
         \if{\answer_given=yes}{
476
           \if{ \a isitemof \CHOIX[\h;\rep[\h;]]}{
477
             \if{\TEST[\h;2]>0 and \TEST[\h;3]=0}{
478
                 <span class="oef_indpartial">\a</span>}
479
                {<span class="oef_indgood">\a</span>}
480
                }{
481
                 <span class="oef_indbad strike">\a</span>} - }
482
             {<span class="oef_indneutral">\a</span> -}
3445 bpr 483
           }
15044 lemaire 484
         \if{\answer_given=yes}{
485
           \if{\TEST[\h;2]>0 and \TEST[\h;3]=0}
486
              {\incomplete_answer_text
487
               \if{\givegood>0}{<br /> <span class="prompt">\qcm_prompt2</span>
488
                  <span class="oef_indgood">\CHOIX[\h;\rep[\h;]]</span>}
489
              }
490
           \if{\TEST[\h;3]>0}
491
             {\bad_answer_text
492
              \if{\givegood>0}{
493
                 <br /> <span class="prompt">\qcm_prompt2</span>
494
                 <span class="oef_indgood">\CHOIX[\h;\rep[\h;]]</span>}
9925 obado 495
             }
15044 lemaire 496
           \if{\TEST[\h;3]=0 and \TEST[\h;2]=0}
497
             {\good_answer_text}
498
            }
499
           \if{\givegood>0}{
500
             \if{\explication[\h;] notsametext }{<div class="feedback">\explication[\h;]</div>}
501
             }
3445 bpr 502
     </div>
15044 lemaire 503
     }{
504
      \if{ r \h isitemof \nstep}{
3445 bpr 505
      <div class="question">
9925 obado 506
        <ol>
507
          \for{s=1 to \CNT_choix[\h]}{ <li>\embed{reply \h , \s}</li> }
508
        </ol>
3445 bpr 509
      </div>
510
      }
511
   }
15044 lemaire 512
   \if{\question[\h;] notsametext
17142 obado 513
    and (\h <= \etape[\step] - \N or r \h isitemof \nstep)}{</fieldset>}
3445 bpr 514
  }
515
 }
516
\answer{}{\REP1;\CHOIX[1;]}{type=\format}{option=\option}
517
\answer{}{\REP2;\CHOIX[2;]}{type=\format}{option=\option}
518
\answer{}{\REP3;\CHOIX[3;]}{type=\format}{option=\option}
519
\answer{}{\REP4;\CHOIX[4;]}{type=\format}{option=\option}
520
\answer{}{\REP5;\CHOIX[5;]}{type=\format}{option=\option}
521
\answer{}{\REP6;\CHOIX[6;]}{type=\format}{option=\option}
522
\answer{}{\REP7;\CHOIX[7;]}{type=\format}{option=\option}
523
\answer{}{\REP8;\CHOIX[8;]}{type=\format}{option=\option}
524
\answer{}{\REP9;\CHOIX[9;]}{type=\format}{option=\option}
525
\answer{}{\REP10;\CHOIX[10;]}{type=\format}{option=\option}
526
 
527
\matrix{REP = \REP1
528
\REP2
529
\REP3
530
\REP4
531
\REP5
532
\REP6
533
\REP7
534
\REP8
535
\REP9
536
\REP10}
537
\if{\format=radio}{
15044 lemaire 538
  \text{REP=wims(replace internal , by &#44; in \REP)}
3445 bpr 539
}
540
\matrix{explication2 = \explication2}
541
 
542
\for{u = 1 to \N}{
543
   \text{H = \CNT[\step-1;\u]}
544
   \text{test1 = wims(listuniq \REP[\H;],\CHOIX[\H;\rep[\H;]])}
545
   \integer{test1 = items(\test1)-items(\CHOIX[\H;\rep[\H;]])}
546
   \text{test2 = wims(listcomplement \REP[\H;] in \CHOIX[\H;\rep[\H;]])}
547
   \text{test3 = wims(listcomplement \CHOIX[\H;\rep[\H;]] in \REP[\H;])}
548
  %%% \integer{test4=items(\REP[\H;]) - items(\CHOIX[\H;])}
7717 bpr 549
   \text{test_cnt=\test1, items(\test2),items(\test3)}
3445 bpr 550
   \integer{cnt_juste= \test_cnt[1]+\test_cnt[2]+\test_cnt[3] =0 ? \cnt_juste + 1}
551
   \matrix{TEST=\TEST
552
   \test_cnt}
553
}
554
 
13714 obado 555
# test1 = 0 rep < juste
556
# test2  number of answers said to be right and in fact false
557
# test3  number of false and actually just answers
3445 bpr 558
 
13714 obado 559
# totally right: test1=0, test2=0 test3=0
560
# partially right :
3445 bpr 561
 
562
\real{v=\cnt_juste/\CNT[\step-1;\N]}
563
 
564
\text{nstep = \v >= \percent ? \STEPS[\step;]:}
565
 
566
\condition{Question 1 : \REP1}{\TEST[1;3]=0}{option=hide}
567
\condition{Question 1 : \REP1}{\TEST[1;1]=0 and \TEST[1;2]=0 and \TEST[1;3]=0}{option=hide}
568
\condition{Question 2 : \REP2}{\TEST[2;3]=0 and \step >=\CONDSTEP[2]}{option=hide}
569
\condition{Question 2 : \REP2}{\TEST[2;1]=0 and \TEST[2;2]=0 and \TEST[2;3]=0 and \step >=\CONDSTEP[2]}{option=hide}
570
\condition{Question 3 : \REP3}{\TEST[3;3]=0 and \step >=\CONDSTEP[3]}{option=hide}
571
\condition{Question 3 : \REP3}{\TEST[3;1]=0 and \TEST[3;2]=0 and \TEST[3;3]=0 and \step >=\CONDSTEP[3]}{option=hide}
572
\condition{Question 4 : \REP4}{\TEST[4;3]=0 and \step >=\CONDSTEP[4]}{option=hide}
573
\condition{Question 4 : \REP4}{\TEST[4;1]=0 and \TEST[4;2]=0 and \TEST[4;3]=0 and \step >=\CONDSTEP[4]}{option=hide}
574
\condition{Question 5 : \REP5}{\TEST[5;3]=0 and \step >=\CONDSTEP[5]}{option=hide}
575
\condition{Question 5 : \REP5}{\TEST[5;1]=0 and \TEST[5;2]=0 and \TEST[5;3]=0 and \step >=\CONDSTEP[5]}{option=hide}
576
\condition{Question 6 : \REP6}{\TEST[6;3]=0 and \step >=\CONDSTEP[6]}{option=hide}
577
\condition{Question 6 : \REP6}{\TEST[6;1]=0 and \TEST[6;2]=0 and \TEST[6;3]=0 and \step >=\CONDSTEP[6]}{option=hide}
578
\condition{Question 7 : \REP7}{\TEST[7;3]=0 and \step >=\CONDSTEP[7]}{option=hide}
579
\condition{Question 7 : \REP7}{\TEST[7;1]=0 and \TEST[7;2]=0 and \TEST[7;3]=0 and \step >=\CONDSTEP[7]}{option=hide}
580
\condition{Question 8 : \REP8}{\TEST[8;3]=0 and \step >=\CONDSTEP[8]}{option=hide}
581
\condition{Question 8 : \REP8}{\TEST[8;1]=0 and \TEST[8;2]=0 and \TEST[8;3]=0 and \step >=\CONDSTEP[8]}{option=hide}
582
\condition{Question 9 : \REP9}{\TEST[9;3]=0 and \step >=\CONDSTEP[9]}{option=hide}
583
\condition{Question 9 : \REP9}{\TEST[9;1]=0 and \TEST[9;2]=0 and \TEST[9;3]=0 and \step >=\CONDSTEP[9]}{option=hide}
584
\condition{Question 10 : \REP10}{\TEST[10;3]=0 and \step >=\CONDSTEP[10]}{option=hide}
585
\condition{Question 10 : \REP10}{\TEST[10;1]=0 and \TEST[10;2]=0 and \TEST[10;3]=0 and \step >=\CONDSTEP[10]}{option=hide}
586
 
587
 
588
\text{test=wims(rows2lines \explication)}
589
\text{test=wims(lines2items \test)}
590
\text{test=wims(items2words \test)}
591
\text{test=wims(nospace \test)}
7717 bpr 592
feedback{1=1}{\explication
3445 bpr 593
   \if{\test notsametext}{
594
     <div class="reponse"><ol>
595
      \for{w = 1 to \MAX}{
596
        \if{\explication[\w;] notsametext }
7097 bpr 597
         {<li style="list-style:decimal;" value="\w">\explication[\w;] </li>}
3445 bpr 598
     }
599
     </ol>
600
    </div>
601
  }
602
}
603
{<ol>
604
  \for{ t = 1 to \N}{
605
    \if{\CNT[\step;\t] != }{
7097 bpr 606
  <li style="list-style:decimal;" value="\CNT[\step;\t]"> <b>\question[\N*(\step-1) + \t;]</b>
3445 bpr 607
  <div class="question"><ol>
608
   \for{s=1 to \CNT_choix[\N*(\step-1) + \t]}{
609
   <li>\embed{\STEPS[\step;\t] , \s }</li>
610
    }
611
   </ol>
612
   </div>
613
   </li>}
614
 }
615
</ol>
6647 bpr 616
}
15044 lemaire 617
 
618
\latex{
619
\begin{statement}
620
\instruction
621
\begin{enumerate}
622
\latexsrc
623
\end{enumerate}
624
\end{statement}
625
\begin{solution}\
626
\begin{enumerate}
627
\latexsol
628
\end{enumerate}
629
\end{solution}
630
}