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