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} |