Subversion Repositories wimsdev

Rev

Rev 7828 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
7828 bpr 1
% TOEF 1.0 type1
2
% This file is automatically generated. Do not edit by hand!
3
% Generated by WIMS-Createxo toef-generator.
4
 
5
% {
6
toef_varcnt=20
7
toef_var1=createQCMtype1et2
8
toef_var2=Joachim YAMEOGO
9
toef_var3=yameogo@math.unice.fr
10
toef_var4=3
11
toef_var5=(\(f(x)=1-\frac{1}{x+1}))¶(\(f(x)=\sin(\frac{\pi}{\pi x+2})))¶(\(f(x)=1-\ln(\frac{x+1}{x+5})))¶(\(f(x)=1+e^{-x}))
12
toef_var6=minorée¶majorée¶décroissante¶croissante¶<span style="color:magenta">Choix vide</span>
13
toef_var7=1,2,4¶1,2,3¶1,2,3¶1,2,3
14
toef_var8=2
15
toef_var9=
16
toef_var10=
17
toef_var11=
18
toef_var12=random(2..4)
19
toef_var13=(la limite de \(f) &nbsp; en \(+\infty))¶(la valeur de \(f) &nbsp; en 0)
20
toef_var14=(1),(0)¶(0),(1)¶(1),(1+log(5))¶(1),(2)
21
toef_var15=2, 2
22
toef_var16=<table style="background-color:lightblue;width:80%">¶  <tr>¶    <td>¶      On considère la fonction réelle \(f) définie sur \(\RR^{+}) par \obj.¶      <p style="background-color:moccasin">¶      Dans la liste suivante, cochez toutes les propiétés vérifiées par la fonction  ¶      \(f) et calculer \fonc.¶      </p>¶    </td>¶  </tr>¶</table>
23
toef_var17=(1,Dresser un tableau de variation.)¶(1,Etudier le signe de la dérivée sur \(\RR^{+}).)¶(1,Dresser un tableau de variation.)¶(1,Dresser un tableau de variation.)
24
toef_var18=(1,Utiliser les notes de cours.),(1,Remplacer <em>x</em> par 0 dans la formule.)¶(1,Vers quoi tend \(\sin(\frac{\pi}{\pi x+2}))&#63;),(0,0)¶(1,Utiliser les notes de cours.),(0,0)¶(0,0),(0,0)
25
toef_var19=checkbox
26
toef_var20=default,default
27
!exit
28
% }
29
 
30
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
31
%%%%%%%%%%%%%%%%% END  OF  TOEF HEADER %%%%%%%%%%%%%%%%%
32
%%%%%%%%%%%%%%%%% The following is OEF %%%%%%%%%%%%%%%%%
33
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
34
 
35
## identifiants de l'exercice: titre, auteur et format
36
\title{
37
createQCMtype1et2
38
}
39
\author{
40
Joachim YAMEOGO
41
}
42
\email{
43
yameogo@math.unice.fr
44
}
45
\langage{fr}
46
\format{html}
47
\computeanswer{yes}
48
\precision{10000}
49
 
50
## type qcm de l'exo
51
\integer{
52
exo=
53
3
54
}
55
 
56
## la liste des objets mathématiques
57
\matrix{
58
obsList=
59
wims(replace internal ? by &#63; in (\(f(x)=1-\frac{1}{x+1}))
60
(\(f(x)=\sin(\frac{\pi}{\pi x+2})))
61
(\(f(x)=1-\ln(\frac{x+1}{x+5})))
62
(\(f(x)=1+e^{-x})))
63
}
64
\integer{obsnb=wims(rowcnt \obsList)}
65
 
66
## la liste des proriétés éventuelles
67
\matrix{
68
propsList=
69
wims(replace internal ? by &#63; in minorée
70
majorée
71
décroissante
72
croissante
73
<span style="color:magenta">Choix vide</span>)
74
}
75
\integer{propsnb=wims(rowcnt \propsList)-1}
76
 
77
## liste des bonnes réponses par objet
78
\matrix{
79
propsrepList=
80
wims(replace internal ? by &#63; in 1,2,4
81
1,2,3
82
1,2,3
83
1,2,3)
84
}
85
 
86
## nombre de possibilités à afficher
87
\integer{
88
ckchnb=
89
2
90
}
91
\integer{
92
fixchnb=
93
 
94
}
95
\integer{
96
borng=
97
 
98
}
99
\integer{
100
bornd=
101
 
102
}
103
\integer{
104
chnb=
105
random(2..4)
106
}
107
 
108
## la liste des fonctions
109
\matrix{
110
foncsList=
111
wims(replace internal ? by &#63; in (la limite de \(f) &nbsp; en \(+\infty))
112
(la valeur de \(f) &nbsp; en 0))
113
}
114
\integer{foncsnb=wims(rowcnt \foncsList)}
115
 
116
## liste des bonnes réponses par objet
117
\matrix{
118
foncsrepList=
119
wims(replace internal ? by &#63; in (1),(0)
120
(0),(1)
121
(1),(1+log(5))
122
(1),(2))
123
}
124
 
125
## référence pour le type des fonctions
126
\text{
127
foncstypList=
128
2, 2
129
}
130
 
131
## couleurs de fond
132
\text{bg=lavender,lemonchiffon,azure}
133
 
134
## nombre de lignes pour l'affichage de 2 colonnes de la liste des propriétés
135
\integer{rowsnb=floor((\chnb+1)/2)}
136
\integer{extrarow=((\chnb+1)%2)}
137
 
138
## choix aléatoire d'un objet
139
\integer{objn=random(1..\obsnb)}
140
\text{obj=\obsList[\objn;]}
141
\text{obj=wims(char 2 to -2 of \obj)}
142
 
143
## choix aléatoire d'une fonction
144
\integer{foncn=random(1..\foncsnb)}
145
\text{fonc=wims(trim \foncsList[\foncn;])}
146
\text{fonc=wims(char 2 to -2 of \fonc)}
147
 
148
## la bonne réponse initiale pour les propriétés
149
\text{props=\propsrepList[\objn;]}
150
 
151
## la bonne solution pour la valeur de la fonction
152
\text{resu=wims(trim \foncsrepList[\objn;\foncn])}
153
\text{resu=wims(char 2 to -2 of \resu)}
154
 
155
\text{rep2=<b><span class="bold" style="color:darkcyan">Valeur trouvée:</font></b>}
156
 
157
## génération de la liste des propriétés à afficher
158
\text{pafnbs=shuffle(\propsnb)}
159
\text{pafnbs=wims(item 1 to \chnb of \pafnbs)}
160
## inutile de réordonner avec "text{pafnbs=wims(sort numeric item \pafnbs)}"
161
\integer{nbp=\propsnb+1}
162
\text{pafnbs=wims(append item \nbp to \pafnbs)}
163
 
164
\text{paf=}
165
\for{i in \pafnbs}{
166
\text{paf=wims(append line \propsList[\i;] to \paf)}
167
}
168
\matrix{paf=\paf}
169
 
170
\integer{chnbp=\chnb+1}
171
\text{propsorder=wims(values i for i=1 to \chnbp)}
172
 
173
## ce qu'il faudra choisir pour avoir juste
174
\text{brep=wims(listintersect \props and \pafnbs)}
175
\integer{brepnb=wims(itemcnt \brep)}
176
 
177
\if{\brepnb=0}{
178
\text{ansrep=\chnbp}}{
179
\text{ansrep=}
180
\for{i in \brep}{
181
\text{situ=position(\i,\pafnbs)}
182
\text{ansrep=wims(append item \situ to \ansrep)}
183
}
184
}
185
\text{ansrep=wims(sort numeric item \ansrep)}
186
\text{rep1=Les propriétés de \obj}
187
 
188
## numérotation des éléments des colonnes
189
\text{c1=wims(values i for i=1 to \rowsnb)}
190
\text{c2=wims(values \rowsnb+i for i=1 to \rowsnb)}
191
 
192
## énoncé saisi en ligne
193
\text{
194
enonceR=
195
<table style="background-color:lightblue;width:80%">
196
  <tr>
197
    <td>
198
      On considère la fonction réelle \(f) définie sur \(\RR^{+}) par \obj.
199
      <p style="background-color:moccasin">
17280 bpr 200
      Dans la liste suivante, cochez toutes les propiétés vérifiées par la fonction
7828 bpr 201
      \(f) et calculer \fonc.
202
      </p>
203
    </td>
204
  </tr>
205
</table>
206
}
207
 
208
## toutes les indications pour les propriétés
209
\matrix{
210
indicList_obj=
211
wims(replace internal ? by &#63; in (1,Dresser un tableau de variation.)
212
(1,Etudier le signe de la dérivée sur \(\RR^{+}).)
213
(1,Dresser un tableau de variation.)
214
(1,Dresser un tableau de variation.))
215
}
216
 
217
## toutes les indications pour les fonctions
218
\matrix{
219
indicList_fonc=
220
wims(replace internal ? by &#63; in (1,Utiliser les notes de cours.),(1,Remplacer <em>x</em> par 0 dans la formule.)
221
(1,Vers quoi tend \(\sin(\frac{\pi}{\pi x+2}))?),(0,0)
222
(1,Utiliser les notes de cours.),(0,0)
223
(0,0),(0,0))
224
}
225
 
226
## liste des types des fonctions
227
\text{
228
type2f=default,default
229
}
230
\integer{tyn=1+\foncstypList[\foncn]}
231
\text{stepvar=reply  1, reply \tyn}
232
\nextstep{\stepvar}
233
 
234
## lorsqu'il s'agit d'une matrice
235
\if{\type2f[\foncn]=matrix}{
236
    \matrix{resu=wims(declosing \resu)}
237
   }
238
 
239
## détection de l'indication pour l'objet choisi
240
\text{com=wims(trim \indicList_obj[\objn;])}
241
\text{com=wims(char 4 to -2 of \com)}
242
\text{com=wims(trim \com)}
243
\integer{comN_1=wims(charcnt \com)}
244
 
245
## indication pour la fonction choisie
246
\text{temp_indic=wims(trim \indicList_fonc[\objn;\foncn])}
247
\text{temp_indic=wims(char 4 to -2 of \temp_indic)}
248
\text{temp_indic=wims(trim \temp_indic)}
249
\integer{comN_2=wims(charcnt \temp_indic)}
250
 
251
## ici on donne l'énoncé de l'exercice
252
\statement{
253
\enonceR
254
  <table class="wimscenter style="background-color:darkcyan">
255
    \for{k=1 to \rowsnb}{
256
    <tr>
257
      <td style="background-color:\bg[(2*\k-1)%3+1]; text-align:left;">
258
        <table>
259
	  <tr>
260
	    <td style="background-color:sandybrown">
17280 bpr 261
	      \embed{reply 1,\c1[\k]}
7828 bpr 262
	    </td>
263
	    <td>
264
	     \paf[\k;]
265
	    </td>
266
	  </tr>
267
	</table>
268
      </td>
269
      <td style="background-color:\bg[(2*\k)%3+1]; text-align:left;">
270
        <table>
271
	  <tr>
272
	    <td style="background-color:sandybrown">
17280 bpr 273
              \embed{reply 1,\c2[\k]}
7828 bpr 274
	    </td>
275
	    <td>
276
	     \paf[(\k+\rowsnb);]
277
	    </td>
278
	  </tr>
279
	</table>
280
      </td>
281
    </tr>
282
    }
283
    \if{\extrarow<>0}{
284
    <tr>
285
      <td style="background-color:\bg[\chnbp%3+1]" colspan="2">
286
        <table>
287
	  <tr>
288
	    <td style="background-color:sandybrown">
17280 bpr 289
	      \embed{reply 1,\chnbp}
7828 bpr 290
	    </td>
17280 bpr 291
	    <td>
7828 bpr 292
              \paf[\chnbp;]
293
	    </td>
294
	  </tr>
295
	</table>
296
      </td>
297
    </tr>
298
    }
299
  </table>
17280 bpr 300
 
7828 bpr 301
  <table>
302
    <tr>
303
      <td>
17280 bpr 304
        \rep2
7828 bpr 305
      </td>
306
      <td>
307
       \embed{reply \tyn}
308
      </td>
309
    </tr>
310
  </table>
311
 
312
}
313
 
314
## champ de soumission et analyse de la réponse
315
\reply{\rep1}{\ansrep;\propsorder}{type=checkbox}
316
\answer{\rep2}{\resu}{type=default}
317
\answer{\rep2}{\resu}{type=default}
318
\answer{\rep2}{\resu}{type=default}
319
\answer{\rep2}{\resu}{type=default}
320
\answer{\rep2}{\resu}{type=set}
321
\answer{\rep2}{\resu}{type=fset}
322
\answer{\rep2}{\resu}{type=vector}
323
\answer{\rep2}{\resu}{type=function}
324
\answer{\rep2}{\resu}{type=algexp}
325
\answer{\rep2}{\resu}{type=formal}
326
\answer{\rep2}{\resu}{type=matrix}
327
 
328
 
329
## indications éventuelles
330
\hint{
331
  <div style="background-color:moccasin;width:80%">
332
  \if{\comN_1>1 and \comN_2>1}{
333
      <b>A propos des propriétés</b>. \com
17280 bpr 334
      <hr>
7828 bpr 335
      <b>A propos de la valeur à trouver</b>.
336
      \temp_indic
337
      }
17280 bpr 338
 
7828 bpr 339
  \if{\comN_1>1 and \comN_2=1}{
340
      <b>A propos des propriétés</b>. \com
17280 bpr 341
      <hr>
7828 bpr 342
      <b>A propos de la valeur à trouver</b>.
343
      <font color=magenta><span class="tt">Désolé: il n'y a pas d'indication.</span></font>
344
      }
17280 bpr 345
 
7828 bpr 346
  \if{\comN_1=1 and \comN_2>1}{
17280 bpr 347
      <b>A propos des propriétés</b>.
7828 bpr 348
      <font color=magenta><span class="tt">Désolé: il n'y a pas d'indication.</span></font>
17280 bpr 349
      <hr>
7828 bpr 350
      <b>A propos de la valeur à trouver</b>.
351
      \temp_indic
352
      }
17280 bpr 353
 
7828 bpr 354
  \if{\comN_1=1 and \comN_2=1}{
17280 bpr 355
      <b>A propos des propriétés</b>.
7828 bpr 356
      <font color=magenta><span class="tt">Désolé: il n'y a pas d'indication.</span></font>
17280 bpr 357
      <hr>
7828 bpr 358
      <b>A propos de la valeur à trouver</b>.
359
      <font color=magenta><span class="tt">Désolé: il n'y a pas d'indication.</span></font>
360
      }
361
  </div>
17280 bpr 362
 
363
}