Subversion Repositories wimsdev

Rev

Rev 3679 | Blame | Last modification | View Log | RSS feed

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