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
|
<h3>Parmetros aleatorios en un ejercicio interactivo</h3>
El uso de parmetros aleatorios hace sus ejercicios mucho ms interesantes,
porque sern ejercicios diferentes en cada ocasin que se ejecuten.
<p>
Por ejemplo, la siguiente lnea define un parmetro con el nombre
<span class="tt wims_code_variable">\x1</span>, cuyos valores sern enteros aleatorios
entre -10 y 10 (incluidos):
</p><pre>
\integer{x1=random(-10..10)}
</pre>
Este parmetro aleatorio puede en adelante invocarse con el trmino
<span class="tt wims_code_variable">\x1</span>, en el enunciado, la pregunta, la pista y la solucin del ejercicio.
Esto es, cada aparicin del trmino <span class="tt wims_code_variable">\x1</span> en estos textos ser sustituida
por el valor aleatorio del parmetro. Esta sustitucin tambin se producir en las
definiciones de los otros parmetros que sigan a la definicin de x1.
<p>
Supongamos ahora que ha introducido
</p>
<pre>
\integer{x1=random(-10..10)}
\integer{y1=\x1+3}
</pre>
en el campo de la definicin de los parmetros, y la pregunta
<pre>
Calcule la multiplicacin de \x1 por \y1.
</pre>
en el enunciado del ejercicio. Supongamos que en una determinada ocasin
de utilizacin de este ejercicio se asigne un valor aleatorio de
<span class="tt wims_code_variable">-7</span> a \x1. Entonces el siguiente parmetro \y1 tomar el
valor -4, y el enunciado del ejercicio se presentar de la forma <div class="wimscenter">Calcule la multiplicacin de -7 por -4.
</div>
Adems, puede definir una respuesta numrica con el nombre de
<span class="tt">El producto</span>, que tenga como solucin correcta <span class="tt">(\x1)*(\y1)</span>
(tenga en cuenta que aqu los parntesis son necesarios, porque la sustitucin
se hace literalmente).
<a id="list"></a>
!if oefparm isitemof $special_parm
!changeto help/oefparm.phtml
!endif
$table_header
<caption>Algunos otros ejemplos de parmetros
!href cmd=help&special_parm=$special_parm,oefparm#list [complete list]
</caption>
$table_hdtr<th>Definicin</th><th>Efecto</th></tr>
$table_tr<td class="tt wims_code_words">\real{x=random(-5..5)}
</td><td>\x ser un nmero aleatorio real <br>entre -5 y 5
</td></tr>
$table_tr<td class="tt wims_code_words">\real{a=randitem(-5,-3,0.3,4)}
</td><td>\a ser un nmero real tomado aleatoriamente<br> entre -5,-3,0.3 y 4
</td></tr>
$table_tr<td class="tt wims_code_words">\complex{z=(1+2*i)^3}
</td><td>\z ser el nmero complejo (1+2*i)^3
</td></tr>
$table_tr<td class="tt wims_code_words">\text{sign=randitem(+,-)}
</td><td>\sign ser un signo aleatorio: + o -
</td></tr>
$table_tr<td class="tt wims_code_words">\integer{n=3*exp(\a)}
</td><td>\n ser el entero ms cercano a 3*e<sup>\a</sup> <br>
(depende del valor de \a)
</td></tr>
$table_tr<td class="wims_code_words">\function{f=randitem(x^2+1,sin(x),log(x))}
</td><td>\f ser la funcin aleatoria: x^2+1,<br> sin(x) o
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>Evaluacin de la funcin x^2+sin(y),<br/>
para 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 ser la raz sencilla de x^3-3x+1 entre 0 y 1
</td></tr>
$table_tr<td class="tt wims_code_words">\function{h=simplify(x^5*y^3*x^2/y)}
</td><td>Expresin simplificada: 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 ser la derivada de sin(x)+cos(y) respecto a x
</td></tr>
$table_tr<td class="tt wims_code_words">\function{F=int(x^2+3*x+1,x)}
</td><td>\F ser la integral de x^2+3*x+1,<br>
no hay garantas de que el trmino constante sea siempre el mismo
!!$table_tr<td><tt class="wims_code_words">\function{F=int(t^2+3*t+1,t=1..x)}
!! </td><td>\F ser la integral de x^2+3*x+1 con 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 ser la integral numrica de x^2+3*x+1 entre 0 y 1
</td></tr>
$table_tr<td class="tt wims_code_words">\text{f=htmlmath(2*x^2+3*x)}
</td><td>\f se representar en html como: 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 ser el cdigo fuente en TeX de la expresin.
</td></tr>
$table_tr<td class="tt wims_code_words">\integer{n=items(a,b,c,d,e,f)}
</td><td>\n ser el nmero de elementos (aqu es de 6) de la lista
{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 ser el elemento nmero 3 de la lista
{a,b,c,d,e,f} (luego c).
</td></tr>
$table_tr<td class="tt wims_code_words">\text{s=shuffle(6)}
</td><td>\s ser una lista de 6 enteros 1,2,...,6, en orden aleatorio.
</td></tr>
$table_tr<td class="tt wims_code_words">\text{s=shuffle(a,b,c,d,e)}
</td><td>\s ser las letras {a,b,c,d,e} en orden aleatorio.
</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 ser la matriz de 3 lneas y 3 columnas.
</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
Parmetros condicionales: puede escribir
<pre>
\text{ttt=_condition?_def1}</tt>
\text{ttt=_condition?_def1:_def2}
</pre>
<p>
En este caso, <span class="tt">ttt</span> tendr el valor <span class="tt">_def1</span> si
<span class="tt">_condition</span> es verdadera, o <span class="tt">_def2</span> en caso contrario
(en la sintaxis del segundo ejemplo).
!href target=wims_mhelp cmd=help&special_parm=if Lista de condiciones
</p><p>
Es importante la posicin relativa de una definicin con respecto al
enunciado: si se define una variable DESPUS del enunciado, la evaluacin
de la variable tendr lugar nicamente DESPUS de que el usuario haya respondido
a la pregunta. En este caso la definicin puede utilizar las respuestas
dadas por el usuario, por medio de <span class="tt wims_code_variable">\reply1</span>,
<span class="tt wims_code_variable">\reply2</span>, etc.
Y la variable as definida puede utilizarse en la solucin, las condiciones
de comprobacin o los comentarios.
</p>
|