Subversion Repositories wimsdev

Rev

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

Rev Author Line No. Line
15107 mquerol 1
 
2
<h2 class="wimscenter">Paramètres aléatoires dans un exercice interactif</h2>
6133 bpr 3
<p>
15107 mquerol 4
L'utilisation de paramètres aléatoires rendra votre exercice beaucoup
5
plus intéressant, car ce sera un exercice différent chaque fois qu'il est
6
redemandé.
6133 bpr 7
</p><p>
15107 mquerol 8
Par exemple, la ligne suivante définit un paramètre sous le nom de
9
<span class="tt wims_code_variable">x1</span>, dont la valeur sera un entier aléatoire entre
10
-10 et 10 (inclusif)&nbsp;:
11
</p><pre>
12
\integer{x1=random(-10..10)}
13
</pre>
14
Ce paramètre aléatoire peut ensuite être invoqué par le mot
15
<b><span class="tt wims_code_variable">\x1</span></b>, dans l'énoncé, les réponses, l'indication et la solution.
16
C'est-à-dire, chaque mot <span class="tt wims_code_variable">\x1</span> dans ces textes
17
sera remplacé par la valeur aléatoire
18
du paramètre. Cette substitution prend aussi effet dans les définitions
19
d'autres paramètres qui suivent celle de <span class="tt wims_code_words">x1</span>.
20
<p>
21
Supposons maintenant que vous avez entré
6133 bpr 22
</p>
23 reyssat 23
<pre>
24
\integer{x1=random(-10..10)}
25
\integer{y1=\x1+3}
26
</pre>
15107 mquerol 27
dans le champ de la définition de paramètre, et la question
23 reyssat 28
<pre>
15107 mquerol 29
Calculez la multiplication de \x1 par \y1.
23 reyssat 30
</pre>
15107 mquerol 31
<p>dans l'énoncé de l'exercice. Supposons que sur une demande de l'exercice,
32
une valeur aléatoire <span class="tt wims_code_variable">-7</span> est attribuée à \x1. Alors
33
le paramètre suivant \y1 prendra la valeur -4, et l'énoncé de l'exercice
34
sera présenté sous la forme
35
</p><p class="wimscenter">Calculez la multiplication de -7 par -4.
36
</p>
37
Vous pouvez ensuite définir une réponse numérique au nom de <span class="tt">Le
38
produit</span>, ayant pour bonne solution <span class="tt">(\x1)*(\y1)</span>. (Remarquez
39
qu'ici les parenthèses sont nécessaires car la substitution se fera de façon
40
littérale.)
5912 bpr 41
<a id="list"></a>
23 reyssat 42
!if oefparm isitemof $special_parm
43
 !changeto help/oefparm.phtml
44
!endif
17472 lemaire 45
$table_header
15107 mquerol 46
<caption>Quelques autres exemples de paramètres
47
!href cmd=help&special_parm=$special_parm,oefparm#list [liste complète]
23 reyssat 48
</caption>
15107 mquerol 49
$table_hdtr<th>Définition</th><th>Effet</th></tr>
6133 bpr 50
$table_tr<td class="tt wims_code_words">\real{x=random(-5..5)}
17348 bpr 51
    </td><td>\x sera un nombre réel aléatoire<br>entre -5 et 5
5947 bpr 52
</td></tr>
17472 lemaire 53
$table_tr<td class="tt wims_code_words">\real{a=randitem(-5,-3,0.3,4)}
17348 bpr 54
    </td><td>\a sera un nombre réel pris aléatoirement<br>parmi -5,-3,0.3 et 4
5947 bpr 55
</td></tr>
6133 bpr 56
$table_tr<td class="tt wims_code_words">\complex{z=(1+2*i)^3}
15107 mquerol 57
    </td><td>\z sera le nombre complexe z=(1+2*i)^3
5947 bpr 58
</td></tr>
17472 lemaire 59
$table_tr<td class="tt wims_code_words">\text{sign=randitem(+,-)}
15107 mquerol 60
    </td><td>\sign sera un signe aléatoire: + ou -
5947 bpr 61
</td></tr>
6133 bpr 62
$table_tr<td class="tt wims_code_words">\integer{n=3*exp(\a)}
17348 bpr 63
    </td><td>\n sera l'entier le plus proche de 3*e<sup>\a</sup> <br>(il dépend de la
15107 mquerol 64
    valeur de \a)
5947 bpr 65
</td></tr>
17472 lemaire 66
$table_tr<td class="tt wims_code_words">\function{f=randitem(x^2+1,sin(x),log(x))}
17348 bpr 67
    </td><td>\f sera une fonction aléatoire: soit x^2+1,<br>soit sin(x), soit
23 reyssat 68
    log(x)
5947 bpr 69
</td></tr>
6133 bpr 70
$table_tr<td class="tt wims_code_words">\real{a=evalue(x^2+sin(y),x=3,y=4)}
17348 bpr 71
    </td><td>Evaluation de la fonction x^2+sin(y),<br>
15107 mquerol 72
    pour x=3, y=4
5947 bpr 73
</td></tr>
6133 bpr 74
$table_tr<td class="tt wims_code_words">\real{r=solve(x^3-3*x+1,x=0..1)}
15107 mquerol 75
    </td><td>\r sera la racine simple de x^3-3x+1 entre 0 et 1
5947 bpr 76
</td></tr>
6133 bpr 77
$table_tr<td class="tt wims_code_words">\function{h=simplify(x^5*y^3*x^2/y)}
15107 mquerol 78
    </td><td>Expression simplifiée : x<sup>7</sup>y<sup>2</sup>
5947 bpr 79
</td></tr>
6133 bpr 80
$table_tr<td class="tt wims_code_words">\function{g=diff(sin(x)+cos(y),x)}
15107 mquerol 81
    </td><td>\g sera la dérivée de sin(x)+cos(y) par rapport à x
5947 bpr 82
</td></tr>
6133 bpr 83
$table_tr<td class="tt wims_code_words">\function{F=int(x^2+3*x+1,x)}
17348 bpr 84
    </td><td>\F sera une primitive de x^2+3*x+1,<br>
15107 mquerol 85
     le terme constant n'étant pas garanti d'être toujours le même
17472 lemaire 86
!!$table_tr<td class="wims_code_words">\function{F=int(t^2+3*t+1,t=1..x)}
15107 mquerol 87
!!    <td>\F sera la primitive x^2+3*x+1 telle que g(1)=0
5947 bpr 88
</td></tr>
6133 bpr 89
$table_tr<td class="tt wims_code_words">\real{a=int(t^2+3*t+1,t=0..1)}
15107 mquerol 90
    </td><td>\a sera l'intégrale numérique de x^2+3*x+1, de 0 à 1
5947 bpr 91
</td></tr>
6133 bpr 92
$table_tr<td class="tt wims_code_words">\text{f=htmlmath(2*x^2+3*x)}
15107 mquerol 93
    </td><td>\f sera rendu en html comme: 2x<sup>2</sup>+3x
5947 bpr 94
</td></tr>
6133 bpr 95
$table_tr<td class="tt wims_code_words">\text{f=texmath(2*x^2+3*x)}
15107 mquerol 96
    </td><td>\f sera le source TeX de l'expression.
5947 bpr 97
</td></tr>
6133 bpr 98
$table_tr<td class="tt wims_code_words">\integer{n=items(a,b,c,d,e,f)}
15107 mquerol 99
    </td><td>\n sera le nombre d'articles (ici c'est 6) dans la liste
23 reyssat 100
     {a,b,c,d,e,f}
5947 bpr 101
</td></tr>
6133 bpr 102
$table_tr<td class="tt wims_code_words">\text{i=item(3,a,b,c,d,e,f)}
15107 mquerol 103
    </td><td>\i sera l'article numéro 3 de la liste
104
     {a,b,c,d,e,f} (donc c).
5947 bpr 105
</td></tr>
6133 bpr 106
$table_tr<td class="tt wims_code_words">\text{s=shuffle(6)}
15107 mquerol 107
    </td><td>\s sera la liste des 6 entiers 1,2,...,6, dans un ordre aléatoire.
5947 bpr 108
</td></tr>
6133 bpr 109
$table_tr<td class="tt wims_code_words">\text{s=shuffle(a,b,c,d,e)}
15107 mquerol 110
    </td><td>\s sera les lettres {a,b,c,d,e} dans un ordre aléatoire.
5947 bpr 111
</td></tr>
17472 lemaire 112
$table_tr<td class="wims_code_words">\matrix{m=1,2,3<br>4,5,6<br>7,8,9}
15107 mquerol 113
    </td><td>\m sera la matrice de 3 lignes et 3 colonnes.
5947 bpr 114
</td></tr>
15107 mquerol 115
$table_tr<td class="tt wims_code_words">\text{t=asis(Comment ça va ? matrix(1,2,3))}
17472 lemaire 116
    </td><td>\t est la chaîne comme elle est écrite, <br>sans transformation ni conditionalité.
117
</td></tr>
5947 bpr 118
$table_end
23 reyssat 119
 
15107 mquerol 120
Paramètres conditionnels&nbsp;: vous pouvez écrire
4091 bpr 121
<pre>
122
\text{ttt=_condition?_def1}
123
\text{ttt=_condition?_def1:_def2}
124
</pre>
23 reyssat 125
<p>
15107 mquerol 126
Dans ce cas, <span class="tt wims_code_words">ttt</span> aura la valeur <span class="tt wims_code_words">_def1</span> si
127
<span class="tt wims_code_words">_condition</span> s'avère vraie, ou <span class="tt wims_code_words">_def2</span> sinon (dans la seconde
128
syntaxe).
129
!href target=wims_mhelp cmd=help&special_parm=if Liste de conditions
5947 bpr 130
</p><p>
15107 mquerol 131
La position relative d'une définition par rapport à l'énoncé est
132
importante&nbsp;: si une variable est définie APRÈS l'énoncé, l'évaluation
133
de la variable aura lieu uniquement APRÈS que l'utilisateur ait répondu à
134
la question. Dans ce cas, la définition peut utiliser les réponses données
135
par l'utilisateur, via <span class="tt wims_code_variable">\reply1</span>, <span class="tt wims_code_variable">\reply2</span>, etc. Et la
136
variable ainsi définie peut être utilisée dans les conditions
137
de test ou les feedbacks.
138
</p>