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 | 它的值是-10与10间的参数(包括-10与10): |
||
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是-5与5间的随机实数 |
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+1在0与1之间的单根 |
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+1从0到1的数值积分 |
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是3行3列的矩阵. |
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 |