Subversion Repositories wimsdev

Rev

Rev 15176 | Blame | Compare with Previous | Last modification | View Log | RSS feed

type=select
textarea="data explain"
iEdit="explain"

:Seleccionar los objetos de acuerdo a su categoría.

Presentamos una lista de objetos y debemos marcar aquellos que tienen cierta propiedad
de acuerdo con la solicitud del ejercicio. <br>
Para construir un ejercicio con este modelo, solo hay que dar la lista de objetos y sus propiedades. <br><p class="wims_credits">
<p class="wims_credits">Autor del modelo: <a href="mailto:qualite@wimsedu.info">Gang Xiao</a></p>

:%%%%%%%%%%%%%%%%%      ATENCIÓN      %%%%%%%%%%%%%%%%%%%%

Elimina la cabecera anterior si borra las etiquetas para el modelo!
(Son las líneas que comienzan con un ':'.)
En caso contrario el ejercicio puede no funcionar bajo Createxo.

:%%%%%%%% Parámetros del ejemplo a redefinir %%%%%%%%%%%%%%%%%

:\title{Seleccionar por categoría}
:\author{XIAO, Gang}
:\email{qualite@wimsedu.info}
:\credits{}

:Número de objetos a marcar por ejercicio. Hasta 100.
¡Debe haber definido suficientes objetos en los datos principales!
\integer{tot=12}

:La cantidad mínima de objetos correctos a marcar. Al menos 1.
\integer{mingood=1}

:La cantidad mínima de objetos erróneos que no debe marcar. Al menos 1.
\integer{minbad=4}

:Lista de propiedades. La propiedad que se marcará se escogerá al azar.
\text{prop=francés,italiano,alemán}

:Datos principales.
Escriba (uno por línea) los objetos a clasificar, luego su categoría, separados por una coma. <p>
El objeto puede ser una palabra, una oración (sin comas). Es mejor definir datos abundantes para cada propiedad.
\matrix{data=
Fabien Barthez,francés
Grégory Coupet,francés
Eric Abidal,francés
William Gallas,francés
Willy Sagnol,francés
Lilian Thuram,francés
Pascal Chimbonda,francés
Mickaël Silvestre,francés
Claude Makélélé,francés
Patrick Vieira,francés
Florent Malouda,francés
Zinedine Zidane,francés
Sylvain Wiltord,francés
Franck Ribéry,francés
Vikash Dhorasoo,francés
Sidney Govou,francés
Thierry Henry,francés
David Trézéguet,francés
Louis Saha,francés

Gianluigi Buffon,italiano
Morgan De Sanctis,italiano
Angelo Peruzzi,italiano
Christian Abbiati,italiano
Marco Amelia,italiano
Flavio Roma,italiano
Gianluca Zambrotta,italiano
Alessandro Nesta,italiano
Fabio Cannavaro,italiano
Fabio Grosso,italiano
Cristian Zaccardo,italiano
Marco Materazzi,italiano
Andrea Barzagli,italiano
Massimo Oddo,italiano
Mauro Camoranesi,italiano
Andrea Pirlo,italiano
Gennaro Gattuso,italiano
Francesco Totti,italiano
Daniele de Rossi,italiano
Aimo Diana,italiano
Simone Barone,italiano
Manuele Blasi,italiano
Simone Perrotta,italiano
Alberto Gilardino,italiano
Luca Toni,italiano
Alessandro Del Piero,italiano
Vicenzo Iaquinta,italiano
Christian Vieri,italiano
Antonio Cassano,italiano
Cristiano Lucarelli,italiano
Filippo Inzaghi,italiano

Jens Lehmann,alemán
Oliver Kahn,alemán
Timo Hildebrand,alemán
Philipp Lahm,alemán
Arne Friedrich,alemán
Robert Huth,alemán
Jens Nowotny,alemán
Per Mertesacker,alemán
Christoph Metzelder,alemán
Marcell Jansen,alemán
Bernd Schneider,alemán
Sebastian Kehl,alemán
Torsten Frings,alemán
Michael Ballack,alemán
Tim Borowski,alemán
Bastian Schweinsteiger,alemán
David Odonkor,alemán
Thomas Hitzlsperger,alemán
Miroslav Klose,alemán
Lukas Podolski,alemán
Gerald Asamoah,alemán
Mike Hanke,alemán
Oliver Neuville,alemán
}

:Opciones.
Agregue la palabra <span class="tt wims_code_words">split</span> a la definición si desea dar una nota
 parcial para respuestas parcialmente correctas.
\text{option=split}

:Opciones de presentación.
Agregue aquí la palabra "liste" si quiere mostrar los objetos como una lista.
\text{presentation=}

:Se acepta texto aleatorio puesto entre llaves
$embraced_randitem
\text{accolade=item(1,1. sí,
2. no)}

:%%%%%%%%%%%%%% Nada que modificar hasta el enunciado %%%%%%%%%%%%%%%%

\text{prop=randitem(\prop)}

\text{data=wims(nonempty rows \data)}
\text{good=wims(select \data where column 2 issametext \prop)}
\text{bad=wims(select \data where column 2 notsametext \prop)}
\text{good=shuffle(wims(nonempty item \good[;1]))}
\text{bad=shuffle(wims(nonempty item \bad[;1]))}
\integer{goodcnt=items(\good)}
\integer{badcnt=items(\bad)}
\integer{tot=min(\tot,\goodcnt+\badcnt)}
\integer{mingood=min(\mingood,\tot-1)}
\integer{minbad=min(\minbad,\tot-\mingood-1)}
\integer{pickgood=randint(min(\mingood,\goodcnt)..min(\tot-\minbad,\goodcnt))}
\integer{pickbad=min(\tot-\pickgood,\badcnt)}
\integer{tot=\pickgood+\pickbad}
\text{ind=wims(makelist 1 for x=1 to \pickgood),wims(makelist 0 for x=1 to \pickbad)}
\text{all=item(1..\pickgood,\good),item(1..\pickbad,\bad)}
\text{list=wims(values x for x=1 to \tot)}
\text{sh=shuffle(\list)}
\text{all=item(\sh,\all)}
\text{ind=item(\sh,\ind)}
\text{tomark=positionof(1,\ind)}
\integer{nbtomark=items(\tomark)}

:%% Choix de la presentation : sous forme lineaire par defaut, ou sous forme de liste à puces.
\if{liste iswordof \presentation}
{
  \text{pre=<ul>}
  \text{separatorL=<li>}
  \text{separatorR=</li>}
  \text{post=</ul>}
}{
  \text{pre=<div>}
  \text{separatorL=<span>}
  \text{separatorR=</span>}
  \text{post=</div>}
}

:%%%%%%%%%%%%% Maintenant l'énoncé en code html. %%%%%%%%%%%%%%%%%%%%

:El texto para explicar qué hacer.
Para evocar la propiedad pedida, escriba <span class="tt">\prop</span>.
$embraced_randitem
\text{explain=
Entre los siguientes jugadores que participaron en la Copa Mundial de Fútbol 2006, selecciona a los que están en el equipo \prop.
}

:%% Calculs à ne pas modifier
\text{accolade=wims(word 1 of \accolade)}

\text{explain=\accolade=1. ?wims(embraced randitem \explain)}
:%% Pour la version latex de l'énonce
\if{liste iswordof \presentation}{
  \text{latextext=\begin{checkbox}}
  \for{ll=1 to \tot}{
    \text{latextext=\latextext
    \item \all[\ll] }
  }
  \text{latextext=\latextext \end{checkbox}}
}{
  \text{latextext=\begin{quote}}
  \for{ll=1 to \tot-1}{
    \text{latextext=\latextext \all[\ll], }
  }
  \text{latextext=\latextext \all[\tot].
        \end{quote} }
}
\if{liste iswordof \presentation}{
  \text{latexans=\begin{itemize}}
  \for{kls=1 to \nbtomark}{
    \text{latexans=\latexans
    \item \all[\tomark[\kls]] }
  }
  \text{latexans=\latexans
        \end{itemize}}
}{
  \text{latexans=\begin{quote}}
  \for{lls=1 to \nbtomark-1}{
    \text{latexans=\latexans \all[\tomark[\lls]], }
  }
  \text{latexans=\latexans \all[\tomark[\lls]].
        \end{quote} }
}

::On n'a pas besoin de modifier l'énoncé directement en général.

\statement{
  <p>\explain</p>
  \pre
  \for{k=1 to \tot-1}{\separatorL \embed{r1,\k}, \separatorR }
  \separatorL \embed{r1,\tot}.\separatorR
  \post
}

:%%%%%%%%%%%%% Rien à modifier ci-après. %%%%%%%%%%%%%%%%%5

\answer{Le marquage}{\tomark;\all}{type=mark}{option=\option}

\latex{
\begin{statement}
\explain
\latextext
\end{statement}
\begin{answer}\
\latexans
\end{answer}
}