Rev 15176 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
11360 | bpr | 1 | type=select |
23 | reyssat | 2 | textarea="data explain" |
13716 | obado | 3 | iEdit="explain" |
23 | reyssat | 4 | |
11357 | bpr | 5 | :Sélectionner les objets selon leur catégorie. |
23 | reyssat | 6 | |
8002 | bpr | 7 | On présente une liste d'objets et il faut marquer ceux qui possèdent une certaine propriété |
17172 | bpr | 8 | selon la demande de l'exercice.<br> |
15119 | bpr | 9 | Pour construire un exercice avec ce modèle, il suffit de donner la liste d'objets et leurs propriétés. La question |
17172 | bpr | 10 | portera sur une propriété tirée au hasard parmi les propriétés des objets.<br> |
13716 | obado | 11 | <p class="wims_credits">Auteur du modèle : <a href="mailto:qualite@wimsedu.info">Gang Xiao</a></p> |
23 | reyssat | 12 | |
13 | :%%%%%%%%%%%%%%%%% ATTENTION %%%%%%%%%%%%%%%%%%%% |
||
14 | |||
2880 | bpr | 15 | Enlevez l'en-tête ci-dessus si vous détruisez les balises pour le modèle ! |
23 | reyssat | 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 | |||
11357 | bpr | 21 | :\title{Sélectionner par catégorie} |
5147 | bpr | 22 | :\author{XIAO, Gang} |
8002 | bpr | 23 | :\email{qualite@wimsedu.info} |
5724 | bpr | 24 | :\credits{} |
23 | reyssat | 25 | |
26 | :Nombre d'objets à marquer par exercice. Jusqu'à 100. |
||
2917 | obado | 27 | Il faut avoir défini suffisamment d'objets dans les données principales ! |
23 | reyssat | 28 | \integer{tot=12} |
29 | |||
30 | :Le nombre minimal de bons objets à marquer. Au moins 1. |
||
31 | \integer{mingood=1} |
||
32 | |||
33 | :Le nombre minimal de mauvais objets à ne pas marquer. Au moins 1. |
||
34 | \integer{minbad=4} |
||
35 | |||
36 | :Liste de propriétés. La propriété à marquer sera tirée au hasard. |
||
37 | \text{prop=française,italienne,allemande} |
||
38 | |||
39 | :Données principales. |
||
14909 | lemaire | 40 | <p>Écrire les objets à classer, puis leur catégorie, séparés par une virgule (un seul objet suivi de sa catégorie par ligne).</p> |
15119 | bpr | 41 | L'objet peut être un mot ou une phrase (la virgule servant à séparer les objets, si la phrase doit contenir des virgules, |
42 | les remplacer par le code html de la virgule. Voir alors "Option de présentation" pour faire |
||
14909 | lemaire | 43 | apparaitre un objet par ligne). Il vaut mieux définir beaucoup de données pour chaque propriété. |
23 | reyssat | 44 | \matrix{data= |
45 | Fabien Barthez,francaise |
||
46 | Grégory Coupet,francaise |
||
47 | Eric Abidal,francaise |
||
48 | William Gallas,francaise |
||
49 | Willy Sagnol,francaise |
||
50 | Lilian Thuram,francaise |
||
51 | Pascal Chimbonda,francaise |
||
52 | Mickaël Silvestre,francaise |
||
53 | Claude Makélélé,francaise |
||
54 | Patrick Vieira,francaise |
||
55 | Florent Malouda,francaise |
||
56 | Zinedine Zidane,francaise |
||
57 | Sylvain Wiltord,francaise |
||
58 | Franck Ribéry,francaise |
||
59 | Vikash Dhorasoo,francaise |
||
60 | Sidney Govou,francaise |
||
61 | Thierry Henry,francaise |
||
62 | David Trézéguet,francaise |
||
63 | Louis Saha,francaise |
||
64 | |||
65 | Gianluigi Buffon,italienne |
||
66 | Morgan De Sanctis,italienne |
||
67 | Angelo Peruzzi,italienne |
||
68 | Christian Abbiati,italienne |
||
69 | Marco Amelia,italienne |
||
70 | Flavio Roma,italienne |
||
71 | Gianluca Zambrotta,italienne |
||
72 | Alessandro Nesta,italienne |
||
73 | Fabio Cannavaro,italienne |
||
74 | Fabio Grosso,italienne |
||
75 | Cristian Zaccardo,italienne |
||
76 | Marco Materazzi,italienne |
||
77 | Andrea Barzagli,italienne |
||
78 | Massimo Oddo,italienne |
||
79 | Mauro Camoranesi,italienne |
||
80 | Andrea Pirlo,italienne |
||
81 | Gennaro Gattuso,italienne |
||
82 | Francesco Totti,italienne |
||
83 | Daniele de Rossi,italienne |
||
84 | Aimo Diana,italienne |
||
85 | Simone Barone,italienne |
||
86 | Manuele Blasi,italienne |
||
87 | Simone Perrotta,italienne |
||
88 | Alberto Gilardino,italienne |
||
89 | Luca Toni,italienne |
||
90 | Alessandro Del Piero,italienne |
||
91 | Vicenzo Iaquinta,italienne |
||
92 | Christian Vieri,italienne |
||
93 | Antonio Cassano,italienne |
||
94 | Cristiano Lucarelli,italienne |
||
95 | Filippo Inzaghi,italienne |
||
96 | |||
97 | Jens Lehmann,allemande |
||
98 | Oliver Kahn,allemande |
||
99 | Timo Hildebrand,allemande |
||
100 | Philipp Lahm,allemande |
||
101 | Arne Friedrich,allemande |
||
102 | Robert Huth,allemande |
||
103 | Jens Nowotny,allemande |
||
104 | Per Mertesacker,allemande |
||
105 | Christoph Metzelder,allemande |
||
106 | Marcell Jansen,allemande |
||
107 | Bernd Schneider,allemande |
||
108 | Sebastian Kehl,allemande |
||
109 | Torsten Frings,allemande |
||
110 | Michael Ballack,allemande |
||
111 | Tim Borowski,allemande |
||
112 | Bastian Schweinsteiger,allemande |
||
113 | David Odonkor,allemande |
||
114 | Thomas Hitzlsperger,allemande |
||
115 | Miroslav Klose,allemande |
||
116 | Lukas Podolski,allemande |
||
117 | Gerald Asamoah,allemande |
||
118 | Mike Hanke,allemande |
||
119 | Oliver Neuville,allemande |
||
120 | } |
||
121 | |||
122 | :Mots d'option. |
||
15176 | lemaire | 123 | Ajoutez le mot <span class="tt wims_code_words">split</span> à la définition si vous voulez |
124 | donner une note partielle pour des réponses partiellement correctes. |
||
23 | reyssat | 125 | \text{option=split} |
126 | |||
5815 | bpr | 127 | :Options de présentation. |
15119 | bpr | 128 | Par défaut, les objets apparaissent séparés par une virgule. Ajoutez ici le mot "liste" |
129 | si vous voulez que les objets apparaissent les uns en dessous des autres |
||
130 | comme une liste html à puces. |
||
2917 | obado | 131 | \text{presentation=} |
132 | |||
5797 | bpr | 133 | :Mise en aléatoire par des accolades emboitables |
134 | $embraced_randitem |
||
15176 | lemaire | 135 | \text{accolade=item(1,1. oui, |
136 | 2. non)} |
||
2917 | obado | 137 | |
23 | reyssat | 138 | :%%%%%%%%%%%%%% Rien à modifier avant l'énoncé %%%%%%%%%%%%%%%% |
139 | |||
140 | \text{prop=randitem(\prop)} |
||
141 | |||
142 | \text{data=wims(nonempty rows \data)} |
||
143 | \text{good=wims(select \data where column 2 issametext \prop)} |
||
144 | \text{bad=wims(select \data where column 2 notsametext \prop)} |
||
145 | \text{good=shuffle(wims(nonempty item \good[;1]))} |
||
146 | \text{bad=shuffle(wims(nonempty item \bad[;1]))} |
||
147 | \integer{goodcnt=items(\good)} |
||
148 | \integer{badcnt=items(\bad)} |
||
149 | \integer{tot=min(\tot,\goodcnt+\badcnt)} |
||
150 | \integer{mingood=min(\mingood,\tot-1)} |
||
151 | \integer{minbad=min(\minbad,\tot-\mingood-1)} |
||
152 | \integer{pickgood=randint(min(\mingood,\goodcnt)..min(\tot-\minbad,\goodcnt))} |
||
153 | \integer{pickbad=min(\tot-\pickgood,\badcnt)} |
||
154 | \integer{tot=\pickgood+\pickbad} |
||
155 | \text{ind=wims(makelist 1 for x=1 to \pickgood),wims(makelist 0 for x=1 to \pickbad)} |
||
156 | \text{all=item(1..\pickgood,\good),item(1..\pickbad,\bad)} |
||
157 | \text{list=wims(values x for x=1 to \tot)} |
||
158 | \text{sh=shuffle(\list)} |
||
159 | \text{all=item(\sh,\all)} |
||
160 | \text{ind=item(\sh,\ind)} |
||
161 | \text{tomark=positionof(1,\ind)} |
||
15176 | lemaire | 162 | \integer{nbtomark=items(\tomark)} |
23 | reyssat | 163 | |
2917 | obado | 164 | :%% Choix de la presentation : sous forme lineaire par defaut, ou sous forme de liste à puces. |
165 | \if{liste iswordof \presentation} |
||
166 | { |
||
13475 | obado | 167 | \text{pre=<ul>} |
168 | \text{separatorL=<li>} |
||
169 | \text{separatorR=</li>} |
||
170 | \text{post=</ul>} |
||
171 | }{ |
||
15119 | bpr | 172 | \text{pre=<div>} |
13475 | obado | 173 | \text{separatorL=<span>} |
174 | \text{separatorR=</span>} |
||
15119 | bpr | 175 | \text{post=</div>} |
2917 | obado | 176 | } |
177 | |||
14906 | bpr | 178 | :%%%%%%%%%%%%% Maintenant l'énoncé en code html. %%%%%%%%%%%%%%%%%%%% |
179 | |||
180 | :Le texte pour expliquer ce qu'il faut faire. |
||
15119 | bpr | 181 | Pour désigner la propriété sur laquelle porte la question, écrire tel quel <span class="tt">\prop</span> dans le texte de l'énoncé. |
14906 | bpr | 182 | $embraced_randitem |
15176 | lemaire | 183 | \text{explain=Parmi les joueurs ci-dessous qui ont participé à la coupe du monde de football 2006, |
184 | marquez ceux qui sont dans l'équipe \prop.} |
||
14906 | bpr | 185 | |
23 | reyssat | 186 | :%% Calculs à ne pas modifier |
5797 | bpr | 187 | \text{accolade=wims(word 1 of \accolade)} |
23 | reyssat | 188 | |
15176 | lemaire | 189 | \text{explain=\accolade=1. ?wims(embraced randitem \explain)} |
190 | :%% Pour la version latex de l'énonce |
||
191 | \if{liste iswordof \presentation}{ |
||
192 | \text{latextext=\begin{checkbox}} |
||
193 | \for{ll=1 to \tot}{ |
||
194 | \text{latextext=\latextext |
||
195 | \item \all[\ll] } |
||
196 | } |
||
197 | \text{latextext=\latextext \end{checkbox}} |
||
198 | }{ |
||
199 | \text{latextext=\begin{quote}} |
||
200 | \for{ll=1 to \tot-1}{ |
||
201 | \text{latextext=\latextext \all[\ll], } |
||
202 | } |
||
203 | \text{latextext=\latextext \all[\tot]. |
||
204 | \end{quote} } |
||
205 | } |
||
206 | \if{liste iswordof \presentation}{ |
||
207 | \text{latexans=\begin{itemize}} |
||
208 | \for{kls=1 to \nbtomark}{ |
||
209 | \text{latexans=\latexans |
||
210 | \item \all[\tomark[\kls]] } |
||
211 | } |
||
212 | \text{latexans=\latexans |
||
213 | \end{itemize}} |
||
214 | }{ |
||
215 | \text{latexans=\begin{quote}} |
||
216 | \for{lls=1 to \nbtomark-1}{ |
||
217 | \text{latexans=\latexans \all[\tomark[\lls]], } |
||
218 | } |
||
219 | \text{latexans=\latexans \all[\tomark[\lls]]. |
||
220 | \end{quote} } |
||
221 | } |
||
5797 | bpr | 222 | |
23 | reyssat | 223 | ::On n'a pas besoin de modifier l'énoncé directement en général. |
224 | |||
2917 | obado | 225 | \statement{ |
13475 | obado | 226 | <p>\explain</p> |
227 | \pre |
||
15176 | lemaire | 228 | \for{k=1 to \tot-1}{\separatorL \embed{r1,\k}, \separatorR } |
13475 | obado | 229 | \separatorL \embed{r1,\tot}.\separatorR |
230 | \post |
||
23 | reyssat | 231 | } |
232 | |||
15176 | lemaire | 233 | :%%%%%%%%%%%%% Rien à modifier ci-après. %%%%%%%%%%%%%%%%% |
23 | reyssat | 234 | |
235 | \answer{Le marquage}{\tomark;\all}{type=mark}{option=\option} |
||
236 | |||
15176 | lemaire | 237 | \latex{ |
238 | \begin{statement} |
||
239 | \explain |
||
240 | \latextext |
||
241 | \end{statement} |
||
242 | \begin{answer}\ |
||
243 | \latexans |
||
244 | \end{answer} |
||
245 | } |