Rev 11270 | Rev 17348 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
3681 | bpr | 1 | |
11271 | bpr | 2 | <h2 class="wimscenter">Paramètres aléatoires dans un exercice interactif</h2> |
6587 | bpr | 3 | <p> |
23 | reyssat | 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é. |
||
5872 | bpr | 7 | </p><p> |
23 | reyssat | 8 | Par exemple, la ligne suivante définit un paramètre sous le nom de |
11270 | bpr | 9 | <span class="tt wims_code_variable">x1</span>, dont la valeur sera un entier aléatoire entre |
23 | reyssat | 10 | -10 et 10 (inclusif) : |
11270 | bpr | 11 | </p><pre> |
23 | reyssat | 12 | \integer{x1=random(-10..10)} |
13 | </pre> |
||
4091 | bpr | 14 | Ce paramètre aléatoire peut ensuite être invoqué par le mot |
5903 | bpr | 15 | <b><span class="tt wims_code_variable">\x1</span></b>, dans l'énoncé, les réponses, l'indication et la solution. |
11270 | bpr | 16 | C'est-à-dire, chaque mot <span class="tt wims_code_variable">\x1</span> dans ces textes |
23 | reyssat | 17 | sera remplacé par la valeur aléatoire |
18 | du paramètre. Cette substitution prend aussi effet dans les définitions |
||
5903 | bpr | 19 | d'autres paramètres qui suivent celle de <span class="tt wims_code_words">x1</span>. |
23 | reyssat | 20 | <p> |
21 | Supposons maintenant que vous avez entré |
||
5947 | bpr | 22 | </p> |
23 | reyssat | 23 | <pre> |
24 | \integer{x1=random(-10..10)} |
||
25 | \integer{y1=\x1+3} |
||
26 | </pre> |
||
27 | dans le champ de la définition de paramètre, et la question |
||
28 | <pre> |
||
29 | Calculez la multiplication de \x1 par \y1. |
||
30 | </pre> |
||
5947 | bpr | 31 | <p>dans l'énoncé de l'exercice. Supposons que sur une demande de l'exercice, |
11270 | bpr | 32 | une valeur aléatoire <span class="tt wims_code_variable">-7</span> est attribuée à \x1. Alors |
23 | reyssat | 33 | le paramètre suivant \y1 prendra la valeur -4, et l'énoncé de l'exercice |
11270 | bpr | 34 | sera présenté sous la forme |
35 | </p><p class="wimscenter">Calculez la multiplication de -7 par -4. |
||
5755 | bpr | 36 | </p> |
5903 | bpr | 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 |
||
23 | reyssat | 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 |
||
11270 | bpr | 45 | >$table_header |
23 | reyssat | 46 | <caption>Quelques autres exemples de paramètres |
47 | !href cmd=help&special_parm=$special_parm,oefparm#list [liste complète] |
||
48 | </caption> |
||
74 | bpr | 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)} |
5755 | bpr | 51 | </td><td>\x sera un nombre réel aléatoire<br/>entre -5 et 5 |
5947 | bpr | 52 | </td></tr> |
6133 | bpr | 53 | $table_tr<td class="tt wims_code_words">\real{a=random(-5,-3,0.3,4)} |
5755 | bpr | 54 | </td><td>\a sera un nombre réel pris aléatoirement<br/>parmi -5,-3,0.3 et 4 |
11270 | bpr | 55 | </td></tr> |
6133 | bpr | 56 | $table_tr<td class="tt wims_code_words">\complex{z=(1+2*i)^3} |
74 | bpr | 57 | </td><td>\z sera le nombre complexe z=(1+2*i)^3 |
5947 | bpr | 58 | </td></tr> |
6133 | bpr | 59 | $table_tr<td class="tt wims_code_words">\text{sign=random(+,-)} |
74 | bpr | 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)} |
5755 | bpr | 63 | </td><td>\n sera l'entier le plus proche de 3*e<sup>\a</sup> <br/>(il dépend de la |
23 | reyssat | 64 | valeur de \a) |
5947 | bpr | 65 | </td></tr> |
5755 | bpr | 66 | $table_tr<td><tt class="wims_code_words">\function{f=random<br/>(x^2+1,sin(x),log(x))}</tt> |
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)} |
5755 | bpr | 71 | </td><td>Evaluation de la fonction x^2+sin(y),<br/> |
23 | reyssat | 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)} |
74 | bpr | 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)} |
74 | bpr | 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)} |
74 | bpr | 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)} |
5755 | bpr | 84 | </td><td>\F sera une primitive de x^2+3*x+1,<br/> |
23 | reyssat | 85 | le terme constant n'étant pas garanti d'être toujours le même |
4091 | bpr | 86 | !!$table_tr<td><tt class="wims_code_words">\function{F=int(t^2+3*t+1,t=1..x)} |
23 | reyssat | 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)} |
74 | bpr | 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)} |
74 | bpr | 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)} |
74 | bpr | 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)} |
74 | bpr | 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)} |
74 | bpr | 103 | </td><td>\i sera l'article numéro 3 de la liste |
23 | reyssat | 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)} |
74 | bpr | 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)} |
74 | bpr | 110 | </td><td>\s sera les lettres {a,b,c,d,e} dans un ordre aléatoire. |
5947 | bpr | 111 | </td></tr> |
5755 | bpr | 112 | $table_tr<td><tt class="wims_code_words">\matrix{m=1,2,3<br/>4,5,6<br/>7,8,9}</tt> |
74 | bpr | 113 | </td><td>\m sera la matrice de 3 lignes et 3 colonnes. |
5947 | bpr | 114 | </td></tr> |
6133 | bpr | 115 | $table_tr<td class="tt wims_code_words">\text{t=asis(Comment ça va ? matrix(1,2,3))} |
5755 | bpr | 116 | </td><td>\t est la chaîne comme elle est écrite, <br/>sans transformation ni conditionalité.</td> |
117 | </tr> |
||
5947 | bpr | 118 | $table_end |
23 | reyssat | 119 | |
11270 | bpr | 120 | Paramètres conditionnels : vous pouvez écrire |
4091 | bpr | 121 | <pre> |
122 | \text{ttt=_condition?_def1} |
||
123 | \text{ttt=_condition?_def1:_def2} |
||
124 | </pre> |
||
23 | reyssat | 125 | <p> |
5903 | bpr | 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 |
||
23 | reyssat | 128 | syntaxe). |
129 | !href target=wims_mhelp cmd=help&special_parm=if Liste de conditions |
||
5755 | bpr | 130 | </p><p> |
23 | reyssat | 131 | La position relative d'une définition par rapport à l'énoncé est |
3555 | bpr | 132 | importante : 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 à |
||
23 | reyssat | 134 | la question. Dans ce cas, la définition peut utiliser les réponses données |
5903 | bpr | 135 | par l'utilisateur, via <span class="tt wims_code_variable">\reply1</span>, <span class="tt wims_code_variable">\reply2</span>, etc. Et la |
3555 | bpr | 136 | variable ainsi définie peut être utilisée dans les conditions |
137 | de test ou les feedbacks. |
||
6587 | bpr | 138 | </p> |