Rev 6132 | Rev 12172 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
type=datalist
textarea="data"
:Marquer un mot, puis donner un renseignement concernant ce mot
A la première étape, il est demandé marquer des mots ; à la seconde étape,
une question est posée sur ces mots (texte à répondre).
<div class="small">
Cet exercice peut facilement être transformé pour être inclus dans un module OEF
si l'on désire mettre les données dans un fichier auxiliaire. Pour cela,
il suffit de remplir le champ \text{file=} en mettant le nom du fichier
(une fois l'exercice transféré dans un module OEF d'un compte Modtool).
Un exercice du même type plus complet existe dans Quicktool.
</div>
Auteur du modèle : Bernadette Perrin-Riou <bpr@math.u-psud.fr>
:%%%%%%%%%%%%%%%%% ATTENTION %%%%%%%%%%%%%%%%%%%%
Enlevez l'en-tête ci-dessus si vous détruisez les balises pour le modèle !
(Ce sont les lignes qui commencent par un ':'.)
Sinon l'exercice risque de ne pas pouvoir repasser sous Createxo.
:%%%%%%%% Paramètres d'exemples à redéfinir %%%%%%%%%%%%%%%%%
:
\title{Questions sur des mots à sélectionner d'abord}
:\author{Bernadette, Perrin-Riou}
:\email{bpr@math.u-psud.fr}
:\credits{}
:Consigne de la première question
\text{instruction= Marquer les verbes conjugués.}
:Consigne de la deuxième question
\text{instruction2=Quels sont leurs infinitifs ?}
:Analyse des réponses de la deuxième question
Les possibilités sont <span class="tt">case</span>, <span class="tt">nocase</span> (ne tient pas compte de la casse).
Si rien n'est rempli, il n'y a pas de deuxième question posée.
\text{format=case}
:Nombre de lignes des données
\text{M=3}
:Taille des champs de réponses de la deuxième question
\text{size=15}
:Données
Une phrase par ligne. On met entre double points d'interrogation le mot à marquer
suivi du texte à répondre à la seconde question, séparés par le symbole
<span class="tt wims_code_words">|</span>.
$embraced_randitem
\text{data= Le chat ??mange|manger?? la souris.
Vous ??{avez bu,buvez}|boire?? du {thé,café}.
Nous ??tournons|tourner?? les pages du livre une à une.
Les randonneurs ??{feront,font}|faire?? un feu.
Il ??{a déménagé,déménage}|déménager?? pendant les vacances.
Les navires ??{ont quitté,quittent}|quitter?? le port aujourd'hui.
Mon chien ??remue|remuer?? {la queue,les oreilles}.
Tu ??{prépareras,as préparé,prépares}|préparer?? un cadeau pour tes {parents,grands-parents}.
Je ??suis arrivé|arriver?? {en retard,en avance} à mon rendez-vous.
{Christian,Paul} et moi ??regardons|regarder?? un film d'aventure.
}
:Mise en aléatoire par des accolades emboitables
$embraced_randitem
\text{accolade=item(1,1 oui,
2 non)}
:%%%%%%%%%%%%%% Rien à modifier avant l'énoncé %%%%%%%%%%%%%%%%
################
\text{accolade=wims(word 1 of \accolade)}
\text{file=}
\text{partialscore=split}
\text{first_step=1}
\text{alea=yes}
\css{<style type="text/css">
.question {background-color: #FFFFCC;margin: 2% 2%;padding: 1%;}
.reponse {background-color: #FFCC99;color: black;margin: 2% 2%;padding: 1%;}
.oefstatement{}
ol li {list-style: upper-alpha; }
</style>}
\text{paste=yes}
\text{pos_rep=outside}
\text{second_step=\format notsametext ? yes:no}
#####################
\text{format0=mark}
\if{\file notsametext}{
\text{file0=randitem(\file)}
\integer{cnt_question= wims(recordcnt \file0)}
\text{battage=\alea issametext yes ? shuffle(\cnt_question):
wims(makelist x for x = 1 to \cnt_question)}
\text{texte=wims(record \battage[1] of \file0)}
}{
\integer{cnt_question=rows(\data)}
\integer{N=min(\cnt_question,\M)}
\integer{N=min(\N,10)}
\text{liste=shuffle(\cnt_question)}
\text{liste=\liste[1..\N]}
\matrix{data=\data}
\text{texte=\data[\liste;]}
\text{texte=wims(replace internal ; by <br/> in \texte)}
}
\text{autocompletion=\format iswordof case ? autocomplete="off"}
\integer{first_step=\first_step notwordof 0 ? 1}
\text{option_reaccent=\reaccent!=yes ? noreaccent:}
\text{nopaste=\paste issametext no ? slib(utilities/nopaste )}
\text{size=\format iswordof dragfill clickfill ? \size x 1}
\text{texte=wims(\texte)}
\text{texte=\accolade=1 ?wims(embraced randitem \texte)}
\text{texte=wims(replace internal ??| by ?? | in \texte)}
\text{texte=wims(replace internal ?? | by ?? | in \texte)}
\matrix{texte=slib(text/markgroup \texte)}
\matrix{numero=\texte[1..-4;]}
\text{traduction=\texte[-2;]}
\text{traduction=wims(replace internal || by | in \traduction)}
\text{cnt_mot = rows(\numero)}
\text{Numero = wims(rows2lines \numero)}
\text{Numero = wims(lines2items \Numero)}
\text{prem_numero=wims(column 1 of \numero)}
\text{texte = \texte[-3;]}
\text{cnt = items(\texte)}
\text{Texte=wims(items2words \texte)}
\text{rep_compose = }
\for{ i = 1 to \cnt_mot}{
\text{nom_compose= \texte[\numero[\i;]]}
\text{nom_compose =wims(items2words \nom_compose)}
\text{rep_compose = \rep_compose,\nom_compose}
}
\text{rep_compose= wims(nonempty items \rep_compose)}
\text{STEP = wims(makelist r x for x = 2 to \cnt_mot+1)}
\text{position=}
\integer{a=0}
\for{t = 1 to \cnt}{
\if{\t isitemof \prem_numero}{
\integer{a =\a+1}
\text{position=\position,\a}
}{
\text{position=\position,0}
}
}
\text{position=wims(nonempty items \position)}
\text{STEP1=\first_step=1?r1}
\text{STEP1=\second_step issametext yes ? \STEP1
\STEP
}
\steps{\STEP1}
\integer{reste=\cnt%\coupure}
\integer{quo=(\cnt-\reste)/\coupure}
\integer{quo=\reste=0? \quo-1}
\text{nombre=wims(makelist x for x = 1 to \cnt)}
%%%%%%%%%%%
\statement{\nopaste <div>\instruction</div>
\preliminaire
\if{\reading notsametext }{\special{help reading,[à lire]}}
\if{\image notsametext }{\special{help image,[à regarder]}}
\audio\video
\if{\step=\first_step}{
<div class="question">
\if{\format iswordof flashcard}{
<div> \for{h=1 to \cnt}{\texte[\h] }</div>}
\for{h=1 to \cnt}{
\embed{reply 1,\h}
}
</div>
}
\if{\step >=1+\first_step}{
\if{\pos_rep=outside}{
<div class="reponse">
\for{s = 1 to \cnt}{
\if{\s notitemof \Numero}{\texte[\s]}{
\if{\s isitemof \Numero}{
<span style="color:blue;font-size:large;">\texte[\s]</span>}
}
}
</div>
<div>\instruction2</div>
<div class="question">
<table>
\for{s= 1 to \cnt_mot}{
<tr><td> \rep_compose[\s]</td> <td>:</td><td> \embed{reply \STEP[\s],\size
\autocompletion}</td></tr>
}
</table>
</div>
}
\if{\pos_rep=inside}{
<div>\instruction2</div>
<div class="question">
\for{s = 1 to \cnt}{
\if{\s notitemof \Numero}{\texte[\s]}{
\if{\s isitemof \prem_numero}{
\embed{\STEP[\position[\s]], \size
\autocompletion}
}
<span class="smaller" style="color:blue;">\texte[\s]</span>}
}
</div>
}
\if{\pos_rep=under}{
<div class="question">
\for{u = 0 to \quo}{<table border="0">
<tr>
\for{ v = 1 to \coupure}{<td align="center">
\if{\nombre[\coupure*\u+\v] isitemof \prem_numero
or \nombre[\coupure*\u+\v] notitemof \Numero}{}
\if{\coupure*\u+\v <= \cnt}{
\if{\nombre[\coupure*\u+\v] isitemof \Numero}{<sapn style="color:blue;">}
\texte[\coupure*\u+\v]}{ }
\if{\nombre[\coupure*\u+\v] isitemof \Numero}{</span>}
</td>
}
</tr><tr>
\for{ v = 1 to \coupure}{
\if{\nombre[\coupure*\u+\v] isitemof \prem_numero
or \nombre[\coupure*\u+\v] notitemof \Numero}{}
<td align="center">
\if{\nombre[\coupure*\u+\v] isitemof \prem_numero}{
\embed{\STEP[\position[\nombre[\coupure*\u+\v]]], \size
\autocompletion}
}{ }
</td>
}
</tr><tr><td colspan="\coupure"><hr/></td></tr>
</table> }
</div>
}
}
}
\answer{}{\Numero;\texte}{type=\format0}{option=\partialscore \option}
\answer{\rep_compose[1]}{\traduction[1];\choix}{type=\format}
\answer{\rep_compose[2]}{\traduction[2]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[3]}{\traduction[3]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[4]}{\traduction[4]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[5]}{\traduction[5]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[6]}{\traduction[6]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[7]}{\traduction[7]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[8]}{\traduction[8]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[9]}{\traduction[9]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[10]}{\traduction[10]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[11]}{\traduction[11]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[12]}{\traduction[12]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[13]}{\traduction[13]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[14]}{\traduction[14]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[15]}{\traduction[15]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[16]}{\traduction[16]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[17]}{\traduction[17]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[18]}{\traduction[18]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[19]}{\traduction[19]}{type=\format}{option=\option_reaccent}
\answer{\rep_compose[20]}{\traduction[20]}{type=\format}{option=\option_reaccent}