<center><h3>Random parameters in een interactieve Createxo oefening</h3></center> <p>
<p>
Het gebruik van random parameters maakt Uw oefeningen veel aantrekkelijker,
niet alleen omdat de vraag er elke keer anders wordt, maar er zelfs totaal anders kan uitzien.
<p>
Bijvoorbeeld, de onderstaande regel definieerd een parameter onder de naam
<font color=blue><b>x1</b></font>, met als mogelijke waarde een integer tussen -10 en 10 (inclusief):
<pre>
\integer{x1=random(-10..10)}
</pre>
Deze random parameter kan nu worden aangeroepen met het woord
<b><tt class="wims_code_variable">\x1</tt></b>, in het statement,de antwoorden, de hint en de goede oplossing.
Dus elk woord <tt class="wims_code_variable">\x1</tt> in deze text zal worden vervangen
door de toegekende random waarde van deze parameter.
Uiteraard is deze substitutie globaal voor uw oefening, en ook worden
uitgevoerd wanneer deze random parameter in andere definities/variabelen/functies wordt
gebruikt.
<p>
Stel nu dat U heeft ingevoerd
<pre>
\integer{x1=random(-10..10)}
\integer{y1=\x1+3}
</pre>
in het "definitie-veld" van de parameters, en de vraag
<pre>
bereken de uitkomst van de vermenigvuldiging van \x1 met \y1.
</pre>
in het "statement-veld" van de oefening
Stel dat de random waarde <font color=red>-7</font>
wordt toegekend aan \x1.
Dan wordt dus de parameter \y1 gelijk aan -4,
en het "statement" van deze oefening wordt dan gepresenteerd als
<p>
<center>bereken de uitkomst van de vermenigvuldiging van -7 met -4.
</center> <p>
U kunt hierna dus een getalsmatige antwoord definieren onder de naam
van <tt>het produkt</tt>,
met als goede oplossing <tt class="wims_code_words">(\x1)*(\y1)</tt>.
(let op:de haakjes zijn wel noodzakelijk, om dat de substitutitie hier letterlijk is)
<a name=list></a>
!if oefparm isitemof $special_parm
!changeto help/oefparm.phtml
!endif
<p>$table_header
<caption>Enkele ander voorbeelden van parameters
!href cmd=help&special_parm=$special_parm,oefparm#list [complete lijst]
</caption>
$table_hdtr<th>Definitie<th>Effect
$table_tr<td><tt class="wims_code_words">\real{x=random(-5..5)}</tt>
<td>\x wordt een random reëel getal<br>tussen -5 en 5
$table_tr<td><tt class="wims_code_words">\real{a=random(-5,-3,0.3,4)}</tt>
<td>\a wordt een reëel getal willekeurig gekozen uit <br> -5,-3,0.3 en 4
$table_tr<td><tt class="wims_code_words">\complex{z=(1+2*i)^3}</tt>
<td>\z wordt het complexe getal (1+2*i)^3
$table_tr<td><tt class="wims_code_words">\text{sign=random(+,-)}</tt>
<td>\sign wordt nu random : + of -
$table_tr<td
><tt
class="wims_code_words">\integer
{n
=3*exp(\a
)}</tt
>
<td>\n wordt nu de dichtst bij zijnde integer van 3*e<sup>\a</sup> <br>(hang dus af van de waarde van \a)
$table_tr<td
><tt
class="wims_code_words">\
function{f
=random
<br
> (x^
2+1,sin(x
),log(x
))}</tt
>
<td
>\f wordt een random gekozen functie
: of x^
2+1,<br
>of
sin(x
), of
$table_tr<td
><tt
class="wims_code_words">\real
{a
=evalue
(x^
2+sin(y
),x
=3,y
=4)}</tt
>
<td
>Evaluatie van de functie x^
2+sin(y
),<br
>
voor x=3, y=4
$table_tr<td><tt class="wims_code_words">\real{r=solve(x^3-3*x+1,x=0..1)}</tt>
<td>\r wordt de wortel van x^3-3x+1 tussen 0 en 1
$table_tr<td><tt class="wims_code_words">\function{h=simplify(x^5*y^3*x^2/y)}</tt>
<td>Vereenvoudigde vergelijking: x<sup>7</sup>y<sup>2</sup>
$table_tr<td
><tt
class="wims_code_words">\
function{g
=diff
(sin(x
)+cos(y
),x
)}</tt
>
<td
>\g wordt de afgeleide van
sin(x
)+cos(y
) naar x
$table_tr<td><tt class="wims_code_words">\function{F=int(x^2+3*x+1,x)}</tt>
<td>\F wordt de integraal van x^2+3*x+1,<br>
de contante term in niet gegarandeerd altijd het zelfde
!!$table_tr<td><tt class="wims_code_words">\function{F=int(t^2+3*t+1,t=1..x)}
!! <td>\F wordt de integraal van x^2+3*x+1 met g(1)=0
$table_tr<td><tt class="wims_code_words">\real{a=int(t^2+3*t+1,t=0..1)}</tt>
<td>\a wordt de numerieke integraal x^2+3*x+1 van 0 tot 1
$table_tr<td><tt class="wims_code_words">\text{f=htmlmath(2*x^2+3*x)}</tt>
<td>\f wordt weergegeven als: 2x<sup>2</sup>+3x
$table_tr<td><tt class="wims_code_words">\text{f=texmath(2*x^2+3*x)}</tt>
<td>\f wordt TeX-code van de uitdrukking.
$table_tr<td><tt class="wims_code_words">\integer{n=items(a,b,c,d,e,f)}</tt>
<td>\n wordt het aantal items (hier is \n=6) in de kommalijst
{a,b,c,d,e,f}
$table_tr<td><tt class="wims_code_words">\text{i=item(3,a,b,c,d,e,f)}</tt>
<td>\i wordt het derde item van de lijst
{a,b,c,d,e,f} (en in dit geval dus \i=c).
$table_tr<td
><tt
class="wims_code_words">\text
{s
=shuffle(6)}</tt
>
<td>\s wordt een lijst van 6 integers 1,2,...,6, in random volgorde.
$table_tr<td
><tt
class="wims_code_words">\text
{s
=shuffle(a
,b
,c
,d
,e
)}</tt
>
<td>\s wordt de letters {a,b,c,d,e} in random volgorde.
$table_tr<td><tt class="wims_code_words">\matrix{m=1,2,3<br>4,5,6<br>7,8,9}</tt>
<td>\m wordt een matrix van 3 rijen en 3 kolommen.
$table_tr<td><tt class="wims_code_words">\text{t=asis(Hoe gaat het met je ? item(1,2,3))}</tt>
<td>De tekst wordt letterlijk overgenomen.
$table_end <p>
Conditionele parameters: U kunt schrijven <pre>
\text{ttt=_condition?_def1}</tt>
\text{ttt=_condition?_def1:_def2}
</pre>
<p>
In het eerste geval wordt de tekst <tt>ttt</tt> gelijk aan <tt>_def1</tt> als
de <tt>_condition</tt> waar is.<br>
Of zoals in het tweede voorbeeld wordt <tt>ttt</tt> gelijk aan <tt>_def2</tt> als niet voldaan is aan <tt>_condition</tt>.
<p>
Zie hier de komplete lijst van
!href target=wims_mhelp cmd=help&special_parm=if condities
<p>
De onderlinge plaatsing van de "definitie" en het "statement" is belangrijk:
wordt een variabele gedefineerd <b>NA</b> het statement, de evaluatie van de variabele
vind dan plaats <b>NA</b> de leerling de vraag heeft beantwoord.
In dit geval kan deze definitie inhaken op de antwoorden door de leerling via
<tt class="wims_code_variable">\reply1</tt>, <tt class="wims_code_variable">\reply2</tt>, etc.
En de zo gedefineerde variabele kan worden gebruikt in oplossingen , testcondities of feedbacks.