Subversion Repositories wimsdev

Rev

Rev 2448 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2448 Rev 4091
Line 1... Line -...
1
<center><h3>Random parameters in an interactive exercise</h3></center> <p>
-
 
2
 
-
 
3
The use of random parameters makes your exercise much more interesting,
-
 
4
because it will be a different exercise each time it is requested.
-
 
5
<p>
-
 
6
For example, the following line defines a parameter under the name of
-
 
7
<font color=blue><b>x1</b></font>, whose value will be a random integer
-
 
8
between -10 and 10 (inclusive):
-
 
9
<pre>
-
 
10
\integer{x1=random(-10..10)}
-
 
11
</pre>
-
 
12
This random parameter may then be called by the word
-
 
13
<b><tt>\x1</tt></b>, in the statement, the replis, the hint and the solution.
-
 
14
That is, each word <tt>\x1</tt> in these texts will be replaced
-
 
15
by the random value of the parameter. This substitution will also take
-
 
16
place in the definitions of other parameters which follow that of x1.
-
 
17
<p>
-
 
18
Suppose now that you have entered
-
 
19
<pre>
-
 
20
\integer{x1=random(-10..10)}
-
 
21
\integer{y1=\x1+3}
-
 
22
</pre>
-
 
23
in the field of the definition of parameters, and the question
-
 
24
<pre>
-
 
25
Compute the multiplication of \x1 by \y1.
-
 
26
</pre>
-
 
27
in the statement of the exercise. Suppose that for a certain request of
-
 
28
the exercise, a random value <font color=red>-7</font>
-
 
29
is attributed to \x1. Then the following parameter \y1 will take the value
-
 
30
-4, and the statement of the exercise will be presented under the form<p>
-
 
31
<center>Compute the multiplication of -7 by -4.
-
 
32
</center> <p>
-
 
33
You may then define a numerical reply in the name of <tt>The product</tt>,
-
 
34
having for the good solution <tt>(\x1)*(\y1)</tt>. (Remark that here
-
 
35
the parentheses are necessary, because the substitution is done literarily.)
-
 
36
<a name=list></a>
-
 
37
!if oefparm isitemof $special_parm
1
!!provisoire --to translate
38
 !changeto help/oefparm.phtml
2
!changeto help/en/parameters.phtml
39
!endif
-
 
40
<p>$table_header
-
 
41
<caption>Some other examples of parameters
-
 
42
!href cmd=help&special_parm=$special_parm,oefparm#list [complete list]
-
 
43
</caption>
-
 
44
$table_hdtr<th>Definition<th>Effect
-
 
45
$table_tr<td><tt>\real{x=random(-5..5)}</tt>
-
 
46
    <td>\x will be a random real number<br>between -5 and 5
-
 
47
$table_tr<td><tt>\real{a=random(-5,-3,0.3,4)}</tt>
-
 
48
    <td>\a will be a real number taken randomly<br>among -5,-3,0.3 and 4
-
 
49
$table_tr<td><tt>\complex{z=(1+2*i)^3}</tt>
-
 
50
    <td>\z will be the complex number (1+2*i)^3
-
 
51
$table_tr<td><tt>\text{sign=random(+,-)}</tt>
-
 
52
    <td>\sign will be a random sign: + ou -
-
 
53
$table_tr<td><tt>\integer{n=3*exp(\a)}</tt>
-
 
54
    <td>\n will be the closest integer to 3*e<sup>\a</sup> <br>(it depends on
-
 
55
    the value of \a)
-
 
56
$table_tr<td><tt>\function{f=random<br> (x^2+1,sin(x),log(x))}</tt>
-
 
57
    <td>\f will be a random function: either x^2+1,<br>or sin(x), or
-
 
58
    log(x)
-
 
59
$table_tr<td><tt>\real{a=evalue(x^2+sin(y),x=3,y=4)}</tt>
-
 
60
    <td>Evaluation of the function x^2+sin(y),<br>
-
 
61
    for x=3, y=4
-
 
62
$table_tr<td><tt>\real{r=solve(x^3-3*x+1,x=0..1)}</tt>
-
 
63
    <td>\r will the the simple root of x^3-3x+1 between 0 and 1
-
 
64
$table_tr<td><tt>\function{h=simplify(x^5*y^3*x^2/y)}</tt>
-
 
65
    <td>Simplified expression: x<sup>7</sup>y<sup>2</sup>
-
 
66
$table_tr<td><tt>\function{g=diff(sin(x)+cos(y),x)}</tt>
-
 
67
    <td>\g will the the derivative of sin(x)+cos(y) with respect to x
-
 
68
$table_tr<td><tt>\function{F=int(x^2+3*x+1,x)}</tt>
-
 
69
    <td>\F will an antiderivative of x^2+3*x+1,<br>
-
 
70
     the constant term being not garanteed to be always the same
-
 
71
!!$table_tr<td><tt>\function{F=int(t^2+3*t+1,t=1..x)}</tt>
-
 
72
!!    <td>\F will the antiderivative of x^2+3*x+1 with g(1)=0
-
 
73
$table_tr<td><tt>\real{a=int(t^2+3*t+1,t=0..1)}</tt>
-
 
74
    <td>\a will the numerical integral of x^2+3*x+1 from 0 to 1
-
 
75
$table_tr<td><tt>\text{f=htmlmath(2*x^2+3*x)}</tt>
-
 
76
    <td>\f will be rendered in html as: 2x<sup>2</sup>+3x
-
 
77
$table_tr<td><tt>\text{f=texmath(2*x^2+3*x)}</tt>
-
 
78
    <td>\f will be the TeX source for the expression.
-
 
79
$table_tr<td><tt>\integer{n=items(a,b,c,d,e,f)}</tt>
-
 
80
    <td>\n will be the number of items (here it is 6) in the list
-
 
81
     {a,b,c,d,e,f}
-
 
82
$table_tr<td><tt>\text{i=item(3,a,b,c,d,e,f)}</tt>
-
 
83
    <td>\i will be the item number 3 of the list
-
 
84
     {a,b,c,d,e,f} (hence c).
-
 
85
$table_tr<td><tt>\text{s=shuffle(6)}</tt>
-
 
86
    <td>\s will be a list of 6 integers 1,2,...,6, in random order.
-
 
87
$table_tr<td><tt>\text{s=shuffle(a,b,c,d,e)}</tt>
-
 
88
    <td>\s will be the letters {a,b,c,d,e} in random order.
-
 
89
$table_tr<td><tt>\matrix{m=1,2,3<br>4,5,6<br>7,8,9}</tt>
-
 
90
    <td>\m will be the matrix of 3 rows and 3 columns.
-
 
91
 
-
 
92
$table_end <p>
-
 
93
 
-
 
94
Conditional parameters: You may write<p>
-
 
95
<tt>\text{ttt=_condition?_def1}</tt> or <br>
-
 
96
<tt>\text{ttt=_condition?_def1:_def2}</tt>
-
 
97
<p>
-
 
98
In this case, <tt>ttt</tt> will be set to <tt>_def1</tt> if
-
 
99
<tt>_condition</tt> is true, or to <tt>_def2</tt> otherwise (in the second
-
 
100
syntax).
-
 
101
!href target=wims_mhelp cmd=help&special_parm=if List of conditions
-
 
102
<p>
-
 
103
The relative positionning of the definition and the statement is important:
-
 
104
if a variable is defined AFTER the statement, the evaluation of the variable
-
 
105
will take place only AFTER the user has replied to the question. In this
-
 
106
case, the definition may involve user replies, via <tt>\reply1</tt>,
-
 
107
<tt>\reply2</tt>, etc. And the variable can be used in solutions, testing
-
 
108
conditions or feedbacks.
-
 
109
 
-
 
110
 
-