Rev 17142 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
11360 | bpr | 1 | type=question |
13488 | 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" |
||
13715 | obado | 4 | iEdit="instruction" |
5 | |||
11377 | bpr | 6 | :Plusieurs questions à la suite, toutes de type QCM |
3445 | bpr | 7 | |
3451 | obado | 8 | <p>Cet exercice présente des questions à choix multiples.</p> |
7717 | bpr | 9 | <p>Le nombre de questions est limité à 10. On choisit le nombre de questions |
10 | à présenter à chaque exercice. Ces questions seront pris au hasard ou pas.</p> |
||
15179 | lemaire | 11 | <p class="wims_credits">Auteur du modèle : <a href="mailto:bernadette.m.riou@orange.fr">Bernadette Perrin-Riou</a></p> |
3445 | bpr | 12 | |
13 | :%%%%%%%%%%%%%%%%% ATTENTION %%%%%%%%%%%%%%%%%%%% |
||
14 | |||
15 | Enlevez l'en-tête ci-dessus si vous détruisez les balises pour le modèle ! |
||
16 | (Ce sont les lignes qui commencent par un ':'.) |
||
17 | Sinon l'exercice risque de ne pas pouvoir repasser sous Createxo. |
||
18 | |||
19 | :%%%%%%%% Paramètres d'exemples à redéfinir %%%%%%%%%%%%%%%%% |
||
20 | |||
4793 | bpr | 21 | :\title{QCM à la suite} |
5147 | bpr | 22 | :\author{Bernadette, Perrin-Riou} |
3445 | bpr | 23 | :\email{bpr@math.u-psud.fr} |
8516 | obado | 24 | :\credits{Image de Pfly [CC BY-SA 2.5], via Wikimedia Commons} |
13488 | obado | 25 | |
4576 | obado | 26 | :Instruction Globale |
3451 | obado | 27 | Tapez ici une instruction commune à toutes les questions de l'exercice |
9980 | obado | 28 | $embraced_randitem |
8516 | 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 | |
31 | :Ordre aléatoire |
||
8516 | obado | 32 | Choisissez "oui" pour activer le tirage au sort des questions. |
33 | Choisissez "non" pour les présenter dans l'ordre où elles sont rentrées. |
||
34 | \text{alea=item(1,oui,non)} |
||
3451 | obado | 35 | |
3452 | obado | 36 | :Nombre maximum de questions par étape |
3451 | obado | 37 | WIMS divisera automatiquement votre exercice en étapes en fonction du nombre total de questions définies et du nombre de questions par étapes. |
8516 | obado | 38 | \text{N=3} |
3451 | obado | 39 | |
3445 | bpr | 40 | :Nombre maximum d'étapes |
3452 | obado | 41 | WIMS divisera automatiquement votre exercice en étapes en fonction du nombre total de questions définies et du nombre de questions par étapes. |
3445 | bpr | 42 | \text{MAX=2} |
3451 | obado | 43 | |
11439 | bpr | 44 | :Texte mis à côté de la réponse donnée une fois que l'élève a répondu. |
45 | Ces mots interviennent une fois que l'on a répondu à des questions. |
||
46 | Il est conseillé de faire fonctionner l'exercice de démonstration avec |
||
47 | des réponses justes et fausses pour comprendre où interviennent ces mots. |
||
3445 | bpr | 48 | \text{qcm_prompt1=Votre réponse :} |
3451 | obado | 49 | |
8516 | obado | 50 | :Texte pour le feedback "La bonne réponse" |
3451 | obado | 51 | |
11163 | bpr | 52 | \text{qcm_prompt2=La(les) bonne(s) réponse(s) étaient :} |
3451 | obado | 53 | |
8516 | obado | 54 | :Texte pour le feedback "Réponse correcte" |
3451 | obado | 55 | |
11163 | bpr | 56 | \text{good_answer_text=Bonne réponse !} |
3451 | obado | 57 | |
8516 | obado | 58 | :Texte pour le feedback "Réponse incorrecte" |
3451 | obado | 59 | |
11163 | bpr | 60 | \text{bad_answer_text=Mauvaise réponse !} |
3451 | obado | 61 | |
8516 | obado | 62 | :Texte pour le feedback "Réponse incomplète" |
3451 | obado | 63 | |
8516 | obado | 64 | \text{incomplete_answer_text=Réponse incomplète...} |
3451 | obado | 65 | |
8516 | obado | 66 | :Style css pour les questions |
3451 | obado | 67 | |
8516 | obado | 68 | \text{style_question=background-color: #F2F9FC;} |
3451 | obado | 69 | |
8516 | obado | 70 | :Style css pour les réponses |
3451 | obado | 71 | |
15044 | lemaire | 72 | \text{style_reponse=color:#555;font-size:90%;} |
3451 | obado | 73 | |
13547 | bpr | 74 | :Coefficient de réussite demandé pour passer à l'étape suivante (si le nombre maximum d'étapes >1) |
75 | (nombre compris entre 0 et 1) |
||
3445 | bpr | 76 | \text{percent=0} |
3451 | obado | 77 | |
5797 | bpr | 78 | :Mise en aléatoire par des accolades emboitables |
79 | $embraced_randitem |
||
8516 | obado | 80 | \text{accolade=item(2, oui, non)} |
5797 | bpr | 81 | |
15044 | lemaire | 82 | :Affichage de l'analyse des réponses |
83 | Dans le cas où l'exercice est utilisé avec le paramétrage |
||
84 | "Ne jamais afficher les bonnes réponses" : |
||
85 | <ul><li>si vous choisissez "oui" alors, après chaque question, il sera |
||
86 | indiqué si les choix sélectionnés sont justes ou faux. |
||
87 | </li><li>si vous choisissez "non" alors, après chaque question, les choix |
||
88 | sélectionnés seront affichés sans indication. |
||
89 | </li></ul> |
||
90 | Dans les autres cas, après chaque question, il sera indiqué si les choix |
||
91 | sélectionnés sont justes ou faux et en cas d'erreur, la liste des bons |
||
92 | choix sera affichée. |
||
93 | |||
8516 | obado | 94 | \text{answer_given=item(1, oui, non)} |
95 | |||
96 | :Questions |
||
11163 | bpr | 97 | <p>Entrez ici la question à poser, selon le format suivant :</p> |
8516 | obado | 98 | <ol> |
99 | <li>La première ligne contient l'énoncé de la question.</li> |
||
100 | <li>La seconde ligne représente un feedback, qui sera affiché après validation des réponses |
||
101 | (elle peut être laissée vide).</li> |
||
102 | <li>Entrez sur la 3e ligne la liste des numéros des bonnes réponses, séparées par des virgules. (les numéros représentent l'ordre dans lequel sont écrites les propositions ci-dessous)</li> |
||
103 | <li>Chaque ligne suivante représente les différentes propositions de réponses.</li></ol> |
||
17172 | bpr | 104 | <div style="border-left:2px solid orange;width:45em;background-color:white;padding:1em .5em;">Exemple : <br> |
8516 | obado | 105 | <pre>Énoncé de la Question n°1 |
106 | Explication (feedback) affichée en cas de mauvaise réponse à la question n°1 |
||
107 | Numéro(s) de la (des) bonne(s) réponse(s) |
||
108 | Proposition n°1 |
||
109 | Proposition n°2 |
||
110 | Proposition n°3</pre></div> |
||
11163 | bpr | 111 | <p class="oef_indbad"><strong>Attention :</strong> les point-virgules sont interdits ici.</p> |
17172 | bpr | 112 | <hr> |
113 | <p><em>Facultatif :</em> Vous pouvez éventuellement ajouter une premiere ligne qui contiendra des variables permettant d'insérer un titre, une image, du son. (nb : vous devez être dans une classe ou un module pour pouvoir transférer ces fichiers).<br> Dans ce cas, ce sera la seconde ligne (et non la première) qui représentera l'énoncé, la 3e le feedback, et ainsi de suite....</p> |
||
9925 | obado | 114 | Les variables possibles sont : |
3452 | obado | 115 | <ul> |
11750 | bpr | 116 | <li><code>Qtitle</code> : affiche un titre au début de la question. (par exemple pour indiquer le thème)</li> |
11163 | bpr | 117 | <li><code>Qimage</code> : si un fichier d'image est indiqué, celle-ci sera affichée au début de la question (ne fonctionne que dans un module ou une classe).</li> |
118 | <li><code>Qaudio</code> : si un fichier son est indiqué, celui-ci sera affichée au début de la question (ne fonctionne que dans un module ou une classe. Bugs connus avec Safari).</li> |
||
8516 | obado | 119 | </ul> |
17172 | bpr | 120 | <div style="border-left:2px solid orange;width:45em;background-color:white;padding:1em .5em;">Exemple : <br> |
8516 | obado | 121 | <pre>Qtitle="Titre de la question n°2" Qimage="image.jpg" Qaudio="son.mp3" |
122 | Énoncé de la Question n°2 |
||
123 | Explication (feedback) affichée en cas de mauvaise réponse à la question n°2 |
||
124 | Numéro(s) de la (des) bonne(s) réponse(s) |
||
125 | Proposition n°1 |
||
126 | Proposition n°2 |
||
127 | Proposition n°3</pre></div> |
||
128 | \text{data1=asis(En quelle année eut lieu la bataille de Marignan ? |
||
3452 | obado | 129 | Marignan fut la première victoire du jeune roi François Ier, la première année de son règne. |
3445 | bpr | 130 | 1 |
131 | 1515 |
||
132 | 1414 |
||
133 | 1313 |
||
8516 | obado | 134 | 1616)} |
3445 | bpr | 135 | |
3451 | obado | 136 | :Question 2 |
137 | |||
8516 | obado | 138 | \text{data2=asis(En 2014, quelle est la ville la plus peuplée au monde ? |
139 | C'est Tokyo, la capitale du Japon (37,7 millions d'habitants), loin devant les autres (qui ont entre 20 et 24 millions d'habitants). <p class="right">Source <a href="http://www.populationdata.net/index2.php?option=palmares&rid=4&nom=grandes-villes-du-monde" target="_blank">populationdata.net</a></p> |
||
140 | 7 |
||
141 | Beijing |
||
142 | Karachi |
||
143 | Manille |
||
3451 | obado | 144 | Mexico |
145 | New York |
||
8516 | obado | 146 | Shanghaï |
147 | Tokyo)} |
||
3451 | obado | 148 | |
149 | :Question 3 |
||
150 | |||
17172 | bpr | 151 | \text{data3=asis(Quel est le nom de ce fleuve ?<div><img src="http://upload.wikimedia.org/wikipedia/commons/e/e4/Mekong_River_watershed.png" alt="carte montrant un fleuve dans le sud-est de l'asie."></div> |
3459 | bpr | 152 | Environ 70 millions d'habitants vivent directement dans le bassin versant du Mékong. |
3451 | obado | 153 | 1 |
154 | Le Mékong |
||
155 | Le Yangzi Jiang |
||
156 | La Volga |
||
8516 | obado | 157 | Le Danube)} |
3451 | obado | 158 | |
159 | :Question 4 |
||
160 | |||
8516 | obado | 161 | \text{data4=asis(Qtitle="En Peinture" |
162 | Parmi ces différents peintres, lesquels font partie du mouvement impressionniste ? |
||
3452 | obado | 163 | Ingres est associé au courant Romantique, et Raphaël à la Renaissance. |
164 | 1,3 |
||
165 | Edgar Degas |
||
166 | Dominique Ingres |
||
167 | Claude Monet |
||
8516 | obado | 168 | Raphaël)} |
3451 | obado | 169 | |
170 | :Question 5 |
||
171 | |||
8516 | obado | 172 | \text{data5=asis(Qtitle=ANIMAUX |
173 | Quel est le cri du chameau ? |
||
15956 | bpr | 174 | Le brairement est le cri de l'âne, le bêlement est celui des moutons et des chèvres. |
3451 | obado | 175 | 1 |
176 | Le blatèrement |
||
177 | Le brairement |
||
8516 | obado | 178 | Le bêlement)} |
3451 | obado | 179 | |
180 | :Question 6 |
||
181 | |||
8516 | obado | 182 | \text{data6=asis(Qtitle=Chimie |
183 | Quelle est la formule chimique de la testostérone ? |
||
11750 | bpr | 184 | C<sub>8</sub>H<sub>10</sub>N<sub>4</sub>O<sub>2</sub> correspond à la caféine, C<sub>3</sub>H<sub>5</sub>N<sub>3</sub>O<sub>9</sub> à la nitroglycérine, et C<sub>17</sub>H<sub>19</sub>NO<sub>3</sub> la morphine |
3451 | obado | 185 | 4 |
186 | C<sub>8</sub>H<sub>10</sub>N<sub>4</sub>O<sub>2</sub> |
||
187 | C<sub>3</sub>H<sub>5</sub>N<sub>3</sub>O<sub>9</sub> |
||
188 | C<sub>17</sub>H<sub>19</sub>NO<sub>3</sub> |
||
8516 | obado | 189 | C<sub>19</sub>H<sub>28</sub>O<sub>2</sub>)} |
3451 | obado | 190 | |
191 | :Question 7 |
||
192 | |||
11750 | bpr | 193 | \text{data7=asis(À partir de quel jour le beaujolais nouveau est-il disponible en vente ? |
3459 | bpr | 194 | Le beaujolais nouveau est un vin de primeur, c'est-à-dire un vin de l'année même, dont la commercialisation est autorisée immédiatement après la fin de la vinification. |
3451 | obado | 195 | 3 |
196 | le premier jeudi de Novembre |
||
197 | le deuxième jeudi de Novembre |
||
198 | le troisième jeudi de Novembre |
||
8516 | obado | 199 | le quatrième jeudi de Novembre)} |
3451 | obado | 200 | |
201 | :Question 8 |
||
202 | |||
11750 | bpr | 203 | \text{data8=asis(Dans le film <i>"Rain Man"</i>, quel acteur a un frère autiste surdoué ? |
3452 | obado | 204 | <i>Rain Man</i> est un film américain réalisé par Barry Levinson, sorti en 1989 en France. |
3451 | obado | 205 | 2 |
206 | Bruce Willis |
||
207 | Tom Cruise |
||
8516 | obado | 208 | Woody Allen)} |
3451 | obado | 209 | |
210 | :Question 9 |
||
211 | |||
8516 | obado | 212 | \text{data9=asis(Le ski nautique est une discipline olympique depuis 1976. |
3452 | obado | 213 | L'apparition du ski nautique aux jeux olympiques ne date que de 2004. Toutefois, il avait été sport de démonstration en 1972. |
3451 | obado | 214 | 2 |
215 | Vrai |
||
8516 | obado | 216 | Faux)} |
3451 | obado | 217 | |
218 | :Question 10 |
||
219 | |||
8516 | obado | 220 | \text{data10=asis(Qtitle=Musique |
221 | Quel est le premier ballet écrit par Tchaïkovski ? |
||
3452 | obado | 222 | Le Lac des cygnes a été écrit en 1875 et Casse-noisette en 1891. |
3451 | obado | 223 | 1 |
224 | Le Lac des cygnes |
||
8516 | obado | 225 | Casse-noisette)} |
3451 | obado | 226 | |
9980 | obado | 227 | :Type de réponses |
17172 | bpr | 228 | Le type "checkbox" (boutons carrés) permet à l'apprenant de cocher plusieurs réponses par question.<br> |
9980 | obado | 229 | Alors que le type "radio" (boutons ronds) ne permet qu'une réponse par question. |
230 | \text{format=item(1, checkbox, radio)} |
||
231 | |||
3459 | bpr | 232 | : |
3445 | bpr | 233 | \language{fr} |
234 | \computeanswer{no} |
||
235 | \format{html} |
||
236 | |||
237 | \text{paste=yes} |
||
8516 | obado | 238 | |
3445 | bpr | 239 | \text{option=} |
8516 | obado | 240 | |
9980 | obado | 241 | :%%%%%%%%%%%%%% Rien à modifier jusqu'à l'énoncé %%%%%%%%%%%%%%%% |
15187 | bpr | 242 | \text{presentgood=} |
3445 | bpr | 243 | \text{data_q=\data1!= ? 1:} |
244 | \text{data_q=\data2!= ? wims(append item 2 to \data_q)} |
||
245 | \text{data_q=\data3!= ? wims(append item 3 to \data_q)} |
||
246 | \text{data_q=\data4!= ? wims(append item 4 to \data_q)} |
||
247 | \text{data_q=\data5!= ? wims(append item 5 to \data_q)} |
||
248 | \text{data_q=\data6!= ? wims(append item 6 to \data_q)} |
||
249 | \text{data_q=\data7!= ? wims(append item 7 to \data_q)} |
||
250 | \text{data_q=\data8!= ? wims(append item 8 to \data_q)} |
||
251 | \text{data_q=\data9!= ? wims(append item 9 to \data_q)} |
||
3451 | obado | 252 | \text{data_q=\data10!= ? wims(append item 10 to \data_q)} |
3445 | bpr | 253 | |
9980 | obado | 254 | \text{instruction=\accolade issametext oui ? wims(embraced randitem \instruction):\instruction} |
255 | |||
3445 | bpr | 256 | \integer{cnt_question=items(\data_q)} |
257 | |||
258 | \text{nopaste=\paste issametext no ? slib(utilities/nopaste )} |
||
259 | |||
13715 | obado | 260 | \text{style = <style> |
17142 | obado | 261 | .enonce{margin-bottom:0} |
262 | .qcm_prompt2{margin-top:.5em} |
||
263 | img{vertical-align:middle;} |
||
264 | .q_num, .panel .wims_title{ |
||
265 | font-size:120%;font-family:Impact, Charcoal, sans-serif; |
||
266 | color:#717171; |
||
267 | } |
||
268 | .feedback{border:1px dashed grey;padding:.5em;margin-top:.5em;} |
||
269 | .reponse { |
||
270 | margin: 0 1em; |
||
271 | padding: .5em; |
||
272 | border-radius:5px; |
||
273 | \style_reponse |
||
274 | } |
||
275 | .panel{ |
||
8516 | obado | 276 | padding:.5em 1em .5em 1em; |
277 | margin:.5em 0; |
||
8517 | obado | 278 | border:1px solid #d8d8d8; |
8516 | obado | 279 | border-radius:5px; |
17142 | obado | 280 | } |
281 | .panel.callout{ |
||
8517 | obado | 282 | border-color:#c5e5f3; |
283 | border-width:2px; |
||
8516 | obado | 284 | \style_question |
17142 | obado | 285 | } |
286 | .callout .q_num, .callout .wims_title{color:black;} |
||
8517 | obado | 287 | |
17142 | obado | 288 | .panel .wims_title, .panel .wimscenter{margin-top:-1.2em;} |
289 | ol li{margin-bottom: .5em;list-style:upper-alpha;} |
||
290 | input[type='checkbox'] { font-size:120%; } |
||
291 | .strike{text-decoration:line-through;} |
||
292 | .oef_indpartial{color:navy;} |
||
293 | </style>} |
||
3445 | bpr | 294 | |
295 | \integer{N = min(\cnt_question,\N)} |
||
296 | \integer{MAX=min(\N*\MAX,\cnt_question)} |
||
8516 | obado | 297 | \text{battage=\alea issametext oui ? shuffle(\data_q,,) :\data_q} |
3445 | bpr | 298 | \text{battage=wims(nonempty items \battage)} |
7717 | bpr | 299 | |
3445 | bpr | 300 | \text{option=\option noanalyzeprint} |
301 | \matrix{question=} |
||
7717 | bpr | 302 | \matrix{explication=xxx} |
3445 | bpr | 303 | \matrix{rep=} |
304 | \text{CNT_choix= } |
||
305 | \matrix{CHOIX=} |
||
306 | \text{PRELIMINAIRE=} |
||
8516 | obado | 307 | |
3445 | bpr | 308 | \for{i= 1 to \MAX}{ |
17142 | obado | 309 | \matrix{QUEST=\battage[\i]=1? \data1} |
310 | \matrix{QUEST=\battage[\i]=2? \data2} |
||
311 | \matrix{QUEST=\battage[\i]=3? \data3} |
||
312 | \matrix{QUEST=\battage[\i]=4? \data4} |
||
313 | \matrix{QUEST=\battage[\i]=5? \data5} |
||
314 | \matrix{QUEST=\battage[\i]=6? \data6} |
||
315 | \matrix{QUEST=\battage[\i]=7? \data7} |
||
316 | \matrix{QUEST=\battage[\i]=8? \data8} |
||
317 | \matrix{QUEST=\battage[\i]=9? \data9} |
||
318 | \matrix{QUEST=\battage[\i]=10? \data10} |
||
7717 | bpr | 319 | |
17142 | obado | 320 | \text{preliminaire_test=\QUEST} |
321 | \text{preliminaire_test=row(1,\preliminaire_test)} |
||
322 | \text{inst_audio=wims(getopt Qaudio in \preliminaire_test)} |
||
323 | \text{inst_image=wims(getopt Qimage in \preliminaire_test)} |
||
324 | \text{inst_title=wims(getopt Qtitle in \preliminaire_test)} |
||
9925 | obado | 325 | |
17142 | obado | 326 | \text{rab_inst=} |
327 | \text{rab_inst=\inst_title notsametext ?\rab_inst <h2 class="wims_title">\inst_title</h2>} |
||
17172 | bpr | 328 | \text{rab_inst=\inst_image notsametext ?\rab_inst <div class="wimscenter"><img src="\imagedir/\inst_image" alt=""></div>} |
17142 | obado | 329 | \if{\inst_audio notsametext }{ |
330 | \text{rab_inst1= . isin \inst_audio ? |
||
331 | <audio controls> |
||
8516 | obado | 332 | <source src="\imagedir/\inst_audio" type="audio/mpeg"> |
333 | Désolé, votre navigateur est incompatible avec la lecture de fichiers audio. |
||
17142 | obado | 334 | </audio>} |
335 | \text{rab_inst=\rab_inst <div class="wimscenter audio">\rab_inst1[1;1]</div>} |
||
336 | } |
||
8516 | obado | 337 | |
17142 | obado | 338 | \integer{test_inst=\inst_audio\inst_image\inst_title notsametext ? 1 : 0} |
339 | \text{preliminaire=\test_inst=1 ? \rab_inst: } |
||
340 | \matrix{QUEST=\test_inst=1 ? \QUEST[2..-1;]} |
||
341 | \matrix{QUEST=\accolade issametext oui ?wims(embraced randitem \QUEST):\QUEST} |
||
342 | \matrix{question = \question |
||
8516 | obado | 343 | \QUEST[1;]} |
17142 | obado | 344 | \matrix{PRELIMINAIRE=\PRELIMINAIRE |
8516 | obado | 345 | \preliminaire} |
346 | |||
17142 | obado | 347 | \text{expl=\QUEST[2;]} |
348 | \text{ligne=wims(upper \expl)} |
||
349 | \text{ligne=wims(text select ABCDEFGHIJKLMNOPQRSTUVWXYZ in \ligne)} |
||
350 | \if{ \ligne issametext and \expl notsametext }{ |
||
351 | \matrix{explication = \explication;} |
||
352 | \integer{debut = 2} |
||
3445 | bpr | 353 | } |
17142 | obado | 354 | \if{ \ligne issametext and \expl issametext }{ |
355 | \matrix{explication = \explication;} |
||
356 | \integer{debut = 3} |
||
357 | } |
||
358 | \if{ \ligne notsametext }{ |
||
359 | \matrix{explication = \explication;\expl} |
||
360 | \integer{debut = 3} |
||
361 | } |
||
3445 | bpr | 362 | \integer{cnt_choix=rows(\QUEST)-\debut} |
363 | \text{CNT_choix=\CNT_choix,\cnt_choix} |
||
17142 | obado | 364 | \text{Choix=} |
365 | \text{mix=shuffle(\cnt_choix)} |
||
366 | \for{ j=\debut+1 to \cnt_choix + \debut+1 }{ |
||
367 | \text{choix= \QUEST[\j;]} |
||
368 | \text{choix=wims(replace internal , by , in \choix)} |
||
369 | \matrix{Choix = \Choix, \choix[1;]} |
||
370 | } |
||
371 | \text{Choix=wims(nonempty items \Choix)} |
||
372 | \text{Choix= \Choix[\mix]} |
||
373 | \matrix{CHOIX=\CHOIX |
||
374 | \Choix} |
||
375 | \text{H = wims(nospace \QUEST[\debut;])} |
||
376 | \text{cnt_c=items(\H)} |
||
377 | \text{Rep = } |
||
378 | \for{ k = 1 to \cnt_c }{ |
||
379 | \text{Rep = \Rep, position(\H[\k],\mix)} |
||
380 | } |
||
381 | \text{Rep = wims(sort items wims(nonempty items \Rep))} |
||
382 | \matrix{rep = \rep |
||
3445 | bpr | 383 | \Rep} |
384 | } |
||
385 | |||
386 | \text{CNT_choix=wims(nonempty items \CNT_choix)} |
||
387 | |||
388 | \text{U = pari(divrem(\MAX,\N)~)} |
||
389 | \integer{cnt_step = \U[1] + 1} |
||
390 | \matrix{STEPS = } |
||
391 | \matrix{CNT = } |
||
392 | \text{CONDSTEP=} |
||
393 | \for{ u = 1 to \cnt_step -1}{ |
||
17142 | obado | 394 | \matrix{STEPS =\STEPS |
3445 | bpr | 395 | wims(makelist r x for x = \N*\u -\N+1 to \N*\u)} |
17142 | obado | 396 | \matrix{CNT =\CNT |
3445 | bpr | 397 | wims(makelist x for x = \N*\u -\N+1 to \N*\u)} |
17142 | obado | 398 | \text{condstep= wims(values \u+1 for x = (\u-1)*\N +1 to \u*\N)} |
399 | \text{CONDSTEP= wims(append item \condstep to \CONDSTEP)} |
||
3445 | bpr | 400 | } |
17142 | obado | 401 | \matrix{STEPS = \STEPS |
11750 | bpr | 402 | wims(makelist r x for x = \N*\cnt_step-\N+1 to \MAX) |
3445 | bpr | 403 | } |
404 | \matrix{CNT = \CNT |
||
11750 | bpr | 405 | wims(makelist x for x = \N*\cnt_step-\N+1 to \MAX) |
3445 | bpr | 406 | } |
11750 | bpr | 407 | \text{CONDSTEP=\CONDSTEP, wims(values \cnt_step+1 for x = \N*\cnt_step-\N+1 to \MAX)} |
3445 | bpr | 408 | |
409 | \text{nstep=\STEPS[1;]} |
||
410 | \text{TEST=} |
||
7717 | bpr | 411 | \text{explication=\explication[2..-1;]} |
412 | |||
3445 | bpr | 413 | \nextstep{\nstep} |
414 | \text{REP=} |
||
415 | \text{etape=wims(values x * \N for x = 1 to \cnt_step+1)} |
||
416 | \text{CONDITION = wims(makelist x for x = 1 to 2*\MAX)} |
||
417 | \text{CONDITION =wims(items2words \CONDITION)} |
||
418 | \conditions{\CONDITION} |
||
419 | \integer{cnt_juste=0} |
||
420 | \real{v = 10} |
||
13547 | bpr | 421 | \integer{questioncnt=items(\question[;1])} |
13533 | bpr | 422 | \text{latexsrc=} |
13551 | lemaire | 423 | \text{latexsol=} |
13547 | bpr | 424 | \for{hh=1 to \questioncnt}{ |
13551 | lemaire | 425 | \text{prel=\PRELIMINAIRE[\hh;]!= and \PRELIMINAIRE[\hh;] notsametext ? \PRELIMINAIRE[\hh;] |
426 | \newline:} |
||
13548 | bpr | 427 | \text{latexsrc=\latexsrc \item \prel \question[\hh;] |
13533 | bpr | 428 | \begin{\format}} |
13551 | lemaire | 429 | \for{ss=1 to \CNT_choix[\hh]}{\text{latexsrc=\latexsrc\item \CHOIX[\hh;\ss]}} |
430 | \text{listsol=\CHOIX[\hh;\rep[\hh;]]} |
||
431 | \text{latexsol=\latexsol \item \listsol} |
||
13533 | bpr | 432 | \text{latexsrc=\latexsrc |
433 | \end{\format}} |
||
434 | } |
||
8516 | obado | 435 | |
3445 | bpr | 436 | \statement{\nopaste |
8516 | obado | 437 | \style |
15044 | lemaire | 438 | <div class="instruction">\instruction</div> |
8516 | obado | 439 | |
440 | \for{h=1 to \etape[\step]}{ |
||
9925 | obado | 441 | |
13547 | bpr | 442 | \if{\question[\h;] notsametext }{ |
443 | \if{\h <= \etape[\step] - \N} |
||
17142 | obado | 444 | {<fieldset class="panel">} |
445 | {\if{r \h isitemof \nstep}{<fieldset class="panel callout">}} |
||
446 | } |
||
8516 | obado | 447 | |
17142 | obado | 448 | \if{(\h <= \etape[\step] - \N or r \h isitemof \nstep) and \question[\h;] notsametext }{ |
449 | <div class="enonce"> |
||
450 | \if{\cnt_step > 1 and \MAX > 1}{<span class="q_num">\h. </span>} |
||
451 | \if{\PRELIMINAIRE[\h;] notsametext and \PRELIMINAIRE[\h;] notsametext }{ |
||
452 | <div class="preliminaire">\PRELIMINAIRE[\h;]</div> |
||
453 | } |
||
454 | <legend class="question">\question[\h;]</legend> |
||
455 | </div> |
||
456 | } |
||
8516 | obado | 457 | |
17142 | obado | 458 | \if{\h <= \etape[\step] - \N and \question[\h;] notsametext}{ |
459 | <div class="reponse"> |
||
460 | <span class="qcm_prompt1">\qcm_prompt1</span> |
||
461 | \for{ a in \REP[\h;]}{ |
||
462 | \if{\answer_given=oui}{ |
||
463 | \if{ \a isitemof \CHOIX[\h;\rep[\h;]]}{ |
||
464 | \if{\TEST[\h;2]>0 and \TEST[\h;3]=0}{ |
||
465 | <span class="oef_indpartial">\a</span> |
||
466 | }{ |
||
467 | <span class="oef_indgood">\a</span> |
||
15044 | lemaire | 468 | } |
17142 | obado | 469 | }{ |
470 | <span class="oef_indbad strike">\a</span> |
||
15044 | lemaire | 471 | } |
17142 | obado | 472 | }{ |
473 | <span class="oef_indneutral">\a</span> |
||
474 | } |
||
475 | - |
||
476 | } |
||
477 | \if{\answer_given=oui}{ |
||
478 | \if{\TEST[\h;2]>0 and \TEST[\h;3]=0}{ |
||
479 | \incomplete_answer_text |
||
480 | \if{\presentgood>0}{ |
||
17172 | bpr | 481 | <br> <span class="prompt">\qcm_prompt2</span> |
17142 | obado | 482 | <span class="oef_indgood">\CHOIX[\h;\rep[\h;]]</span> |
483 | } |
||
484 | } |
||
485 | \if{\TEST[\h;3]>0}{ |
||
486 | \bad_answer_text |
||
487 | \if{\presentgood>0}{ |
||
17172 | bpr | 488 | <br> <span class="prompt">\qcm_prompt2</span> |
17142 | obado | 489 | <span class="oef_indgood">\CHOIX[\h;\rep[\h;]]</span> |
490 | } |
||
491 | } |
||
492 | \if{\TEST[\h;3]=0 and \TEST[\h;2]=0}{ |
||
493 | \good_answer_text |
||
494 | } |
||
495 | } |
||
496 | \if{\presentgood>0}{ |
||
497 | \if{\explication[\h;] notsametext }{<div class="feedback">\explication[\h;]</div>} |
||
498 | } |
||
499 | </div> |
||
500 | }{ |
||
15044 | lemaire | 501 | \if{ r \h isitemof \nstep}{ |
17142 | obado | 502 | <div class="question"> |
503 | <ol> |
||
504 | \for{s=1 to \CNT_choix[\h]}{ <li>\embed{reply \h , \s}</li> } |
||
505 | </ol> |
||
506 | </div> |
||
3445 | bpr | 507 | } |
17142 | obado | 508 | } |
509 | \if{\question[\h;] notsametext |
||
510 | and (\h <= \etape[\step] - \N or r \h isitemof \nstep)}{ |
||
511 | </fieldset> |
||
512 | } |
||
3445 | bpr | 513 | } |
17142 | obado | 514 | } |
3445 | bpr | 515 | \answer{}{\REP1;\CHOIX[1;]}{type=\format}{option=\option} |
516 | \answer{}{\REP2;\CHOIX[2;]}{type=\format}{option=\option} |
||
517 | \answer{}{\REP3;\CHOIX[3;]}{type=\format}{option=\option} |
||
518 | \answer{}{\REP4;\CHOIX[4;]}{type=\format}{option=\option} |
||
519 | \answer{}{\REP5;\CHOIX[5;]}{type=\format}{option=\option} |
||
520 | \answer{}{\REP6;\CHOIX[6;]}{type=\format}{option=\option} |
||
521 | \answer{}{\REP7;\CHOIX[7;]}{type=\format}{option=\option} |
||
522 | \answer{}{\REP8;\CHOIX[8;]}{type=\format}{option=\option} |
||
523 | \answer{}{\REP9;\CHOIX[9;]}{type=\format}{option=\option} |
||
524 | \answer{}{\REP10;\CHOIX[10;]}{type=\format}{option=\option} |
||
15957 | bpr | 525 | \text{presentgood=slib(oef/env presentgood)} |
526 | \text{answer_given=\presentgood>0? oui} |
||
3445 | bpr | 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}{ |
||
13533 | bpr | 538 | \text{REP=wims(replace internal , by , in \REP)} |
3445 | bpr | 539 | } |
540 | \matrix{explication2 = \explication2} |
||
541 | |||
542 | \for{u = 1 to \N}{ |
||
17142 | obado | 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;])} |
||
3445 | bpr | 548 | %%% \integer{test4=items(\REP[\H;]) - items(\CHOIX[\H;])} |
17142 | obado | 549 | \text{test_cnt=\test1, items(\test2),items(\test3)} |
550 | \integer{cnt_juste= \test_cnt[1]+\test_cnt[2]+\test_cnt[3] =0 ? \cnt_juste + 1} |
||
551 | \matrix{TEST=\TEST |
||
552 | \test_cnt} |
||
3445 | bpr | 553 | } |
554 | |||
555 | test1 = 0 rep < juste |
||
11750 | bpr | 556 | test2 nombre de réponses dites justes et en fait fausses |
557 | test3 nombre de réponses dites fausses et en fait justes |
||
3445 | bpr | 558 | |
559 | totalement justes : test1=0, test2=0 test3=0 |
||
7717 | bpr | 560 | partiellement justes : |
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 |
17142 | obado | 593 | \if{\test notsametext}{ |
594 | <div class="reponse"><ol> |
||
3445 | bpr | 595 | \for{w = 1 to \MAX}{ |
17142 | obado | 596 | \if{\explication[\w;] notsametext }{ |
597 | <li style="list-style:decimal;" value="\w">\explication[\w;] </li> |
||
598 | } |
||
599 | } |
||
600 | </ol></div> |
||
3445 | bpr | 601 | } |
17142 | obado | 602 | }{ |
603 | <ol> |
||
604 | \for{ t = 1 to \N }{ |
||
605 | \if{ \CNT[\step;\t] != }{ |
||
606 | <li style="list-style:decimal;" value="\CNT[\step;\t]"> |
||
607 | <b>\question[\N*(\step-1) + \t;]</b> |
||
608 | <div class="question"><ol> |
||
609 | \for{ s=1 to \CNT_choix[\N*(\step-1) + \t] }{ |
||
610 | <li>\embed{\STEPS[\step;\t], \s }</li> |
||
611 | } |
||
612 | </ol></div> |
||
613 | </li> |
||
614 | } |
||
3445 | bpr | 615 | } |
17142 | obado | 616 | </ol> |
6647 | bpr | 617 | } |
13533 | bpr | 618 | |
619 | \latex{ |
||
620 | \begin{statement} |
||
621 | \instruction |
||
13548 | bpr | 622 | \begin{enumerate} |
13533 | bpr | 623 | \latexsrc |
13548 | bpr | 624 | \end{enumerate} |
13533 | bpr | 625 | \end{statement} |
13551 | lemaire | 626 | \begin{solution}\ |
627 | \begin{enumerate} |
||
628 | \latexsol |
||
629 | \end{enumerate} |
||
630 | \end{solution} |
||
13533 | bpr | 631 | } |