Subversion Repositories wimsdev

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
23 reyssat 1
<center><h3>交互式练习中的随机参数</h3></center> <p>
2
 
3
使用随机参数可以使您的练习更加吸引人,
4
因为每次出来的都是不同的练习.
5
<p>
6
例如以下一行命令定义了名为<font color=blue><b>x1</b></font>的参数,
7
它的值是-1010间的参数(包括-1010):
8
<pre>
9
\integer{x1=random(-10..10)}
10
</pre>
11
以后在陈述, 回答, 提示与解中都可以用<b><tt>\x1</tt></b>来调用此随机参数.
12
也就是说文本中的<tt>\x1</tt>每次都被不同的随机值所取代.
13
这种取代也发生在依赖于x1的其他参数的定义中.
14
<p>
15
现在假设您在参数定义的栏目中输入了
16
<pre>
17
\integer{x1=random(-10..10)}
18
\integer{y1=\x1+3}
19
</pre>
20
练习的陈述为
21
<pre>
22
计算\x1与\y1的乘积.
23
</pre>
24
假定在练习的某个请求中\x1被分配一个随机值<font color=red>-7</font>.
25
后一个参数\y1将取值-4, 而且此练习将具有形式<p>
26
<center>计算-7-4 乘积.
27
</center> <p>
28
您然后可以定义名为<b>乘积</b>的数值回答的正确解是
29
<tt>(\x1)*(\y1)</tt>. (注意这里的括号是必要的, 因为替代完全是按字面意义执行的.)
1044 bpr 30
<a name=list></a>
23 reyssat 31
!if oefparm isitemof $special_parm
32
 !changeto help/oefparm.phtml
33
!endif
34
<p>$table_header
35
<caption>参数的一些别的例子
36
!href cmd=help&special_parm=$special_parm,oefparm#list [完整表格]
37
</caption>
38
$table_hdtr<th>定义<th>的效果
1179 bpr 39
$table_tr<td><tt>\real{x=random(-5..5)}</tt>
23 reyssat 40
    <td>\x是-55间的随机实数
1179 bpr 41
$table_tr<td><tt>\real{a=random(-5,-3,0.3,4)}</tt>
23 reyssat 42
    <td>\a是在-5,-3,0.3,4之中随机选取的实数
1179 bpr 43
$table_tr<td><tt>\complex{z=(1+2*i)^3}</tt>
23 reyssat 44
    <td>\z是复数(1+2*i)^3
1179 bpr 45
$table_tr<td><tt>\text{sign=random(+,-)}</tt>
23 reyssat 46
    <td>\sign是随机符号: +-
1179 bpr 47
$table_tr<td><tt>\integer{n=3*exp(\a)}</tt>
23 reyssat 48
    <td>\n是与3*e<sup>\a</sup>最接近的整数(它依赖于\a的值)
1179 bpr 49
$table_tr<td><tt>\function{f=random<br> (x^2+1,sin(x),log(x))}</tt>
23 reyssat 50
    <td>\f是随机的函数: x^2+1, sin(x),log(x)
1179 bpr 51
$table_tr<td><tt>\real{a=evalue(x^2+sin(y),x=3,y=4)}</tt>
23 reyssat 52
    <td>函数x^2+sin(y)对x=3, y=4赋值
1179 bpr 53
$table_tr<td><tt>\real{r=solve(x^3-3*x+1,x=0..1)}</tt>
23 reyssat 54
    <td>\r是x^3-3x+101之间的单根
1179 bpr 55
$table_tr<td><tt>\function{h=simplify(x^5*y^3*x^2/y)}</tt>
117 bpr 56
    <td>化简表达式: x<sup>7</sup>y<sup>2</sup>
1179 bpr 57
$table_tr<td><tt>\function{g=diff(sin(x)+cos(y),x)}</tt>
23 reyssat 58
    <td>\g是sin(x)+cos(y)关于x的导数
1179 bpr 59
$table_tr<td><tt>\function{F=int(x^2+3*x+1,x)}</tt>
23 reyssat 60
    <td>\F是x^2+3*x+1的不定积分,<br>
61
     不保证常数项始终相同
62
!!$table_tr<td><tt>\function{F=int(t^2+3*t+1,t=1..x)}
63
!!    <td>\F是x^2+3*x+1满足g(1)=0的原函数
1179 bpr 64
$table_tr<td><tt>\real{a=int(t^2+3*t+1,t=0..1)}</tt>
23 reyssat 65
    <td>\a是x^2+3*x+101的数值积分
1179 bpr 66
$table_tr<td><tt>\text{f=htmlmath(2*x^2+3*x)}</tt>
23 reyssat 67
    <td>\f表示成html格式,: 2x<sup>2</sup>+3x
1179 bpr 68
$table_tr<td><tt>\text{f=texmath(2*x^2+3*x)}</tt>
23 reyssat 69
    <td>\f表示成TeX格式.
1179 bpr 70
$table_tr<td><tt>\integer{n=items(a,b,c,d,e,f)}</tt>
23 reyssat 71
    <td>\n是表{a,b,c,d,e,f}中的元素个数(这里是6)    
1179 bpr 72
$table_tr<td><tt>\text{i=item(3,a,b,c,d,e,f)}</tt>
23 reyssat 73
    <td>\i是表{a,b,c,d,e,f}中第3个元素(这里是c).
1179 bpr 74
$table_tr<td><tt>\text{s=shuffle(6)}</tt>
23 reyssat 75
    <td>\s是6个整数1,2,...,6的表, 次序是随机的.
1179 bpr 76
$table_tr<td><tt>\text{s=shuffle(a,b,c,d,e)}</tt>
23 reyssat 77
    <td>\s是字母{a,b,c,d,e}, 次序是随机的.
1179 bpr 78
$table_tr<td><tt>\matrix{m=1,2,3<br>4,5,6<br>7,8,9}</tt>
23 reyssat 79
    <td>\m是33列的矩阵.
1179 bpr 80
$table_tr<td><tt>\text{t=asis(How do you do? item(1,2,3))}</tt>
117 bpr 81
    <td>保持串的原始形式, 不做变换, 不加条件.
23 reyssat 82
 
83
$table_end <p>
84
 
85
条件参数: 您可以写<p>
86
<tt>\text{ttt=_condition?_def1}</tt><br>
87
<tt>\text{ttt=_condition?_def1:_def2}</tt>
88
<p>
89
在这个情形, 当条件<tt>_condition</tt>为真时, <tt>ttt</tt>取值<tt>_def1</tt>.
90
如果是第二句, 否则取 <tt>_def2</tt>.
91
!href target=wims_mhelp cmd=help&special_parm=if 条件表
92
<p>
93
定义与陈述的相对位置是很重要的:
94
如果变量定义在陈述之后, 那么仅当用户回答了问题后才会给变量赋值.
95
在这种情形, 定义中可以通过<tt>\reply1</tt>,
96
<tt>\reply2</tt>等引用用户的答案. 此变量可用于解答中, 以测试条件或反馈.
97
 
98
 
99