File: parameters.phtml

package info (click to toggle)
wims 2%3A4.29a%2Bdfsg1-3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 185,704 kB
  • sloc: xml: 366,687; javascript: 120,570; ansic: 62,341; java: 62,170; sh: 7,744; perl: 3,937; yacc: 3,217; cpp: 1,915; lex: 1,805; makefile: 1,084; lisp: 914; pascal: 601; python: 520; php: 318; asm: 7
file content (138 lines) | stat: -rw-r--r-- 6,298 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138

<h2 class="wimscenter">Paramtres alatoires dans un exercice interactif</h2>
<p>
L'utilisation de paramtres alatoires rendra votre exercice beaucoup
plus intressant, car ce sera un exercice diffrent chaque fois qu'il est
redemand.
</p><p>
Par exemple, la ligne suivante dfinit un paramtre sous le nom de
<span class="tt wims_code_variable">x1</span>, dont la valeur sera un entier alatoire entre
-10 et 10 (inclusif)&nbsp;:
</p><pre>
\integer{x1=random(-10..10)}
</pre>
Ce paramtre alatoire peut ensuite tre invoqu par le mot
<b><span class="tt wims_code_variable">\x1</span></b>, dans l'nonc, les rponses, l'indication et la solution.
C'est--dire, chaque mot <span class="tt wims_code_variable">\x1</span> dans ces textes
sera remplac par la valeur alatoire
du paramtre. Cette substitution prend aussi effet dans les dfinitions
d'autres paramtres qui suivent celle de <span class="tt wims_code_words">x1</span>.
<p>
Supposons maintenant que vous avez entr
</p>
<pre>
\integer{x1=random(-10..10)}
\integer{y1=\x1+3}
</pre>
dans le champ de la dfinition de paramtre, et la question
<pre>
Calculez la multiplication de \x1 par \y1.
</pre>
<p>dans l'nonc de l'exercice. Supposons que sur une demande de l'exercice,
une valeur alatoire <span class="tt wims_code_variable">-7</span> est attribue  \x1. Alors
le paramtre suivant \y1 prendra la valeur -4, et l'nonc de l'exercice
sera prsent sous la forme
</p><p class="wimscenter">Calculez la multiplication de -7 par -4.
</p>
Vous pouvez ensuite dfinir une rponse numrique au nom de <span class="tt">Le
produit</span>, ayant pour bonne solution <span class="tt">(\x1)*(\y1)</span>. (Remarquez
qu'ici les parenthses sont ncessaires car la substitution se fera de faon
littrale.)
<a id="list"></a>
!if oefparm isitemof $special_parm
 !changeto help/oefparm.phtml
!endif
$table_header
<caption>Quelques autres exemples de paramtres
!href cmd=help&special_parm=$special_parm,oefparm#list [liste complte]
</caption>
$table_hdtr<th>Dfinition</th><th>Effet</th></tr>
$table_tr<td class="tt wims_code_words">\real{x=random(-5..5)}
    </td><td>\x sera un nombre rel alatoire<br>entre -5 et 5
</td></tr>
$table_tr<td class="tt wims_code_words">\real{a=randitem(-5,-3,0.3,4)}
    </td><td>\a sera un nombre rel pris alatoirement<br>parmi -5,-3,0.3 et 4
</td></tr>
$table_tr<td class="tt wims_code_words">\complex{z=(1+2*i)^3}
    </td><td>\z sera le nombre complexe z=(1+2*i)^3
</td></tr>
$table_tr<td class="tt wims_code_words">\text{sign=randitem(+,-)}
    </td><td>\sign sera un signe alatoire: + ou -
</td></tr>
$table_tr<td class="tt wims_code_words">\integer{n=3*exp(\a)}
    </td><td>\n sera l'entier le plus proche de 3*e<sup>\a</sup> <br>(il dpend de la
    valeur de \a)
</td></tr>
$table_tr<td class="tt wims_code_words">\function{f=randitem(x^2+1,sin(x),log(x))}
    </td><td>\f sera une fonction alatoire: soit x^2+1,<br>soit sin(x), soit
    log(x)
</td></tr>
$table_tr<td class="tt wims_code_words">\real{a=evalue(x^2+sin(y),x=3,y=4)}
    </td><td>Evaluation de la fonction x^2+sin(y),<br>
    pour x=3, y=4
</td></tr>
$table_tr<td class="tt wims_code_words">\real{r=solve(x^3-3*x+1,x=0..1)}
    </td><td>\r sera la racine simple de x^3-3x+1 entre 0 et 1
</td></tr>
$table_tr<td class="tt wims_code_words">\function{h=simplify(x^5*y^3*x^2/y)}
    </td><td>Expression simplifie : x<sup>7</sup>y<sup>2</sup>
</td></tr>
$table_tr<td class="tt wims_code_words">\function{g=diff(sin(x)+cos(y),x)}
    </td><td>\g sera la drive de sin(x)+cos(y) par rapport  x
</td></tr>
$table_tr<td class="tt wims_code_words">\function{F=int(x^2+3*x+1,x)}
    </td><td>\F sera une primitive de x^2+3*x+1,<br>
     le terme constant n'tant pas garanti d'tre toujours le mme
!!$table_tr<td class="wims_code_words">\function{F=int(t^2+3*t+1,t=1..x)}
!!    <td>\F sera la primitive x^2+3*x+1 telle que g(1)=0
</td></tr>
$table_tr<td class="tt wims_code_words">\real{a=int(t^2+3*t+1,t=0..1)}
    </td><td>\a sera l'intgrale numrique de x^2+3*x+1, de 0  1
</td></tr>
$table_tr<td class="tt wims_code_words">\text{f=htmlmath(2*x^2+3*x)}
    </td><td>\f sera rendu en html comme: 2x<sup>2</sup>+3x
</td></tr>
$table_tr<td class="tt wims_code_words">\text{f=texmath(2*x^2+3*x)}
    </td><td>\f sera le source TeX de l'expression.
</td></tr>
$table_tr<td class="tt wims_code_words">\integer{n=items(a,b,c,d,e,f)}
    </td><td>\n sera le nombre d'articles (ici c'est 6) dans la liste
     {a,b,c,d,e,f}
</td></tr>
$table_tr<td class="tt wims_code_words">\text{i=item(3,a,b,c,d,e,f)}
    </td><td>\i sera l'article numro 3 de la liste
     {a,b,c,d,e,f} (donc c).
</td></tr>
$table_tr<td class="tt wims_code_words">\text{s=shuffle(6)}
    </td><td>\s sera la liste des 6 entiers 1,2,...,6, dans un ordre alatoire.
</td></tr>
$table_tr<td class="tt wims_code_words">\text{s=shuffle(a,b,c,d,e)}
    </td><td>\s sera les lettres {a,b,c,d,e} dans un ordre alatoire.
</td></tr>
$table_tr<td class="wims_code_words">\matrix{m=1,2,3<br>4,5,6<br>7,8,9}
    </td><td>\m sera la matrice de 3 lignes et 3 colonnes.
</td></tr>
$table_tr<td class="tt wims_code_words">\text{t=asis(Comment a va ? matrix(1,2,3))}
    </td><td>\t est la chane comme elle est crite, <br>sans transformation ni conditionalit.
</td></tr>
$table_end

Paramtres conditionnels&nbsp;: vous pouvez crire
<pre>
\text{ttt=_condition?_def1}
\text{ttt=_condition?_def1:_def2}
</pre>
<p>
Dans ce cas, <span class="tt wims_code_words">ttt</span> aura la valeur <span class="tt wims_code_words">_def1</span> si
<span class="tt wims_code_words">_condition</span> s'avre vraie, ou <span class="tt wims_code_words">_def2</span> sinon (dans la seconde
syntaxe).
!href target=wims_mhelp cmd=help&special_parm=if Liste de conditions
</p><p>
La position relative d'une dfinition par rapport  l'nonc est
importante&nbsp;: si une variable est dfinie APRS l'nonc, l'valuation
de la variable aura lieu uniquement APRS que l'utilisateur ait rpondu 
la question. Dans ce cas, la dfinition peut utiliser les rponses donnes
par l'utilisateur, via <span class="tt wims_code_variable">\reply1</span>, <span class="tt wims_code_variable">\reply2</span>, etc. Et la
variable ainsi dfinie peut tre utilise dans les conditions
de test ou les feedbacks.
</p>