Subversion Repositories wimsdev

Rev

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
}