Subversion Repositories wimsdev

Rev

Rev 7097 | Rev 9980 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7097 Rev 9925
Line 1... Line 1...
1
type=first
1
type=first
2
textarea="data1 data2 data3 data4 data5 data6 data7 data8 data9 data10"
2
textarea="data1 data2 data3 data4 data5 data6 data7 data8 data9 data10"
3
:Questions à choix multiples
3
:Questions à choix multiples
4
 
4
 
5
<p>Cet exercice présente des questions à choix multiples.</p>
5
<p>Cet exercice présente des questions à choix multiples.</p>
6
<p>Le nombre de questions est limité à 10. On choisit le nombre de questions 
6
<p>Le nombre de questions est limité à 10. On choisit le nombre de questions
7
à présenter à chaque exercice. Ces questions seront pris au hasard ou pas.</p> 
7
à présenter à chaque exercice. Ces questions seront pris au hasard ou pas.</p>
8
<p>Auteur du modèle : Bernadette Perrin-Riou <bpr@math.u-psud.fr></p>
8
<p>Auteur du modèle : Bernadette Perrin-Riou <bpr@math.u-psud.fr></p>
9
 
9
 
10
:%%%%%%%%%%%%%%%%%      ATTENTION      %%%%%%%%%%%%%%%%%%%%
10
:%%%%%%%%%%%%%%%%%      ATTENTION      %%%%%%%%%%%%%%%%%%%%
11
 
11
 
12
Enlevez l'en-tête ci-dessus si vous détruisez les balises pour le modèle !
12
Enlevez l'en-tête ci-dessus si vous détruisez les balises pour le modèle !
Line 77... Line 77...
77
:Mise en aléatoire par des accolades emboitables
77
:Mise en aléatoire par des accolades emboitables
78
$embraced_randitem
78
$embraced_randitem
79
\text{accolade=item(1,1 oui,
79
\text{accolade=item(1,1 oui,
80
2 non)}
80
2 non)}
81
 
81
 
82
:Question 
82
:Question
83
<p>Entrez ici la question à poser, selon le format suivant : </p>
83
<p>Entrez ici la question à poser, selon le format suivant : </p>
84
<ul>
84
<ul>
85
<li>La première ligne est le texte général.</li>
85
<li>La première ligne est le texte général.</li>
86
<li>La ligne suivante représente un feedback, qui sera affiché après validation des réponses
86
<li>La ligne suivante représente un feedback, qui sera affiché après validation des réponses
87
(elle peut être laissée vide).</li>
87
(elle peut être laissée vide).</li>
Line 161... Line 161...
161
le troisième jeudi de Novembre
161
le troisième jeudi de Novembre
162
le quatrième jeudi de Novembre}
162
le quatrième jeudi de Novembre}
163
 
163
 
164
:Question 8
164
:Question 8
165
 
165
 
166
\text{data8=Dans le film  <i>"Rain Man"</i>, quel acteur a un frère autiste surdoué ? 
166
\text{data8=Dans le film  <i>"Rain Man"</i>, quel acteur a un frère autiste surdoué ?
167
<i>Rain Man</i> est un film américain réalisé par Barry Levinson, sorti en 1989 en France.
167
<i>Rain Man</i> est un film américain réalisé par Barry Levinson, sorti en 1989 en France.
168
2
168
2
169
Bruce Willis
169
Bruce Willis
170
Tom Cruise
170
Tom Cruise
171
Woody Allen}
171
Woody Allen}
Line 178... Line 178...
178
Vrai
178
Vrai
179
Faux}
179
Faux}
180
 
180
 
181
:Question 10
181
:Question 10
182
 
182
 
183
\text{data10=Quel est le premier ballet écrit par Tchaïkovski ? 
183
\text{data10=Quel est le premier ballet écrit par Tchaïkovski ?
184
Le Lac des cygnes a été écrit en 1875 et Casse-noisette en 1891.
184
Le Lac des cygnes a été écrit en 1875 et Casse-noisette en 1891.
185
1
185
1
186
Le Lac des cygnes
186
Le Lac des cygnes
187
Casse-noisette}
187
Casse-noisette}
188
 
188
 
Line 232... Line 232...
232
 
232
 
233
\integer{first_step=\first_step notwordof 0 ? 1}
233
\integer{first_step=\first_step notwordof 0 ? 1}
234
\text{option_reaccent=\reaccent!=yes ? noreaccent:}
234
\text{option_reaccent=\reaccent!=yes ? noreaccent:}
235
\text{nopaste=\paste issametext no ? slib(utilities/nopaste )}
235
\text{nopaste=\paste issametext no ? slib(utilities/nopaste )}
236
 
236
 
237
\text{audio=\audio_file notsametext  and  \audio_file notsametext no? 
237
\text{audio=\audio_file notsametext  and  \audio_file notsametext no?
238
<div class="wimscenter">slib(media/audio \imagedir/\audio_file,\player_option,player=\player)</div>}
238
<div class="wimscenter">slib(media/audio \imagedir/\audio_file,\player_option,player=\player)</div>}
239
 
239
 
240
\text{image=\image_file notsametext  and  \image_file notsametext no? 
240
\text{image=\image_file notsametext  and  \image_file notsametext no?
241
wims(makelist <img src="\imagedir/x " alt="" /> for x in \image_file)}
241
wims(makelist <img src="\imagedir/x " alt="" /> for x in \image_file)}
242
 
242
 
243
\if{\video_file notsametext  and  \video_file notsametext no}{ 
243
\if{\video_file notsametext  and  \video_file notsametext no}{
244
  \text{video_file=http notin \video_file ? \imagedir/\video_file}
244
  \text{video_file=http notin \video_file ? \imagedir/\video_file}
245
\text{video=\video_file notsametext ? <a target="wims_external" href="\video_file">[video] </a>}
245
\text{video=\video_file notsametext ? <a target="wims_external" href="\video_file">[video] </a>}
246
}
246
}
247
 
247
 
248
\text{style = <style type="text/css">
248
\text{style = <style type="text/css">
Line 250... Line 250...
250
 .feedback{border:1px dashed grey;padding:0.5em;margin:0;}
250
 .feedback{border:1px dashed grey;padding:0.5em;margin:0;}
251
 .question {\style_question}
251
 .question {\style_question}
252
 .question ol{padding:0px 0em 0px 1.5em;margin:0}
252
 .question ol{padding:0px 0em 0px 1.5em;margin:0}
253
 .reponse {\style_reponse}
253
 .reponse {\style_reponse}
254
 .oefstatement{\style_oef}
254
 .oefstatement{\style_oef}
255
 
255
 
256
 .highlight_false{color:red;font-weight:bold;text-decoration:line-through;}
256
 .highlight_false{color:red;font-weight:bold;text-decoration:line-through;}
257
 .highlight{font-weight:bold;}
257
 .highlight{font-weight:bold;}
258
 .true{color:green;}
258
 .true{color:green;}
259
 .incomplete{color:navy;}
259
 .incomplete{color:navy;}
260
 \style_css
260
 \style_css
Line 264... Line 264...
264
\integer{N = min(\cnt_question,\N)}
264
\integer{N = min(\cnt_question,\N)}
265
\integer{MAX=min(\N*\MAX,\cnt_question)}
265
\integer{MAX=min(\N*\MAX,\cnt_question)}
266
\text{battage=\alea issametext yes ? shuffle(\data_q,,) :
266
\text{battage=\alea issametext yes ? shuffle(\data_q,,) :
267
\data_q}
267
\data_q}
268
\text{battage=wims(nonempty items \battage)}
268
\text{battage=wims(nonempty items \battage)}
269
     
269
 
270
\text{qcm_prompt1=Votre réponse :}
270
\text{qcm_prompt1=Votre réponse :}
271
\text{qcm_prompt2=La(les) bonne(s) réponse(s) :}
271
\text{qcm_prompt2=La(les) bonne(s) réponse(s) :}
272
\text{good_answer_text=Bonne réponse}
272
\text{good_answer_text=Bonne réponse}
273
\text{bad_answer_text=Mauvaise réponse}
273
\text{bad_answer_text=Mauvaise réponse}
274
\text{incomplete_answer_text=Réponse incomplète}
274
\text{incomplete_answer_text=Réponse incomplète}
Line 288... Line 288...
288
 \text{QUEST=\battage[\i]=6? \data6}
288
 \text{QUEST=\battage[\i]=6? \data6}
289
 \text{QUEST=\battage[\i]=7? \data7}
289
 \text{QUEST=\battage[\i]=7? \data7}
290
 \text{QUEST=\battage[\i]=8? \data8}
290
 \text{QUEST=\battage[\i]=8? \data8}
291
 \text{QUEST=\battage[\i]=9? \data9}
291
 \text{QUEST=\battage[\i]=9? \data9}
292
 \text{QUEST=\battage[\i]=10? \data10}
292
 \text{QUEST=\battage[\i]=10? \data10}
293
 
293
 
294
 \text{preliminaire_test=\QUEST}
294
 \text{preliminaire_test=\QUEST}
295
 \text{preliminaire_test=row(1,\preliminaire_test)}
295
 \text{preliminaire_test=row(1,\preliminaire_test)}
296
 \text{inst_audio=wims(getopt audio in \preliminaire_test)}
296
 \text{inst_audio=wims(getopt audio in \preliminaire_test)}
297
 \text{inst_image=wims(getopt image in \preliminaire_test)}
297
 \text{inst_image=wims(getopt image in \preliminaire_test)}
298
 \text{inst_title=wims(getopt title in \preliminaire_test)}
298
 \text{inst_title=wims(getopt title in \preliminaire_test)}
Line 301... Line 301...
301
 \text{rab_inst=}
301
 \text{rab_inst=}
302
 \text{rab_inst=\inst_title notsametext ?\rab_inst<div class="wimscenter">\inst_title</div>}
302
 \text{rab_inst=\inst_title notsametext ?\rab_inst<div class="wimscenter">\inst_title</div>}
303
 \text{rab_inst=\inst_intro notsametext ?\rab_inst \inst_intro}
303
 \text{rab_inst=\inst_intro notsametext ?\rab_inst \inst_intro}
304
 \text{rab_inst=\inst_image notsametext ? \rab_inst <div class="wimscenter"><img src="\imagedir/\inst_image" alt="" /></div>}
304
 \text{rab_inst=\inst_image notsametext ? \rab_inst <div class="wimscenter"><img src="\imagedir/\inst_image" alt="" /></div>}
305
 \if{\inst_audio notsametext }{
305
 \if{\inst_audio notsametext }{
306
     \text{rab_inst1= . isin \inst_audio or \packs= ? 
306
     \text{rab_inst1= . isin \inst_audio or \packs= ?
307
       slib(media/audio \imagedir/\inst_audio,\player_option,player=\player):slib(lang/swac \inst_audio,\packs,player=\player,\player_option)}
307
       slib(media/audio \imagedir/\inst_audio,\player_option,player=\player):slib(lang/swac \inst_audio,\packs,player=\player,\player_option)}
308
     \text{rab_inst=\rab_inst <div class="wimscenter">\rab_inst1[1;1]</div>}
308
     \text{rab_inst=\rab_inst <div class="wimscenter">\rab_inst1[1;1]</div>}
309
   }
309
   }
310
 \text{preliminaire=\test_inst=1  ? \rab_inst:&nbsp;}
310
 \text{preliminaire=\test_inst=1  ? \rab_inst:&nbsp;}
311
 \text{QUEST=\test_inst=1 ? wims(line 2 to -1 of \QUEST)}
311
 \text{QUEST=\test_inst=1 ? wims(line 2 to -1 of \QUEST)}
Line 346... Line 346...
346
   \matrix{CHOIX=\CHOIX
346
   \matrix{CHOIX=\CHOIX
347
     \Choix}
347
     \Choix}
348
   \text{H = wims(nospace \QUEST[\debut;])}
348
   \text{H = wims(nospace \QUEST[\debut;])}
349
   \text{cnt_c=items(\H)}
349
   \text{cnt_c=items(\H)}
350
   \text{Rep = }
350
   \text{Rep = }
351
   \for{ k = 1 to \cnt_c}{ 
351
   \for{ k = 1 to \cnt_c}{
352
     \text{Rep = \Rep, position(\H[\k],\mix)}
352
     \text{Rep = \Rep, position(\H[\k],\mix)}
353
   }
353
   }
354
   \text{Rep = wims(sort items wims(nonempty items \Rep))}
354
   \text{Rep = wims(sort items wims(nonempty items \Rep))}
355
   \matrix{rep = \rep
355
   \matrix{rep = \rep
356
    \Rep}
356
    \Rep}
Line 419... Line 419...
419
                   <span class="incomplete">\incomplete_answer_text
419
                   <span class="incomplete">\incomplete_answer_text
420
          </span>}
420
          </span>}
421
         \if{\TEST[\h;3]>0}{<span style="color:red">\bad_answer_text</span>}
421
         \if{\TEST[\h;3]>0}{<span style="color:red">\bad_answer_text</span>}
422
         \if{\TEST[\h;3]=0 and \TEST[\h;2]=0}{<span class="true">\good_answer_text</span>}
422
         \if{\TEST[\h;3]=0 and \TEST[\h;2]=0}{<span class="true">\good_answer_text</span>}
423
         \if{\answer_given=yes}{
423
         \if{\answer_given=yes}{
424
          <br/> \qcm_prompt2 
424
          <br/> \qcm_prompt2
425
          <ul class="highlight true">
425
          <ul class="highlight true">
426
             \for{s=1 to \CNT_choix[\h]}{
426
             \for{s=1 to \CNT_choix[\h]}{
427
               \if{\s isitemof \rep[\h;]}{ <li>\CHOIX[\h;\s]</li>} 
427
               \if{\s isitemof \rep[\h;]}{ <li>\CHOIX[\h;\s]</li>}
428
            }
428
            }
429
          </ul>
429
          </ul>
430
         }
430
         }
431
      \if{\explication[\h;] notsametext }{<div class="feedback">\explication[\h;]</div>}     
431
      \if{\explication[\h;] notsametext }{<div class="feedback">\explication[\h;]</div>}
432
     </div>
432
     </div>
433
   }
433
   }
434
   { \if{ r \h isitemof \nstep}{
434
   { \if{ r \h isitemof \nstep}{
435
      <div class="question">
435
      <div class="question">
436
   <ol>
436
        <ol>
437
      \for{s=1 to \CNT_choix[\h]}{ <li><label>\embed{reply \h , \s}</label></li> }
437
          \for{s=1 to \CNT_choix[\h]}{ <li>\embed{reply \h , \s}</li> }
438
      </ol>
438
        </ol>
439
      </div>
439
      </div>
440
      }
440
      }
441
   }
441
   }
442
     </ol>
442
     </ol>
443
  }
443
  }
Line 473... Line 473...
473
   \text{test1 = wims(listuniq \REP[\H;],\CHOIX[\H;\rep[\H;]])}
473
   \text{test1 = wims(listuniq \REP[\H;],\CHOIX[\H;\rep[\H;]])}
474
   \integer{test1 = items(\test1)-items(\CHOIX[\H;\rep[\H;]])}
474
   \integer{test1 = items(\test1)-items(\CHOIX[\H;\rep[\H;]])}
475
   \text{test2 = wims(listcomplement \REP[\H;] in \CHOIX[\H;\rep[\H;]])}
475
   \text{test2 = wims(listcomplement \REP[\H;] in \CHOIX[\H;\rep[\H;]])}
476
   \text{test3 = wims(listcomplement \CHOIX[\H;\rep[\H;]] in \REP[\H;])}
476
   \text{test3 = wims(listcomplement \CHOIX[\H;\rep[\H;]] in \REP[\H;])}
477
  %%% \integer{test4=items(\REP[\H;]) - items(\CHOIX[\H;])}
477
  %%% \integer{test4=items(\REP[\H;]) - items(\CHOIX[\H;])}
478
   \text{test_cnt=\test1, items(\test2),items(\test3)}    
478
   \text{test_cnt=\test1, items(\test2),items(\test3)}
479
   \integer{cnt_juste= \test_cnt[1]+\test_cnt[2]+\test_cnt[3] =0 ? \cnt_juste + 1}
479
   \integer{cnt_juste= \test_cnt[1]+\test_cnt[2]+\test_cnt[3] =0 ? \cnt_juste + 1}
480
   \matrix{TEST=\TEST
480
   \matrix{TEST=\TEST
481
   \test_cnt}
481
   \test_cnt}
482
}
482
}
483
 
483
 
484
test1 = 0 rep < juste
484
test1 = 0 rep < juste
485
test2  nombre de réponses dites justes et en fait fausses
485
test2  nombre de réponses dites justes et en fait fausses
486
test3  nombre de réponses dites fausses et en fait justes
486
test3  nombre de réponses dites fausses et en fait justes
487
 
487
 
488
totalement justes : test1=0, test2=0 test3=0
488
totalement justes : test1=0, test2=0 test3=0
489
partiellement justes : 
489
partiellement justes :
490
 
490
 
491
\real{v=\cnt_juste/\CNT[\step-1;\N]}
491
\real{v=\cnt_juste/\CNT[\step-1;\N]}
492
 
492
 
493
\text{nstep = \v >= \percent ? \STEPS[\step;]:}
493
\text{nstep = \v >= \percent ? \STEPS[\step;]:}
494
 
494
 
Line 517... Line 517...
517
 
517
 
518
\text{test=wims(rows2lines \explication)}
518
\text{test=wims(rows2lines \explication)}
519
\text{test=wims(lines2items \test)}
519
\text{test=wims(lines2items \test)}
520
\text{test=wims(items2words \test)}
520
\text{test=wims(items2words \test)}
521
\text{test=wims(nospace \test)}
521
\text{test=wims(nospace \test)}
522
feedback{1=1}{\explication 
522
feedback{1=1}{\explication
523
   \if{\test notsametext}{
523
   \if{\test notsametext}{
524
     <div class="reponse"><ol>
524
     <div class="reponse"><ol>
525
      \for{w = 1 to \MAX}{
525
      \for{w = 1 to \MAX}{
526
        \if{\explication[\w;] notsametext }
526
        \if{\explication[\w;] notsametext }
527
         {<li style="list-style:decimal;" value="\w">\explication[\w;] </li>}
527
         {<li style="list-style:decimal;" value="\w">\explication[\w;] </li>}