Subversion Repositories wimsdev

Rev

Rev 8002 | Rev 12169 | 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
 
4
:Marquer les objets selon leurs propriétés.
5
 
8002 bpr 6
On présente une liste d'objets et il faut marquer ceux qui possèdent une certaine propriété
3426 bpr 7
selon la demande de l'exercice.<br/>
2917 obado 8
Pour construire un exercice avec ce modèle, il suffit de donner la liste d'objets et leurs propriétés.<br/>
8002 bpr 9
Auteur du modèle : 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
 
19
:\title{Marquer par propriété}
5147 bpr 20
:\author{XIAO, Gang}
8002 bpr 21
:\email{qualite@wimsedu.info}
23 reyssat 22
 
23
:Nombre d'objets à marquer par exercice. Jusqu'à 100.
2917 obado 24
Il faut avoir défini suffisamment d'objets dans les données principales !
23 reyssat 25
\integer{tot=12}
26
 
27
:Le nombre minimal de bons objets à marquer. Au moins 1.
28
\integer{mingood=1}
29
 
30
:Le nombre minimal de mauvais objets à ne pas marquer. Au moins 1.
31
\integer{minbad=4}
32
 
33
:Liste de propriétés. La propriété à marquer sera tirée au hasard.
34
\text{prop=française,italienne,allemande}
35
 
36
:Données principales.
2917 obado 37
Définir un objet par ligne, d'abord le nom, ensuite la propriété, séparés par une virgule.<br/>
38
Il vaut mieux définir des données en quantité abondante pour chaque propriété.
23 reyssat 39
\matrix{data=
40
Fabien Barthez,francaise
41
Grégory Coupet,francaise
42
Eric Abidal,francaise
43
William Gallas,francaise
44
Willy Sagnol,francaise
45
Lilian Thuram,francaise
46
Pascal Chimbonda,francaise
47
Mickaël Silvestre,francaise
48
Claude Makélélé,francaise
49
Patrick Vieira,francaise
50
Florent Malouda,francaise
51
Zinedine Zidane,francaise
52
Sylvain Wiltord,francaise
53
Franck Ribéry,francaise
54
Vikash Dhorasoo,francaise
55
Sidney Govou,francaise
56
Thierry Henry,francaise
57
David Trézéguet,francaise
58
Louis Saha,francaise
59
 
60
Gianluigi Buffon,italienne
61
Morgan De Sanctis,italienne
62
Angelo Peruzzi,italienne
63
Christian Abbiati,italienne
64
Marco Amelia,italienne
65
Flavio Roma,italienne
66
Gianluca Zambrotta,italienne
67
Alessandro Nesta,italienne
68
Fabio Cannavaro,italienne
69
Fabio Grosso,italienne
70
Cristian Zaccardo,italienne
71
Marco Materazzi,italienne
72
Andrea Barzagli,italienne
73
Massimo Oddo,italienne
74
Mauro Camoranesi,italienne
75
Andrea Pirlo,italienne
76
Gennaro Gattuso,italienne
77
Francesco Totti,italienne
78
Daniele de Rossi,italienne
79
Aimo Diana,italienne
80
Simone Barone,italienne
81
Manuele Blasi,italienne
82
Simone Perrotta,italienne
83
Alberto Gilardino,italienne
84
Luca Toni,italienne
85
Alessandro Del Piero,italienne
86
Vicenzo Iaquinta,italienne
87
Christian Vieri,italienne
88
Antonio Cassano,italienne
89
Cristiano Lucarelli,italienne
90
Filippo Inzaghi,italienne
91
 
92
Jens Lehmann,allemande
93
Oliver Kahn,allemande
94
Timo Hildebrand,allemande
95
Philipp Lahm,allemande
96
Arne Friedrich,allemande
97
Robert Huth,allemande
98
Jens Nowotny,allemande
99
Per Mertesacker,allemande
100
Christoph Metzelder,allemande
101
Marcell Jansen,allemande
102
Bernd Schneider,allemande
103
Sebastian Kehl,allemande
104
Torsten Frings,allemande
105
Michael Ballack,allemande
106
Tim Borowski,allemande
107
Bastian Schweinsteiger,allemande
108
David Odonkor,allemande
109
Thomas Hitzlsperger,allemande
110
Miroslav Klose,allemande
111
Lukas Podolski,allemande
112
Gerald Asamoah,allemande
113
Mike Hanke,allemande
114
Oliver Neuville,allemande
115
}
116
 
117
:Mots d'option.
5907 bpr 118
Ajoutez le mot <span class="tt wims_code_words">split</span> à la définition si vous voulez donner une note
23 reyssat 119
partielle pour des réponses partiellement correctes.
120
\text{option=split}
121
 
2917 obado 122
:Options de Présentation.
8002 bpr 123
Ajoutez ici le mot "liste" si vous voulez afficher les objets sous forme de liste
2917 obado 124
\text{presentation=}
125
 
126
 
23 reyssat 127
:%%%%%%%%%%%%%% Rien à modifier avant l'énoncé %%%%%%%%%%%%%%%%
128
 
129
\text{prop=randitem(\prop)}
130
 
131
\text{data=wims(nonempty rows \data)}
132
\text{good=wims(select \data where column 2 issametext \prop)}
133
\text{bad=wims(select \data where column 2 notsametext \prop)}
134
\text{good=shuffle(wims(nonempty item \good[;1]))}
135
\text{bad=shuffle(wims(nonempty item \bad[;1]))}
136
\integer{goodcnt=items(\good)}
137
\integer{badcnt=items(\bad)}
138
\integer{tot=min(\tot,\goodcnt+\badcnt)}
139
\integer{mingood=min(\mingood,\tot-1)}
140
\integer{minbad=min(\minbad,\tot-\mingood-1)}
141
\integer{pickgood=randint(min(\mingood,\goodcnt)..min(\tot-\minbad,\goodcnt))}
142
\integer{pickbad=min(\tot-\pickgood,\badcnt)}
143
\integer{tot=\pickgood+\pickbad}
144
\text{ind=wims(makelist 1 for x=1 to \pickgood),wims(makelist 0 for x=1 to \pickbad)}
145
\text{all=item(1..\pickgood,\good),item(1..\pickbad,\bad)}
146
\text{list=wims(values x for x=1 to \tot)}
147
\text{sh=shuffle(\list)}
148
\text{all=item(\sh,\all)}
149
\text{ind=item(\sh,\ind)}
150
\text{tomark=positionof(1,\ind)}
151
 
2917 obado 152
:%% Choix de la presentation : sous forme lineaire par defaut, ou sous forme de liste à puces.
153
\if{liste iswordof \presentation}
154
{
155
 \text{pre=<ul>}
156
 \text{separatorL=<li>}
157
 \text{separatorR=</li>}
158
 \text{post=</ul>}
159
}
160
{
161
 \text{pre=<p>}
162
 \text{separatorL=<span>}
163
 \text{separatorR=</span>}
164
 \text{post=</p>}
165
}
166
 
23 reyssat 167
:%%%%%%%%%%%%% Maintenant l'énoncé en code html. %%%%%%%%%%%%%%%%%%%%
168
 
169
:Le texte pour expliquer ce qu'il faut faire.
5907 bpr 170
Pour évoquer la propriété tirée, écrire <span class="tt">\prop</span>.
23 reyssat 171
$embraced_randitem
172
\text{explain=
2917 obado 173
Parmi les joueurs ci-dessous qui ont participé à la coupe du monde de football 2006, marquez ceux qui sont dans l'équipe \prop.
23 reyssat 174
}
175
 
176
:%% Calculs à ne pas modifier
177
\text{explain=wims(embraced randitem \explain)}
178
 
179
::On n'a pas besoin de modifier l'énoncé directement en général.
180
 
2917 obado 181
\statement{
182
<p>\explain</p>
183
\pre
184
 \for{k=1 to \tot-1}{\separatorL \embed{r1,\k},\separatorR }
185
 \separatorL \embed{r1,\tot}.\separatorR
186
\post
23 reyssat 187
}
188
 
189
:%%%%%%%%%%%%% Rien à modifier ci-après. %%%%%%%%%%%%%%%%%5
190
 
191
\answer{Le marquage}{\tomark;\all}{type=mark}{option=\option}
192