Subversion Repositories wimsdev

Rev

Rev 5947 | Rev 15107 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5947 Rev 6133
Line 1... Line 1...
1
<center><h3>Random parameters in an interactive exercise</h3></center> <p>
1
<h3>Random parameters in an interactive exercise</h3>
2
 
2
<p>
3
The use of random parameters makes your exercise much more interesting,
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.
4
because it will be a different exercise each time it is requested.
5
<p>
5
</p><p>
6
For example, the following line defines a parameter under the name of
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
7
<font color=blue><b>x1</b></font>, whose value will be a random integer
8
between -10 and 10 (inclusive):
8
between -10 and 10 (inclusive):
-
 
9
</p>
9
<pre>
10
<pre>
10
\integer{x1=random(-10..10)}
11
\integer{x1=random(-10..10)}
11
</pre>
12
</pre>
12
This random parameter may then be called by the word
13
<p>This random parameter may then be called by the word
13
<b><span class="tt wims_code_variable">x1</span></b>, in the statement, the replis, the hint and the solution.
14
<b><span class="tt wims_code_variable">x1</span></b>, in the statement, the replis, the hint and the solution.
14
That is, each word <span class="tt wims_code_variable">x1</span> in these texts will be replaced
15
That is, each word <span class="tt wims_code_variable">x1</span> in these texts will be replaced
15
by the random value of the parameter. This substitution will also take
16
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
place in the definitions of other parameters which follow that of x1.
17
<p>
18
</p><p>
18
Suppose now that you have entered
19
Suppose now that you have entered
19
<pre>
20
</p><pre>
20
\integer{x1=random(-10..10)}
21
\integer{x1=random(-10..10)}
21
\integer{y1=\x1+3}
22
\integer{y1=\x1+3}
22
</pre>
23
</pre>
23
in the field of the definition of parameters, and the question
24
in the field of the definition of parameters, and the question
24
<pre>
25
<pre>
25
Compute the multiplication of \x1 by \y1.
26
Compute the multiplication of \x1 by \y1.
26
</pre>
27
</pre>
27
in the statement of the exercise. Suppose that for a certain request of
28
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
the exercise, a random value <span class="wims_emph">-7</span>
29
is attributed to \x1. Then the following parameter \y1 will take the value
30
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 <div class="wimscenter">Compute the multiplication of -7 by -4.
31
-4, and the statement of the exercise will be presented under the form <div class="wimscenter">Compute the multiplication of -7 by -4.
31
</div>
32
</div>
32
You may then define a numerical reply in the name of <span class="tt">The product</span>,
33
You may then define a numerical reply in the name of <span class="tt">The product</span>,
33
having for the good solution <span class="tt wims_code_words">(\x1)*(\y1)</span>. (Remark that here
34
having for the good solution <span class="tt wims_code_words">(\x1)*(\y1)</span>. (Remark that here
Line 39... Line 40...
39
$table_header
40
$table_header
40
<caption>Some other examples of parameters
41
<caption>Some other examples of parameters
41
!href cmd=help&special_parm=$special_parm,oefparm#list [complete list]
42
!href cmd=help&special_parm=$special_parm,oefparm#list [complete list]
42
</caption>
43
</caption>
43
$table_hdtr<th>Definition</th><th>Effect</th></tr>
44
$table_hdtr<th>Definition</th><th>Effect</th></tr>
44
$table_tr<td><span class="tt wims_code_words">\real{x=random(-5..5)}</span>
45
$table_tr<td class="tt wims_code_words">\real{x=random(-5..5)}
45
    </td><td>\x will be a random real number<br/>between -5 and 5
46
    </td><td>\x will be a random real number<br/>between -5 and 5
46
</td></tr>
47
</td></tr>
47
$table_tr<td><span class="tt wims_code_words">\real{a=random(-5,-3,0.3,4)}</span>
48
$table_tr<td class="tt wims_code_words">\real{a=random(-5,-3,0.3,4)}
48
    </td><td>\a will be a real number taken randomly<br/>among -5,-3,0.3 and 4
49
    </td><td>\a will be a real number taken randomly<br/>among -5,-3,0.3 and 4
49
</td></tr>
50
</td></tr>
50
$table_tr<td><span class="tt wims_code_words">\complex{z=(1+2*i)^3}</span>
51
$table_tr<td class="tt wims_code_words">\complex{z=(1+2*i)^3}
51
    </td><td>\z will be the complex number (1+2*i)^3
52
    </td><td>\z will be the complex number (1+2*i)^3
52
</td></tr>
53
</td></tr>
53
$table_tr<td><span class="tt wims_code_words">\text{sign=random(+,-)}</span>
54
$table_tr<td class="tt wims_code_words">\text{sign=random(+,-)}
54
    </td><td>\sign will be a random sign: + ou -
55
    </td><td>\sign will be a random sign: + ou -
55
</td></tr>
56
</td></tr>
56
$table_tr<td><span class="tt wims_code_words">\integer{n=3*exp(\a)}</span>
57
$table_tr<td class="tt wims_code_words">\integer{n=3*exp(\a)}
57
    </td><td>\n will be the closest integer to 3*e<sup>\a</sup> <br/>(it depends on
58
    </td><td>\n will be the closest integer to 3*e<sup>\a</sup> <br/>(it depends on
58
    the value of \a)
59
    the value of \a)
59
</td></tr>
60
</td></tr>
60
$table_tr<td><span class="tt wims_code_words">\function{f=random<br/> (x^2+1,sin(x),log(x))}</span>
61
$table_tr<td class="tt wims_code_words">\function{f=random<br/> (x^2+1,sin(x),log(x))}
61
    </td><td>\f will be a random function: either x^2+1,<br/>or sin(x), or
62
    </td><td>\f will be a random function: either x^2+1,<br/>or sin(x), or
62
    log(x)
63
    log(x)
63
</td></tr>
64
</td></tr>
64
$table_tr<td><span class="tt wims_code_words">\real{a=evalue(x^2+sin(y),x=3,y=4)}</span>
65
$table_tr<td class="tt wims_code_words">\real{a=evalue(x^2+sin(y),x=3,y=4)}
65
    </td><td>Evaluation of the function x^2+sin(y),<br/>
66
    </td><td>Evaluation of the function x^2+sin(y),<br/>
66
    for x=3, y=4
67
    for x=3, y=4
67
</td></tr>
68
</td></tr>
68
$table_tr<td><span class="tt wims_code_words">\real{r=solve(x^3-3*x+1,x=0..1)}</span>
69
$table_tr<td class="tt wims_code_words">\real{r=solve(x^3-3*x+1,x=0..1)}
69
    </td><td>\r will the the simple root of x^3-3x+1 between 0 and 1
70
    </td><td>\r will the the simple root of x^3-3x+1 between 0 and 1
70
</td></tr>
71
</td></tr>
71
$table_tr<td><span class="tt wims_code_words">\function{h=simplify(x^5*y^3*x^2/y)}</span>
72
$table_tr<td class="tt wims_code_words">\function{h=simplify(x^5*y^3*x^2/y)}
72
    </td><td>Simplified expression: x<sup>7</sup>y<sup>2</sup>
73
    </td><td>Simplified expression: x<sup>7</sup>y<sup>2</sup>
73
</td></tr>
74
</td></tr>
74
$table_tr<td><span class="tt wims_code_words">\function{g=diff(sin(x)+cos(y),x)}</span>
75
$table_tr<td class="tt wims_code_words">\function{g=diff(sin(x)+cos(y),x)}
75
    </td><td>\g will the the derivative of sin(x)+cos(y) with respect to x
76
    </td><td>\g will the the derivative of sin(x)+cos(y) with respect to x
76
</td></tr>
77
</td></tr>
77
$table_tr<td><span class="tt wims_code_words">\function{F=int(x^2+3*x+1,x)}</span>
78
$table_tr<td class="tt wims_code_words">\function{F=int(x^2+3*x+1,x)}
78
    </td><td>\F will an antiderivative of x^2+3*x+1,<br/>
79
    </td><td>\F will an antiderivative of x^2+3*x+1,<br/>
79
     the constant term being not garanteed to be always the same
80
     the constant term being not garanteed to be always the same
80
!!$table_tr<td><span class="tt wims_code_words">\function{F=int(t^2+3*t+1,t=1..x)}</span>
81
!!$table_tr<td class="tt wims_code_words">\function{F=int(t^2+3*t+1,t=1..x)}
81
!!    </td><td>\F will the antiderivative of x^2+3*x+1 with g(1)=0
82
!!    </td><td>\F will the antiderivative of x^2+3*x+1 with g(1)=0
82
</td></tr>
83
</td></tr>
83
$table_tr<td><span class="tt wims_code_words">\real{a=int(t^2+3*t+1,t=0..1)}</span>
84
$table_tr<td class="tt wims_code_words">\real{a=int(t^2+3*t+1,t=0..1)}
84
    </td><td>\a will the numerical integral of x^2+3*x+1 from 0 to 1
85
    </td><td>\a will the numerical integral of x^2+3*x+1 from 0 to 1
85
</td></tr>
86
</td></tr>
86
$table_tr<td><span class="tt wims_code_words">\text{f=htmlmath(2*x^2+3*x)}</span>
87
$table_tr<td class="tt wims_code_words">\text{f=htmlmath(2*x^2+3*x)}
87
    </td><td>\f will be rendered in html as: 2x<sup>2</sup>+3x
88
    </td><td>\f will be rendered in html as: 2x<sup>2</sup>+3x
88
</td></tr>
89
</td></tr>
89
$table_tr<td><span class="tt wims_code_words">\text{f=texmath(2*x^2+3*x)}</span>
90
$table_tr<td class="tt wims_code_words">\text{f=texmath(2*x^2+3*x)}
90
    </td><td>\f will be the TeX source for the expression.
91
    </td><td>\f will be the TeX source for the expression.
91
</td></tr>
92
</td></tr>
92
$table_tr<td><span class="tt wims_code_words">\integer{n=items(a,b,c,d,e,f)}</span>
93
$table_tr<td class="tt wims_code_words">\integer{n=items(a,b,c,d,e,f)}
93
    </td><td>\n will be the number of items (here it is 6) in the list
94
    </td><td>\n will be the number of items (here it is 6) in the list
94
     {a,b,c,d,e,f}
95
     {a,b,c,d,e,f}
95
</td></tr>
96
</td></tr>
96
$table_tr<td><span class="tt wims_code_words">\text{i=item(3,a,b,c,d,e,f)}</span>
97
$table_tr<td class="tt wims_code_words">\text{i=item(3,a,b,c,d,e,f)}
97
    </td><td>\i will be the item number 3 of the list
98
    </td><td>\i will be the item number 3 of the list
98
     {a,b,c,d,e,f} (hence c).
99
     {a,b,c,d,e,f} (hence c).
99
</td></tr>
100
</td></tr>
100
$table_tr<td><span class="tt wims_code_words">\text{s=shuffle(6)}</span>
101
$table_tr<td class="tt wims_code_words">\text{s=shuffle(6)}
101
    </td><td>\s will be the list of 6 integers 1,2,...,6, in random order.
102
    </td><td>\s will be the list of 6 integers 1,2,...,6, in random order.
102
</td></tr>
103
</td></tr>
103
$table_tr<td><span class="tt wims_code_words">\text{s=shuffle(a,b,c,d,e)}</span>
104
$table_tr<td class="tt wims_code_words">\text{s=shuffle(a,b,c,d,e)}
104
    </td><td>\s will be the letters {a,b,c,d,e} in random order.
105
    </td><td>\s will be the letters {a,b,c,d,e} in random order.
105
</td></tr>
106
</td></tr>
106
$table_tr<td><span class="tt wims_code_words">\matrix{m=1,2,3<br/>4,5,6<br/>7,8,9}</span>
107
$table_tr<td class="tt wims_code_words">\matrix{m=1,2,3<br/>4,5,6<br/>7,8,9}
107
    </td><td>\m will be the matrix of 3 rows and 3 columns.
108
    </td><td>\m will be the matrix of 3 rows and 3 columns.
108
</td></tr>
109
</td></tr>
109
$table_tr<td><span class="tt wims_code_words">\text{t=asis(How do you do? item(1,2,3))}</span>
110
$table_tr<td class="tt wims_code_words">\text{t=asis(How do you do? item(1,2,3))}
110
    </td><td>The string as it is, with no transformation nor conditionality.
111
    </td><td>The string as it is, with no transformation nor conditionality.
111
</td></tr>
112
</td></tr>
112
$table_end
113
$table_end
113
 
114
 
114
Conditional parameters: You may write
115
Conditional parameters: You may write