Subversion Repositories wimsdev

Rev

Rev 13556 | Rev 15076 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

type=classify
textarea="data instruction"
iEdit="instruction"

:Classificare oggetti selezionando le proprietà in una tabella.

Viene presentata una lista di oggetti e una lista di attributi (proprietà). Si
deve compilare la tabella selezionando le proprietà che sono soddisfatte dagli
oggetti.
<p>
Per costruire un esercizio utilizzando questo modello è sufficiente
inserire la lista degli attributi e una lista di oggetti, nella quale
è indicato se gli oggetti verificano o meno le proprietà (prese nell'ordine
in cui sono state indicate, contrassegnando i caso con uno 0 o un 1)
</p><p>
Se questo esercizio viene inserito in un modulo OEF i dati possono essere
raccolti in un file ausiliario. In questo caso è sufficiente definire
la variabile \text{file=} con il nome del file
(questo va fatto nel momento in cui si inserisce l'esercizio in un modulo
OEF in Modtool).
</p><p class="wims_credits">
  Autore del modello: Bernadette Perrin-Riou <bpr@math.u-psud.fr></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{Completa la tabella (checkbox)}
:\author{Bernadette, Perrin-Riou}
:\email{bpr@math.u-psud.fr}
:\credits{}

:Istruzioni
\text{instruction=Completa la tabella.}

:Numero di oggetti da mostrare
\integer{N=3}

:Nome del file
Compilare solo se si desidera inserire questo esercizio in un modulo OEF
in Modtool e utilizzare un file di dati di tipo
<pre>
 peli, piume, quattro arti, ali
:gazza,0,1,1,1
:manzo,1,0,1,0
</pre>
In questo caso le righe seguenti non saranno prese in considerazione.
Altrimenti compilare anche tutto il resto.

\text{file=}

:Elenco delle proprietà
\text{attribut=peli, piume, quattro arti,ali}

:Dati
una riga per ogni elemento.
\text{data=gazza,0,1,1,1
bovino,1,0,1,0
gatto,1,0,1,0
zanzara,0,0,0,1}

:Testi o immagini per indicare la risposta corretta o sbagliata
questo testo viene mostrato nell'analisi della risposta. Di default appaiono
immagini.
\text{nonoui=}

:%%%%%%%%%%%%%% Nulla da modificare fino all'enunciato %%%%%%%%%%%%%%%%

\text{size=50,50}
\integer{w=\size[1]+10}
\css{<style>
  .big_check{text-align: center}
  @supports (zoom:2){
    .big_check>input{zoom: 1.4;}
  }
  @supports not (zoom:2){
    .big_check>input{transform: scale(1.4);}
  }
  .big_check>label{color:transparent;width:1px;height:1px;position: absolute;}

 </style>}
\text{nonoui=\nonoui issametext ? <img src="scripts/authors/jm.evers/gifs/ok.gif" width="15"/>,<img src="scripts/authors/jm.evers/gifs/nok.gif" width="15"/>}
\if{\file notsametext}{
  \text{file=randitem(\file)}
  \text{attribut=wims(record 0 of \file)}
  \integer{datacnt=wims(recordcnt \file)}
  \integer{N=min(\N,\datacnt)}
  \text{choix=shuffle(\datacnt)}
  \text{choix=\choix[1..\N]}
  \text{data=}
  \for{s in \choix}{
    \text{data=\data
wims(record \s of \file)}
  }
  \matrix{data=\data}
  \text{data=wims(replace internal ;; by ; in \data)}
}{
  \text{objet_cnt=rows(\data)}
  \integer{N=min(\N,\objet_cnt)}
  \text{bat=shuffle(\objet_cnt)}
  \text{bat=\bat[1..\N]}
  \matrix{data=\data}
  \matrix{data=\data[\bat;]}
}
\integer{attribut_cnt=items(\attribut)}
\text{Data=}
\text{R=}
\for{u=1 to \N}{
  \for{v=2 to \attribut_cnt+1}{
    \integer{uu=(\u-1)*\attribut_cnt + \v -1}
    \text{Data=\data[\u;\v]=1? wims(append item \uu to \Data)}
  }
}
\text{C=wims(makelist x for x=1 to \N*\attribut_cnt)}
\text{C1=wims(makelist x for x=1 to \N*\attribut_cnt)}
\text{nstep=r1}
\nextstep{\nstep}
\text{col=1}
\text{tab=wims(makelist c for x=1 to \attribut_cnt+1)}
\text{tab=wims(replace internal , by | in |\tab|)}
\text{latexsrc=\begin{tabular}{\tab}\hline}
\for{lk=1 to \attribut_cnt}{
  \text{latexsrc=\latexsrc&\attribut[\lk]}
}
\text{latexsrc=\latexsrc \\\hline}
\for{jl=1 to \N}{
  \text{latexsrc=\latexsrc
  \data[\jl;1]}
  \for{kl=1 to \attribut_cnt}{
    \text{latexsrc=\latexsrc &}
  }
  \text{latexsrc=\latexsrc \\\hline}
}
\text{latexsrc=\latexsrc
\end{tabular}}

\statement{
  <div class="instruction">\instruction</div>
  <table class="wimstable">
    <tr>
      <th></th>
      \for{k=1 to \attribut_cnt}{<th colspan="\col">\attribut[\k]</th>}
    </tr>
    \for{j=1 to \N}{
      <tr>
        <th>\data[\j;1]</th>
        \for{k=1 to \attribut_cnt}{
          \if{\step=1}{
            <td class="big_check">\embed{r1,\C[(\attribut_cnt)*(\j-1)+\k]}</td>
          }{
            <td>\C[(\attribut_cnt)*(\j-1)+\k]</td>
          }
        }
      </tr>
    }
  </table>
}

\answer{}{\Data;\C1}{type=checkbox}{option=split noanalyzeprint nonstop}
\text{nstep=}
\text{C=}
\text{col=2}
\text{croix=<span style="color:black; font-size:20pt;font-style:bold;">X</span></td>}
\text{nocroix=<span style="color:black; font-size:20pt;font-style:bold;">&nbsp;&nbsp;</span></td>}
\text{croix=X}
\text{nocroix=}
\for{u=1 to \N}{
  \for{v=2 to \attribut_cnt+1}{
    \integer{uu=(\u-1)*\attribut_cnt + \v -1}
    \text{C=\uu isitemof \reply1 and \uu isitemof \Data ? wims(append item  \croix <td>\nonoui[1]  to \C)}
    \text{C=\uu isitemof \reply1 and \uu notitemof \Data ? wims(append item \croix <td>\nonoui[2]  to \C)}
    \text{C=\uu notitemof \reply1 and \uu isitemof \Data ? wims(append item \nocroix <td>\nonoui[2] to \C)}
    \text{C=\uu notitemof \reply1 and \uu notitemof \Data ? wims(append item \nocroix <td>\nonoui[1] to \C)}
  }
}

\feedback{1=1}{\nonoui[1]: risposta corretta, \nonoui[2]: risposta errata

}
\latex{
\begin{statement}
\instruction
\newline
\latexsrc
\end{statement}
}