Subversion Repositories wimsdev

Rev

Rev 5448 | Rev 5907 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
4688 bpr 1
type=datalist
2
textarea="data"
3
 
4
:Marquer un mot, puis donner un renseignement concernant ce mot
5
A la première étape, il est demandé  marquer des mots ; à la seconde étape, 
6
une question est posée sur ces mots (texte à répondre). 
7
 
8
<p>
9
 
10
<smaill>
11
Cet exercice peut facilement être transformé pour être inclus dans un module OEF
12
si l'on désire mettre les données dans un fichier auxiliaire. Pour cela,
13
il suffit de remplir le champ \text{file=} en mettant le nom du fichier
14
(une fois l'exercice transféré dans un module OEF d'un compte Modtool).
15
Un exercice du même type plus complet existe dans Quicktool.
16
</small>
17
<p>
18
Auteur du modèle : Bernadette Perrin-Riou <bpr@math.u-psud.fr>
19
 
20
:%%%%%%%%%%%%%%%%%      ATTENTION      %%%%%%%%%%%%%%%%%%%%
21
 
22
Enlevez l'en-tête ci-dessus si vous détruisez les balises pour le modèle !
23
(Ce sont les lignes qui commencent par un ':'.)
24
Sinon l'exercice risque de ne pas pouvoir repasser sous Createxo.
25
 
26
:%%%%%%%% Paramètres d'exemples à redéfinir %%%%%%%%%%%%%%%%%
27
 
28
:
29
\title{Questions sur des mots à sélectionner d'abord}
30
:
5147 bpr 31
\author{Bernadette, Perrin-Riou}
4688 bpr 32
:
33
\email{bpr@math.u-psud.fr}
34
 
35
:Consigne de la première question
36
\text{instruction= Marquer les verbes conjugués.}
37
:Consigne de la deuxième question
38
\text{instruction2=Quels sont leurs infinitifs ?}
39
 
40
:Analyse des réponses de la deuxième question
41
Les possibilités sont <tt>case</tt>, <tt>nocase</tt> (ne tient pas compte de la casse).
42
\text{format=case}
43
:Nombre de lignes des données
44
\text{M=3}
45
:Taille des champs de réponses de la deuxième question
46
\text{size=15}
47
 
48
:Données
49
Une phrase par ligne. On met entre double points d'interrogation le mot à marquer
50
suivi du texte à répondre à la seconde question, séparés par le symbole
51
<tt class="wims_code_words">|</tt>.
52
 
53
\text{data= Le chat ??mange|manger?? la souris.
54
Vous ??{avez bu,buvez}|boire?? du {thé,café}.
55
Nous ??tournons|tourner?? les pages du livre une à une.
56
Les randonneurs ??{feront,font}|faire?? un feu. 	
57
Il ??{a déménagé,déménage}|déménager?? pendant les vacances. 	
58
Les navires ??{ont quitté,quittent}|quitter?? le port aujourd'hui. 	
59
Mon chien ??remue|remuer?? {la queue,les oreilles}. 	
60
Tu ??{prépareras,as préparé,prépares}|préparer?? un cadeau pour tes {parents,grands-parents}.
61
Je ??suis arrivé|arriver?? {en retard,en avance} à mon rendez-vous.
62
{Christian,Paul} et moi ??regardons|regarder?? un film d'aventure.
63
}
64
 
65
:%%%%%%%%%%%%%% Rien à modifier avant l'énoncé %%%%%%%%%%%%%%%%
66
################
67
\text{file=}
68
\text{partialscore=split}
69
 
70
\text{first_step=1}
71
\text{alea=yes}
72
\css{<style type="text/css">
73
   .question {background-color: #FFFFCC;margin: 2% 2%;padding: 1%;}
74
   .reponse {background-color: #FFCC99;color: black;margin: 2% 2%;padding: 1%;}
75
   .oefstatement{}
76
   ol li {list-style: upper-alpha; }
77
 </style>}
78
\text{paste=yes}
79
\text{pos_rep=outside}
80
\text{second_step=yes}
81
#####################
82
 
83
 
84
\text{format0=mark}
85
 
86
\if{\file notsametext}{
87
  \text{file0=randitem(\file)}
88
  \integer{cnt_question= wims(recordcnt \file0)}
89
  \text{battage=\alea issametext yes ? shuffle(\cnt_question) :
90
wims(makelist x for x = 1 to \cnt_question)}
91
\text{texte=wims(record \battage[1] of \file0)}
92
   }{
93
  \integer{cnt_question=rows(\data)}
94
  \integer{N=min(\cnt_question,\M)}
95
  \integer{N=min(\N,10)}
96
  \text{liste=shuffle(\cnt_question)}
97
  \text{liste=\liste[1..\N]}
98
  \matrix{data=\data}
99
  \text{texte=\data[\liste;]}
100
  \text{texte=wims(replace internal ; by  </p><p> in <p>\texte</p>)}
101
}
102
 
103
\text{autocompletion=\format iswordof case ? autocomplete=off}
104
\integer{first_step=\first_step notwordof 0 ? 1}
105
\text{option_reaccent=\reaccent!=yes ? noreaccent:}
106
\text{nopaste=\paste issametext no ? slib(utilities/nopaste )}
107
 
108
\text{size=\format iswordof dragfill clickfill ? \size x 1}
109
 
110
\text{texte=wims(\texte)}
111
\text{texte=wims(embraced randitem \texte)}
112
\text{texte=wims(replace internal ??| by ??&nbsp;| in \texte)}
113
\text{texte=wims(replace internal ?? | by ??&nbsp;| in \texte)}
114
\matrix{texte=slib(text/markgroup \texte)}
115
\matrix{numero=\texte[1..-4;]}
116
\text{traduction=\texte[-2;]}
117
\text{traduction=wims(replace internal || by | in \traduction)}
118
\text{cnt_mot = rows(\numero)}
119
\text{Numero = wims(rows2lines \numero)}
120
\text{Numero = wims(lines2items \Numero)}
121
\text{prem_numero=wims(column 1 of \numero)}
122
\text{texte = \texte[-3;]}
123
\text{cnt = items(\texte)}
124
\text{Texte=wims(items2words \texte)}
125
 
126
\text{rep_compose = }
127
\for{ i = 1 to \cnt_mot}{
128
 \text{nom_compose= \texte[\numero[\i;]]}
129
 \text{nom_compose =wims(items2words \nom_compose)}
130
\text{rep_compose = \rep_compose,\nom_compose}
131
}
132
\text{rep_compose= wims(nonempty items \rep_compose)}
133
 
134
\text{STEP = wims(makelist r x for x = 2 to \cnt_mot+1)}
135
\text{position=}
136
\integer{a=0}
137
\for{t = 1 to \cnt}{
138
  \if{\t isitemof \prem_numero}{
139
    \integer{a =\a+1}
140
    \text{position=\position,\a}
141
  }{
142
    \text{position=\position,0}
143
  }
144
 }
145
\text{position=wims(nonempty items \position)}
146
 
147
\text{STEP1=\first_step=1?r1}
148
\text{STEP1=\second_step issametext yes ? \STEP1
149
\STEP
150
}
151
 
152
\steps{\STEP1}
153
 
154
 
155
\integer{reste=\cnt%\coupure}
156
\integer{quo=(\cnt-\reste)/\coupure}
157
\integer{quo=\reste=0? \quo-1}
158
\text{nombre=wims(makelist x for x = 1 to \cnt)}
159
%%%%%%%%%%%
160
 
161
\statement{\nopaste <p>\instruction</p>
162
\preliminaire
163
  \if{\reading notsametext }{\special{help reading,[à lire]}}
164
  \if{\image notsametext }{\special{help image,[à regarder]}}
165
  \audio\video
166
  \if{\step=\first_step}{
167
    <div class="question">
168
   \if{\format iswordof flashcard}{
169
     <p> \for{h=1 to \cnt}{\texte[\h] }</p>}  
170
    \for{h=1 to \cnt}{
171
      \embed{reply 1,\h} 
172
    }
173
    </div>
174
   }
175
 \if{\step >=1+\first_step}{
176
   \if{\pos_rep=outside}{
177
     <div class="reponse">
178
     \for{s = 1 to \cnt}{
179
      \if{\s notitemof \Numero}{\texte[\s]}{
180
      \if{\s isitemof \Numero}{
181
      <font size="+1" color="blue">\texte[\s]</font>}
182
      }
183
    }
184
    </div>
185
     <p>\instruction2</p>
186
    <div class="question">
187
    <table>
188
   \for{s= 1 to \cnt_mot}{
189
         <tr><td> \rep_compose[\s]</td> <td>:</td><td> \embed{reply \STEP[\s],\size
190
         \autocompletion}</td></tr>
191
   }
192
   </table>
193
   </div>
194
 }
195
 \if{\pos_rep=inside}{
196
    <p>\instruction2</p>
197
    <div class="question">
198
    \for{s = 1 to \cnt}{
199
      \if{\s notitemof \Numero}{\texte[\s]}{
200
      \if{\s isitemof \prem_numero}{
201
      \embed{\STEP[\position[\s]], \size
202
      \autocompletion}
203
      }
204
      <font size="-1" color="red">\texte[\s]</font>}
205
    }
206
   </div>
207
  }
208
  \if{\pos_rep=under}{
209
    <div class="question">
210
    \for{u = 0 to \quo}{<table border="0">
211
    <tr>
212
    \for{ v = 1 to \coupure}{<td align="center">
213
      \if{\nombre[\coupure*\u+\v] isitemof \prem_numero 
214
         or \nombre[\coupure*\u+\v] notitemof \Numero}{}
215
       \if{\coupure*\u+\v <= \cnt}{ 
216
         \if{\nombre[\coupure*\u+\v] isitemof \Numero}{<font color="blue">}
217
           \texte[\coupure*\u+\v]}{&nbsp;}
218
          \if{\nombre[\coupure*\u+\v] isitemof \Numero}{</font>}
219
       </td>
220
      }
221
     </tr><tr>
222
     \for{ v = 1 to \coupure}{
223
      \if{\nombre[\coupure*\u+\v] isitemof \prem_numero 
224
         or \nombre[\coupure*\u+\v] notitemof \Numero}{}
225
        <td align="center">
226
      \if{\nombre[\coupure*\u+\v] isitemof \prem_numero}{ 
227
         \embed{\STEP[\position[\nombre[\coupure*\u+\v]]], \size
228
         \autocompletion}
229
      }{&nbsp;}
230
      </td>
231
     }
5724 bpr 232
    </tr><tr><td colspan="\coupure"><hr/></td></tr>
4688 bpr 233
       </table> }
234
 
235
   </div>
236
  }
237
 }
238
}
239
 
240
\answer{}{\Numero;\texte}{type=\format0}{option=\partialscore \option}
241
\answer{\rep_compose[1]}{\traduction[1];\choix}{type=\format}
242
\answer{\rep_compose[2]}{\traduction[2]}{type=\format}{option=\option_reaccent}
243
\answer{\rep_compose[3]}{\traduction[3]}{type=\format}{option=\option_reaccent}
244
\answer{\rep_compose[4]}{\traduction[4]}{type=\format}{option=\option_reaccent}
245
\answer{\rep_compose[5]}{\traduction[5]}{type=\format}{option=\option_reaccent}
246
\answer{\rep_compose[6]}{\traduction[6]}{type=\format}{option=\option_reaccent}
247
\answer{\rep_compose[7]}{\traduction[7]}{type=\format}{option=\option_reaccent}
248
\answer{\rep_compose[8]}{\traduction[8]}{type=\format}{option=\option_reaccent}
249
\answer{\rep_compose[9]}{\traduction[9]}{type=\format}{option=\option_reaccent}
250
\answer{\rep_compose[10]}{\traduction[10]}{type=\format}{option=\option_reaccent}
251
\answer{\rep_compose[11]}{\traduction[11]}{type=\format}{option=\option_reaccent}
252
\answer{\rep_compose[12]}{\traduction[12]}{type=\format}{option=\option_reaccent}
253
\answer{\rep_compose[13]}{\traduction[13]}{type=\format}{option=\option_reaccent}
254
\answer{\rep_compose[14]}{\traduction[14]}{type=\format}{option=\option_reaccent}
255
\answer{\rep_compose[15]}{\traduction[15]}{type=\format}{option=\option_reaccent}
256
\answer{\rep_compose[16]}{\traduction[16]}{type=\format}{option=\option_reaccent}
257
\answer{\rep_compose[17]}{\traduction[17]}{type=\format}{option=\option_reaccent}
258
\answer{\rep_compose[18]}{\traduction[18]}{type=\format}{option=\option_reaccent}
259
\answer{\rep_compose[19]}{\traduction[19]}{type=\format}{option=\option_reaccent}
260
\answer{\rep_compose[20]}{\traduction[20]}{type=\format}{option=\option_reaccent}
261