Rev 15176 | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 15176 | Rev 17234 | ||
---|---|---|---|
1 | type=select |
1 | type=select |
2 | textarea="data explain" |
2 | textarea="data explain" |
3 | iEdit="explain" |
3 | iEdit="explain" |
4 | 4 | ||
5 | :Seleccionar els objectes segons la seva categoria. |
5 | :Seleccionar els objectes segons la seva categoria. |
6 | 6 | ||
7 | Es presenta una llista d'objectes i s'han de marcar aquells que tenen una propietat determinada |
7 | Es presenta una llista d'objectes i s'han de marcar aquells que tenen una propietat determinada |
8 | segons la sol·licitud de l'exercici. <br |
8 | segons la sol·licitud de l'exercici. <br> |
9 | Per construir un exercici amb aquest model, simplement doneu la llista d'objectes i les seves propietats. <br |
9 | Per construir un exercici amb aquest model, simplement doneu la llista d'objectes i les seves propietats. <br> |
10 | Autor del model: <a href="mailto:qualite@wimsedu.info">Gang Xiao</a> |
10 | Autor del model: <a href="mailto:qualite@wimsedu.info">Gang Xiao</a> |
11 | 11 | ||
12 | :%%%%%%%%%%%%%%%%% ATTENTION %%%%%%%%%%%%%%%%%%%% |
12 | :%%%%%%%%%%%%%%%%% ATTENTION %%%%%%%%%%%%%%%%%%%% |
13 | 13 | ||
14 | Enlevez l'en-tête ci-dessus si vous détruisez les balises pour le modèle ! |
14 | Enlevez l'en-tête ci-dessus si vous détruisez les balises pour le modèle ! |
15 | (Ce sont les lignes qui commencent par un ':'.) |
15 | (Ce sont les lignes qui commencent par un ':'.) |
16 | Sinon l'exercice risque de ne pas pouvoir repasser sous Createxo. |
16 | Sinon l'exercice risque de ne pas pouvoir repasser sous Createxo. |
17 | 17 | ||
18 | :%%%%%%%% Paramètres d'exemples à redéfinir %%%%%%%%%%%%%%%%% |
18 | :%%%%%%%% Paramètres d'exemples à redéfinir %%%%%%%%%%%%%%%%% |
19 | 19 | ||
20 | :\title{Seleccionar per categoria} |
20 | :\title{Seleccionar per categoria} |
21 | :\author{XIAO, Gang} |
21 | :\author{XIAO, Gang} |
22 | :\email{qualite@wimsedu.info} |
22 | :\email{qualite@wimsedu.info} |
23 | :\credits{} |
23 | :\credits{} |
24 | 24 | ||
25 | :Nombre d'objectes a marcar per exercici. Fins a 100. |
25 | :Nombre d'objectes a marcar per exercici. Fins a 100. |
26 | Heu de tenir definits suficients objectes a les dades principals. |
26 | Heu de tenir definits suficients objectes a les dades principals. |
27 | \integer{tot=12} |
27 | \integer{tot=12} |
28 | 28 | ||
29 | :El nombre mínim de bons objectes a marcar. Almenys 1. |
29 | :El nombre mínim de bons objectes a marcar. Almenys 1. |
30 | \integer{mingood=1} |
30 | \integer{mingood=1} |
31 | 31 | ||
32 | :El nombre mínim d'objectes incorrectes que no s'han de marcar. Almenys 1. |
32 | :El nombre mínim d'objectes incorrectes que no s'han de marcar. Almenys 1. |
33 | \integer{minbad=4} |
33 | \integer{minbad=4} |
34 | 34 | ||
35 | :Llista de propietats. La propietat que es marcarà es tria a l'atzar. |
35 | :Llista de propietats. La propietat que es marcarà es tria a l'atzar. |
36 | \text{prop=française,italienne,allemande} |
36 | \text{prop=française,italienne,allemande} |
37 | 37 | ||
38 | :Dades principals. |
38 | :Dades principals. |
39 | Escriviu (un per línia) els objectes a classificar, després la seva categoria, separats per una coma. <p> |
39 | Escriviu (un per línia) els objectes a classificar, després la seva categoria, separats per una coma. <p> |
40 | L'objecte pot ser una paraula, una frase (sense comes). És millor definir abundants dades per a cada propietat. |
40 | L'objecte pot ser una paraula, una frase (sense comes). És millor definir abundants dades per a cada propietat. |
41 | \matrix{data= |
41 | \matrix{data= |
42 | Fabien Barthez,francaise |
42 | Fabien Barthez,francaise |
43 | Grégory Coupet,francaise |
43 | Grégory Coupet,francaise |
44 | Eric Abidal,francaise |
44 | Eric Abidal,francaise |
45 | William Gallas,francaise |
45 | William Gallas,francaise |
46 | Willy Sagnol,francaise |
46 | Willy Sagnol,francaise |
47 | Lilian Thuram,francaise |
47 | Lilian Thuram,francaise |
48 | Pascal Chimbonda,francaise |
48 | Pascal Chimbonda,francaise |
49 | Mickaël Silvestre,francaise |
49 | Mickaël Silvestre,francaise |
50 | Claude Makélélé,francaise |
50 | Claude Makélélé,francaise |
51 | Patrick Vieira,francaise |
51 | Patrick Vieira,francaise |
52 | Florent Malouda,francaise |
52 | Florent Malouda,francaise |
53 | Zinedine Zidane,francaise |
53 | Zinedine Zidane,francaise |
54 | Sylvain Wiltord,francaise |
54 | Sylvain Wiltord,francaise |
55 | Franck Ribéry,francaise |
55 | Franck Ribéry,francaise |
56 | Vikash Dhorasoo,francaise |
56 | Vikash Dhorasoo,francaise |
57 | Sidney Govou,francaise |
57 | Sidney Govou,francaise |
58 | Thierry Henry,francaise |
58 | Thierry Henry,francaise |
59 | David Trézéguet,francaise |
59 | David Trézéguet,francaise |
60 | Louis Saha,francaise |
60 | Louis Saha,francaise |
61 | 61 | ||
62 | Gianluigi Buffon,italienne |
62 | Gianluigi Buffon,italienne |
63 | Morgan De Sanctis,italienne |
63 | Morgan De Sanctis,italienne |
64 | Angelo Peruzzi,italienne |
64 | Angelo Peruzzi,italienne |
65 | Christian Abbiati,italienne |
65 | Christian Abbiati,italienne |
66 | Marco Amelia,italienne |
66 | Marco Amelia,italienne |
67 | Flavio Roma,italienne |
67 | Flavio Roma,italienne |
68 | Gianluca Zambrotta,italienne |
68 | Gianluca Zambrotta,italienne |
69 | Alessandro Nesta,italienne |
69 | Alessandro Nesta,italienne |
70 | Fabio Cannavaro,italienne |
70 | Fabio Cannavaro,italienne |
71 | Fabio Grosso,italienne |
71 | Fabio Grosso,italienne |
72 | Cristian Zaccardo,italienne |
72 | Cristian Zaccardo,italienne |
73 | Marco Materazzi,italienne |
73 | Marco Materazzi,italienne |
74 | Andrea Barzagli,italienne |
74 | Andrea Barzagli,italienne |
75 | Massimo Oddo,italienne |
75 | Massimo Oddo,italienne |
76 | Mauro Camoranesi,italienne |
76 | Mauro Camoranesi,italienne |
77 | Andrea Pirlo,italienne |
77 | Andrea Pirlo,italienne |
78 | Gennaro Gattuso,italienne |
78 | Gennaro Gattuso,italienne |
79 | Francesco Totti,italienne |
79 | Francesco Totti,italienne |
80 | Daniele de Rossi,italienne |
80 | Daniele de Rossi,italienne |
81 | Aimo Diana,italienne |
81 | Aimo Diana,italienne |
82 | Simone Barone,italienne |
82 | Simone Barone,italienne |
83 | Manuele Blasi,italienne |
83 | Manuele Blasi,italienne |
84 | Simone Perrotta,italienne |
84 | Simone Perrotta,italienne |
85 | Alberto Gilardino,italienne |
85 | Alberto Gilardino,italienne |
86 | Luca Toni,italienne |
86 | Luca Toni,italienne |
87 | Alessandro Del Piero,italienne |
87 | Alessandro Del Piero,italienne |
88 | Vicenzo Iaquinta,italienne |
88 | Vicenzo Iaquinta,italienne |
89 | Christian Vieri,italienne |
89 | Christian Vieri,italienne |
90 | Antonio Cassano,italienne |
90 | Antonio Cassano,italienne |
91 | Cristiano Lucarelli,italienne |
91 | Cristiano Lucarelli,italienne |
92 | Filippo Inzaghi,italienne |
92 | Filippo Inzaghi,italienne |
93 | 93 | ||
94 | Jens Lehmann,allemande |
94 | Jens Lehmann,allemande |
95 | Oliver Kahn,allemande |
95 | Oliver Kahn,allemande |
96 | Timo Hildebrand,allemande |
96 | Timo Hildebrand,allemande |
97 | Philipp Lahm,allemande |
97 | Philipp Lahm,allemande |
98 | Arne Friedrich,allemande |
98 | Arne Friedrich,allemande |
99 | Robert Huth,allemande |
99 | Robert Huth,allemande |
100 | Jens Nowotny,allemande |
100 | Jens Nowotny,allemande |
101 | Per Mertesacker,allemande |
101 | Per Mertesacker,allemande |
102 | Christoph Metzelder,allemande |
102 | Christoph Metzelder,allemande |
103 | Marcell Jansen,allemande |
103 | Marcell Jansen,allemande |
104 | Bernd Schneider,allemande |
104 | Bernd Schneider,allemande |
105 | Sebastian Kehl,allemande |
105 | Sebastian Kehl,allemande |
106 | Torsten Frings,allemande |
106 | Torsten Frings,allemande |
107 | Michael Ballack,allemande |
107 | Michael Ballack,allemande |
108 | Tim Borowski,allemande |
108 | Tim Borowski,allemande |
109 | Bastian Schweinsteiger,allemande |
109 | Bastian Schweinsteiger,allemande |
110 | David Odonkor,allemande |
110 | David Odonkor,allemande |
111 | Thomas Hitzlsperger,allemande |
111 | Thomas Hitzlsperger,allemande |
112 | Miroslav Klose,allemande |
112 | Miroslav Klose,allemande |
113 | Lukas Podolski,allemande |
113 | Lukas Podolski,allemande |
114 | Gerald Asamoah,allemande |
114 | Gerald Asamoah,allemande |
115 | Mike Hanke,allemande |
115 | Mike Hanke,allemande |
116 | Oliver Neuville,allemande |
116 | Oliver Neuville,allemande |
117 | } |
117 | } |
118 | 118 | ||
119 | :Opcions. |
119 | :Opcions. |
120 | Afegiu la paraula <span class="tt wims_code_words">split</span> a la definició si voleu donar una nota |
120 | Afegiu la paraula <span class="tt wims_code_words">split</span> a la definició si voleu donar una nota |
121 | parcial per a respostes parcialment correctes. |
121 | parcial per a respostes parcialment correctes. |
122 | \text{option=split} |
122 | \text{option=split} |
123 | 123 | ||
124 | :Opcions de presentació. |
124 | :Opcions de presentació. |
125 | Afegiu aquí la paraula "liste" si voleu mostrar els objectes com una llista. |
125 | Afegiu aquí la paraula "liste" si voleu mostrar els objectes com una llista. |
126 | \text{presentation=} |
126 | \text{presentation=} |
127 | 127 | ||
128 | :S'accepta text aleatori posat entre claus |
128 | :S'accepta text aleatori posat entre claus |
129 | $embraced_randitem |
129 | $embraced_randitem |
130 | \text{accolade=item(1,1. sí, |
130 | \text{accolade=item(1,1. sí, |
131 | 2. no)} |
131 | 2. no)} |
132 | 132 | ||
133 | :%%%%%%%%%%%%%% Rien à modifier avant l'énoncé %%%%%%%%%%%%%%%% |
133 | :%%%%%%%%%%%%%% Rien à modifier avant l'énoncé %%%%%%%%%%%%%%%% |
134 | 134 | ||
135 | \text{prop=randitem(\prop)} |
135 | \text{prop=randitem(\prop)} |
136 | 136 | ||
137 | \text{data=wims(nonempty rows \data)} |
137 | \text{data=wims(nonempty rows \data)} |
138 | \text{good=wims(select \data where column 2 issametext \prop)} |
138 | \text{good=wims(select \data where column 2 issametext \prop)} |
139 | \text{bad=wims(select \data where column 2 notsametext \prop)} |
139 | \text{bad=wims(select \data where column 2 notsametext \prop)} |
140 | \text{good=shuffle(wims(nonempty item \good[;1]))} |
140 | \text{good=shuffle(wims(nonempty item \good[;1]))} |
141 | \text{bad=shuffle(wims(nonempty item \bad[;1]))} |
141 | \text{bad=shuffle(wims(nonempty item \bad[;1]))} |
142 | \integer{goodcnt=items(\good)} |
142 | \integer{goodcnt=items(\good)} |
143 | \integer{badcnt=items(\bad)} |
143 | \integer{badcnt=items(\bad)} |
144 | \integer{tot=min(\tot,\goodcnt+\badcnt)} |
144 | \integer{tot=min(\tot,\goodcnt+\badcnt)} |
145 | \integer{mingood=min(\mingood,\tot-1)} |
145 | \integer{mingood=min(\mingood,\tot-1)} |
146 | \integer{minbad=min(\minbad,\tot-\mingood-1)} |
146 | \integer{minbad=min(\minbad,\tot-\mingood-1)} |
147 | \integer{pickgood=randint(min(\mingood,\goodcnt)..min(\tot-\minbad,\goodcnt))} |
147 | \integer{pickgood=randint(min(\mingood,\goodcnt)..min(\tot-\minbad,\goodcnt))} |
148 | \integer{pickbad=min(\tot-\pickgood,\badcnt)} |
148 | \integer{pickbad=min(\tot-\pickgood,\badcnt)} |
149 | \integer{tot=\pickgood+\pickbad} |
149 | \integer{tot=\pickgood+\pickbad} |
150 | \text{ind=wims(makelist 1 for x=1 to \pickgood),wims(makelist 0 for x=1 to \pickbad)} |
150 | \text{ind=wims(makelist 1 for x=1 to \pickgood),wims(makelist 0 for x=1 to \pickbad)} |
151 | \text{all=item(1..\pickgood,\good),item(1..\pickbad,\bad)} |
151 | \text{all=item(1..\pickgood,\good),item(1..\pickbad,\bad)} |
152 | \text{list=wims(values x for x=1 to \tot)} |
152 | \text{list=wims(values x for x=1 to \tot)} |
153 | \text{sh=shuffle(\list)} |
153 | \text{sh=shuffle(\list)} |
154 | \text{all=item(\sh,\all)} |
154 | \text{all=item(\sh,\all)} |
155 | \text{ind=item(\sh,\ind)} |
155 | \text{ind=item(\sh,\ind)} |
156 | \text{tomark=positionof(1,\ind)} |
156 | \text{tomark=positionof(1,\ind)} |
157 | \integer{nbtomark=items(\tomark)} |
157 | \integer{nbtomark=items(\tomark)} |
158 | 158 | ||
159 | :%% Choix de la presentation : sous forme lineaire par defaut, ou sous forme de liste à puces. |
159 | :%% Choix de la presentation : sous forme lineaire par defaut, ou sous forme de liste à puces. |
160 | \if{liste iswordof \presentation} |
160 | \if{liste iswordof \presentation} |
161 | { |
161 | { |
162 | \text{pre=<ul>} |
162 | \text{pre=<ul>} |
163 | \text{separatorL=<li>} |
163 | \text{separatorL=<li>} |
164 | \text{separatorR=</li>} |
164 | \text{separatorR=</li>} |
165 | \text{post=</ul>} |
165 | \text{post=</ul>} |
166 | }{ |
166 | }{ |
167 | \text{pre=<div>} |
167 | \text{pre=<div>} |
168 | \text{separatorL=<span>} |
168 | \text{separatorL=<span>} |
169 | \text{separatorR=</span>} |
169 | \text{separatorR=</span>} |
170 | \text{post=</div>} |
170 | \text{post=</div>} |
171 | } |
171 | } |
172 | 172 | ||
173 | :%%%%%%%%%%%%% Maintenant l'énoncé en code html. %%%%%%%%%%%%%%%%%%%% |
173 | :%%%%%%%%%%%%% Maintenant l'énoncé en code html. %%%%%%%%%%%%%%%%%%%% |
174 | 174 | ||
175 | :El text per explicar què fer. |
175 | :El text per explicar què fer. |
176 | Per evocar la propietat demanada, escriviu <span class="tt">\prop</span>. |
176 | Per evocar la propietat demanada, escriviu <span class="tt">\prop</span>. |
177 | $embraced_randitem |
177 | $embraced_randitem |
178 | \text{explain= |
178 | \text{explain= |
179 | Parmi les joueurs ci-dessous qui ont participé à la coupe du monde de football 2006, sélectionner ceux qui sont dans l'équipe \prop. |
179 | Parmi les joueurs ci-dessous qui ont participé à la coupe du monde de football 2006, sélectionner ceux qui sont dans l'équipe \prop. |
180 | } |
180 | } |
181 | 181 | ||
182 | :%% Calculs à ne pas modifier |
182 | :%% Calculs à ne pas modifier |
183 | \text{accolade=wims(word 1 of \accolade)} |
183 | \text{accolade=wims(word 1 of \accolade)} |
184 | 184 | ||
185 | \text{explain=\accolade=1. ?wims(embraced randitem \explain)} |
185 | \text{explain=\accolade=1. ?wims(embraced randitem \explain)} |
186 | :%% Pour la version latex de l'énonce |
186 | :%% Pour la version latex de l'énonce |
187 | \if{liste iswordof \presentation}{ |
187 | \if{liste iswordof \presentation}{ |
188 | \text{latextext=\begin{checkbox}} |
188 | \text{latextext=\begin{checkbox}} |
189 | \for{ll=1 to \tot}{ |
189 | \for{ll=1 to \tot}{ |
190 | \text{latextext=\latextext |
190 | \text{latextext=\latextext |
191 | \item \all[\ll] } |
191 | \item \all[\ll] } |
192 | } |
192 | } |
193 | \text{latextext=\latextext \end{checkbox}} |
193 | \text{latextext=\latextext \end{checkbox}} |
194 | }{ |
194 | }{ |
195 | \text{latextext=\begin{quote}} |
195 | \text{latextext=\begin{quote}} |
196 | \for{ll=1 to \tot-1}{ |
196 | \for{ll=1 to \tot-1}{ |
197 | \text{latextext=\latextext \all[\ll], } |
197 | \text{latextext=\latextext \all[\ll], } |
198 | } |
198 | } |
199 | \text{latextext=\latextext \all[\tot]. |
199 | \text{latextext=\latextext \all[\tot]. |
200 | \end{quote} } |
200 | \end{quote} } |
201 | } |
201 | } |
202 | \if{liste iswordof \presentation}{ |
202 | \if{liste iswordof \presentation}{ |
203 | \text{latexans=\begin{itemize}} |
203 | \text{latexans=\begin{itemize}} |
204 | \for{kls=1 to \nbtomark}{ |
204 | \for{kls=1 to \nbtomark}{ |
205 | \text{latexans=\latexans |
205 | \text{latexans=\latexans |
206 | \item \all[\tomark[\kls]] } |
206 | \item \all[\tomark[\kls]] } |
207 | } |
207 | } |
208 | \text{latexans=\latexans |
208 | \text{latexans=\latexans |
209 | \end{itemize}} |
209 | \end{itemize}} |
210 | }{ |
210 | }{ |
211 | \text{latexans=\begin{quote}} |
211 | \text{latexans=\begin{quote}} |
212 | \for{lls=1 to \nbtomark-1}{ |
212 | \for{lls=1 to \nbtomark-1}{ |
213 | \text{latexans=\latexans \all[\tomark[\lls]], } |
213 | \text{latexans=\latexans \all[\tomark[\lls]], } |
214 | } |
214 | } |
215 | \text{latexans=\latexans \all[\tomark[\lls]]. |
215 | \text{latexans=\latexans \all[\tomark[\lls]]. |
216 | \end{quote} } |
216 | \end{quote} } |
217 | } |
217 | } |
218 | 218 | ||
219 | ::On n'a pas besoin de modifier l'énoncé directement en général. |
219 | ::On n'a pas besoin de modifier l'énoncé directement en général. |
220 | 220 | ||
221 | \statement{ |
221 | \statement{ |
222 | <p>\explain</p> |
222 | <p>\explain</p> |
223 | \pre |
223 | \pre |
224 | \for{k=1 to \tot-1}{\separatorL \embed{r1,\k}, \separatorR } |
224 | \for{k=1 to \tot-1}{\separatorL \embed{r1,\k}, \separatorR } |
225 | \separatorL \embed{r1,\tot}.\separatorR |
225 | \separatorL \embed{r1,\tot}.\separatorR |
226 | \post |
226 | \post |
227 | } |
227 | } |
228 | 228 | ||
229 | :%%%%%%%%%%%%% Rien à modifier ci-après. %%%%%%%%%%%%%%%%%5 |
229 | :%%%%%%%%%%%%% Rien à modifier ci-après. %%%%%%%%%%%%%%%%%5 |
230 | 230 | ||
231 | \answer{Le marquage}{\tomark;\all}{type=mark}{option=\option} |
231 | \answer{Le marquage}{\tomark;\all}{type=mark}{option=\option} |
232 | 232 | ||
233 | \latex{ |
233 | \latex{ |
234 | \begin{statement} |
234 | \begin{statement} |
235 | \explain |
235 | \explain |
236 | \latextext |
236 | \latextext |
237 | \end{statement} |
237 | \end{statement} |
238 | \begin{answer}\ |
238 | \begin{answer}\ |
239 | \latexans |
239 | \latexans |
240 | \end{answer} |
240 | \end{answer} |
241 | } |
241 | } |
242 | 242 |