Subversion Repositories wimsdev

Rev

Rev 2448 | Rev 4091 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

  1. <center><h3>Parámetros aleatorios en un ejercicio interactivo</h3></center> <p>
  2.  
  3. El uso de parámetros aleatorios hace sus ejercicios mucho más interesantes,
  4. porque serán ejercicios diferentes en cada ocasión que se ejecuten.
  5. <p>
  6. Por ejemplo, la siguiente línea define un parámetro con el nombre
  7. <font color=blue><b>x1</b></font>, cuyos valores serán enteros aleatorios
  8. entre -10 y 10 (incluidos):
  9. <pre>
  10. \integer{x1=random(-10..10)}
  11. </pre>
  12. Este parámetro aleatorio puede en adelante invocarse con el término
  13. <b><tt>\x1</tt></b>, en el enunciado, la pregunta, la pista y la solución del ejercicio.
  14. Esto es, cada aparición del término <tt>\x1</tt> en estos textos será sustituida
  15. por el valor aleatorio del parámetro. Esta sustitución también se producirá en las
  16. definiciones de los otros parámetros que sigan a la definición de x1.
  17. <p>
  18. Supongamos ahora que ha introducido
  19. <pre>
  20. \integer{x1=random(-10..10)}
  21. \integer{y1=\x1+3}
  22. </pre>
  23. en el campo de la definición de los parámetros, y la pregunta
  24. <pre>
  25. Calcule la multiplicación de \x1 por \y1.
  26. </pre>
  27. en el enunciado del ejercicio. Supongamos que en una determinada ocasión
  28. de utilización de este ejercicio se asigne un valor aleatorio de
  29. <font color=red>-7</font> a \x1. Entonces el siguiente parámetro \y1 tomará el
  30. valor -4, y el enunciado del ejercicio se presentará de la forma<p>
  31. <center>Calcule la multiplicación de -7 por -4.
  32. </center> <p>
  33. Además, puede  definir una respuesta numérica con el nombre de
  34. <tt>El producto</tt>, que tenga como solución correcta <tt>(\x1)*(\y1)</tt>
  35. (tenga en cuenta que aquí los paréntesis son necesarios, porque la sustitución
  36. se hace literalmente).
  37. <a name=list></a>
  38. !if oefparm isitemof $special_parm
  39.  !changeto help/oefparm.phtml
  40. !endif
  41. <p>$table_header
  42. <caption>Algunos otros ejemplos de parámetros
  43. !href cmd=help&special_parm=$special_parm,oefparm#list [complete list]
  44. </caption>
  45. $table_hdtr<th>Definición<th>Efecto
  46. $table_tr<td><tt>\real{x=random(-5..5)}</tt>
  47.     <td>\x será un número aleatorio real <br>entre -5 y 5
  48. $table_tr<td><tt>\real{a=random(-5,-3,0.3,4)}</tt>
  49.     <td>\a será un número real tomado aleatoriamente<br> entre -5,-3,0.3 y 4
  50. $table_tr<td><tt>\complex{z=(1+2*i)^3}</tt>
  51.     <td>\z será el número complejo (1+2*i)^3
  52. $table_tr<td><tt>\text{sign=random(+,-)}</tt>
  53.     <td>\sign será un signo aleatorio: + o -
  54. $table_tr<td><tt>\integer{n=3*exp(\a)}</tt>
  55.     <td>\n será el entero más cercano a  3*e<sup>\a</sup> <br>
  56.      (depende del valor de \a)
  57. $table_tr<td><tt>\function{f=random<br> (x^2+1,sin(x),log(x))}</tt>
  58.     <td>\f será la función aleatoria: x^2+1,<br> sin(x) o
  59.     log(x)
  60. $table_tr<td><tt>\real{a=evalue(x^2+sin(y),x=3,y=4)}</tt>
  61.     <td>Evaluación de la función x^2+sin(y),<br>
  62.     para x=3, y=4
  63. $table_tr<td><tt>\real{r=solve(x^3-3*x+1,x=0..1)}</tt>
  64.     <td>\r será la raíz sencilla de x^3-3x+1 entre 0 y 1
  65. $table_tr<td><tt>\function{h=simplify(x^5*y^3*x^2/y)}</tt>
  66.     <td>Expresión simplificada: x<sup>7</sup>y<sup>2</sup>
  67. $table_tr<td><tt>\function{g=diff(sin(x)+cos(y),x)}</tt>
  68.     <td>\g será la derivada de sin(x)+cos(y) respecto a x
  69. $table_tr<td><tt>\function{F=int(x^2+3*x+1,x)}</tt>
  70.     <td>\F será la integral de x^2+3*x+1,<br>
  71.      no hay garantías de que el término constante sea siempre el mismo
  72. !!$table_tr<td><tt>\function{F=int(t^2+3*t+1,t=1..x)}
  73. !!    <td>\F será la integral de x^2+3*x+1 con g(1)=0
  74. $table_tr<td><tt>\real{a=int(t^2+3*t+1,t=0..1)}</tt>
  75.     <td>\a será la integral numérica de x^2+3*x+1 entre 0 y 1
  76. $table_tr<td><tt>\text{f=htmlmath(2*x^2+3*x)}</tt>
  77.     <td>\f se representará en html como: 2x<sup>2</sup>+3x
  78. $table_tr<td><tt>\text{f=texmath(2*x^2+3*x)}</tt>
  79.     <td>\f será el código fuente en TeX de la expresión.
  80. $table_tr<td><tt>\integer{n=items(a,b,c,d,e,f)}</tt>
  81.     <td>\n será el número de elementos (aquí es de 6) de la lista
  82.      {a,b,c,d,e,f}
  83. $table_tr<td><tt>\text{i=item(3,a,b,c,d,e,f)}</tt>
  84.     <td>\i será el elemento número 3 de la lista
  85.      {a,b,c,d,e,f} (luego c).
  86. $table_tr<td><tt>\text{s=shuffle(6)}</tt>
  87.     <td>\s será una lista de 6 enteros 1,2,...,6, en orden aleatorio.
  88. $table_tr<td><tt>\text{s=shuffle(a,b,c,d,e)}</tt>
  89.     <td>\s será las letras {a,b,c,d,e} en orden aleatorio.
  90. $table_tr<td><tt>\matrix{m=1,2,3<br>4,5,6<br>7,8,9}</tt>
  91.     <td>\m será la matriz de 3 líneas y 3 columnas.
  92.  
  93. $table_end <p>
  94.  
  95. Parámetros condicionales: puede escribir<p>
  96. <tt>\text{ttt=_condition?_def1}</tt> o <br>
  97. <tt>\text{ttt=_condition?_def1:_def2}</tt>
  98. <p>
  99. En este caso, <tt>ttt</tt> tendrá el valor <tt>_def1</tt> si
  100. <tt>_condition</tt> es verdadera, o <tt>_def2</tt> en caso contrario
  101. (en la sintaxis del segundo ejemplo).
  102.  
  103. !href target=wims_mhelp cmd=help&special_parm=if Lista de condiciones
  104. <p>
  105. Es importante la posición relativa de una definición con respecto al
  106. enunciado: si se define una variable DESPUÉS del enunciado, la evaluación
  107. de la variable tendrá lugar únicamente DESPUÉS de que el usuario haya respondido
  108. a la pregunta. En este caso la definición puede utilizar las respuestas
  109. dadas por el usuario, por medio de <tt>\reply1</tt>, <tt>\reply2</tt>, etc.
  110. Y la variable así definida puede utilizarse en la solución, las condiciones
  111. de comprobación o los comentarios.
  112.  
  113.  
  114.