Subversion Repositories wimsdev

Rev

Rev 11375 | Rev 13716 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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