Rev 15176 | Blame | Compare with Previous | Last modification | View Log | RSS feed
type=select
textarea="data explain"
iEdit="explain"
:Seleziona oggetti che hanno una certa proprietà.
L'esercizio presenta una lista di oggetti i cui è necessario selezionare
quelli che hanno una certa proprietà indicata nell'esercizio.<br>
Per costruire un esercizio utilizzando questo modello è sufficiente
inserire la lista di oggetti e le loro proprietà.<br>
<p class="wims_credits">Autore del modello: <a href="mailto:qualite@wimsedu.info">Gang Xiao</a></p>
:%%%%%%%%%%%%%%%%% ATTENZIONE %%%%%%%%%%%%%%%%%%%%
Se si rimuovono le indicazioni del modulo modelli (le righe che
cominciano con ':') è necessario rimuovere tutta questa parte
introduttiva del file. Altrimenti Createxo potrebbe non accettare il
codice dell'esercizio.
:%%%%%%%% Parametri che possono essere ridefiniti %%%%%%%%%%%%%%%%%
:\title{Seleziona in base a una proprietà}
:\author{XIAO, Gang}
:\email{qualite@wimsedu.info}
:\credits{}
:Numero di oggetti da selezionare in ogni esercizio. Massimo 100.
È necessario definire almeno altrettanti oggetti nel contenuto dell'esercizio!
\integer{tot=12}
:Minimo numero di oggetti che devono essere selezionati. Minimo 1.
\integer{mingood=1}
:Il minimo numero di oggetti sbagliati che NON devono essere selezionati. Minimo 1.
\integer{minbad=4}
:Proprietà. Elenco delle possibili proprietà in base alle queli gli oggetti devono essere selezionati.
\text{prop=della Francia,dell'Italia,della Germania}
:Contenuto effettivo dell'esercizio.
Inserire un oggeto per riga, indicando prima il nome e quindi la categoria,
separati da una virgola. <p>
È utile inserire dati in abbondanza per ogni categoria. <p>
Attenzione a non commettere errori nello scrivere le proprietà! Questo
potrebbe compromettere del tutto il funzionamento dell'esercizio.<p>
Attenzione: gli elenchi dei giocatori utilizzati in questo modello potrebbero
contenere errori.
\matrix{data=
Fabien Barthez,della Francia
Grégory Coupet,della Francia
Eric Abidal,della Francia
William Gallas,della Francia
Willy Sagnol,della Francia
Lilian Thuram,della Francia
Pascal Chimbonda,della Francia
Mickaël Silvestre,della Francia
Claude Makélélé,della Francia
Patrick Vieira,della Francia
Florent Malouda,della Francia
Zinedine Zidane,della Francia
Sylvain Wiltord,della Francia
Franck Ribéry,della Francia
Vikash Dhorasoo,della Francia
Sidney Govou,della Francia
Thierry Henry,della Francia
David Trézéguet,della Francia
Louis Saha,della Francia
Gianluigi Buffon,dell'Italia
Morgan De Sanctis,dell'Italia
Angelo Peruzzi,dell'Italia
Christian Abbiati,dell'Italia
Marco Amelia,dell'Italia
Flavio Roma,dell'Italia
Gianluca Zambrotta,dell'Italia
Alessandro Nesta,dell'Italia
Fabio Cannavaro,dell'Italia
Fabio Grosso,dell'Italia
Cristian Zaccardo,dell'Italia
Marco Materazzi,dell'Italia
Andrea Barzagli,dell'Italia
Massimo Oddo,dell'Italia
Mauro Camoranesi,dell'Italia
Andrea Pirlo,dell'Italia
Gennaro Gattuso,dell'Italia
Francesco Totti,dell'Italia
Daniele de Rossi,dell'Italia
Aimo Diana,dell'Italia
Simone Barone,dell'Italia
Manuele Blasi,dell'Italia
Simone Perrotta,dell'Italia
Alberto Gilardino,dell'Italia
Luca Toni,dell'Italia
Alessandro Del Piero,dell'Italia
Vicenzo Iaquinta,dell'Italia
Christian Vieri,dell'Italia
Antonio Cassano,dell'Italia
Cristiano Lucarelli,dell'Italia
Filippo Inzaghi,dell'Italia
Jens Lehmann,della Germania
Oliver Kahn,della Germania
Timo Hildebrand,della Germania
Philipp Lahm,della Germania
Arne Friedrich,della Germania
Robert Huth,della Germania
Jens Nowotny,della Germania
Per Mertesacker,della Germania
Christoph Metzelder,della Germania
Marcell Jansen,della Germania
Bernd Schneider,della Germania
Sebastian Kehl,della Germania
Torsten Frings,della Germania
Michael Ballack,della Germania
Tim Borowski,della Germania
Bastian Schweinsteiger,della Germania
David Odonkor,della Germania
Thomas Hitzlsperger,della Germania
Miroslav Klose,della Germania
Lukas Podolski,della Germania
Gerald Asamoah,della Germania
Mike Hanke,della Germania
Oliver Neuville,della Germania
}
:Opzioni dell'esercizio.
L'opzione <span class="tt wims_code_words">split</span> permette di assegnare un punteggio anche a risposte
parziali, purché senza errori.
\text{option=split}
:Opzioni di presentazione
Si può utilizzare la parola chiave "liste" se si vuole che gli oggetti vengano presentati in forma di lista
\text{presentation=}
:Scelte casuali di elementi inseriti tra parentesi graffe
$embraced_randitem
\text{accolade=item(1,1. sì,
2. no)}
:%%%%%%%%%%% Parte che precede l'enunciato: da non modificare %%%%%%%%%%%%%
\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>}
}
:Testo che spiega la scelta che deve essere fatta.
La proprietà, scelta casualmente tra quelle possibili, va indicata con <span class="tt">\prop</span>.
$embraced_randitem
\text{explain=
Tra i giocatori partecipanti ai Campionati Mondiali di Calcio 2006, indica
quelli che hanno giocato nella squadra \prop.
}
:%% Verifica automatica, da non modificare
\text{accolade=wims(word 1 of \accolade)}
\text{explain=\accolade=1. ?wims(embraced randitem \explain)}
:%% For the Latex version
\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} }
}
:%%%%%%%%%%%%% Enunciato (in html). %%%%%%%%%%%%%%%%%%%%
::In questa parte non dovrebbe esserci nulla da modificare.
\statement{
<p>\explain</p>
\pre
\for{k=1 to \tot-1}{\separatorL \embed{r1,\k},\separatorR }
\separatorL \embed{r1,\tot}.\separatorR
\post
}
:%%%%%%%%%%%%% Non modificare nulla da qui in poi. %%%%%%%%%%%%%%%%%
\answer{The marking}{\tomark;\all}{type=mark}{option=\option}
\latex{
\begin{statement}
\explain
\latextext
\end{statement}
\begin{answer}\
\latexans
\end{answer}
}