If 指令

来自GeoGebra Manual
跳转至: 导航搜索
Accessories dictionary.png
本页为官方文件,一般使用者无法修改,若有任何误谬,请与官方联络。如欲编辑,请至本页的开放版


If( <条件式>, <则> )
若 <条件式> 为 true(真),<则> 执行(运算式、物件或指令);若为 false(假),会产生未定义物件(或不产生任何物件)。
范例:
  • 假设 n = 3。 If(n==3, x + y = 4) 会产生一条直线 x + y = 4,原因是 n 确实等于 3 ,符合条件。
  • 假设 n = 4。 If(n==3, x + y = 4) 无法定义物件,原因是 n 不等于 3,并不符合条件。
If( <条件式>, <则>, <否则> )
若 <条件式> 为 true(真),<则> 执行(运算式、物件或指令),<否则> 执行(其他运算式、物件或指令)。若在 <则> 和 <否则> 区块中填入物件,两个物件必须是同一种类型
范例: 假设 n 为一数值。 If(n==3, x + y = 4, x - y = 4)n = 3 时产生一条直线 x + y = 4;在 n 不等于 3 时则为另一条直线 x - y = 4。
If( <条件式 1>, <则 1>, <条件式 2>, <则 2>, ... , <否则(选用)> )
当 <条件式 1> 符合时,<则 1> 执行;当 <条件式 2> 符合时,<则 2> 执行;…依此类推。若没有任何一个 <条件式> 符合,且 <否则> 区块有被填入,就会执行 <否则>。除上述之外的情况会回传未定义物件。
范例: If(a ≟ 1, "Matthew", a ≟ 2,"Larry", a ≟ 3, "Vivian", "Alex")a=1 时回传文字 "Matthew";当 a=2 时回传文字 "Larry";当 a=3 时回传文字 "Vivian";当 a 为其他值时回传文字 "Alex"。
备注: 此语法无法在运算区使用。

条件式函数

If 指令可用来产生“条件式函数”,这种函数也可以当做是一般的函数,放到其他可接受函数当做参数的指令中再做处理,例如微分指令 Derivative、积分指令 Integral,还有求交点指令 Intersect 等等。
范例:
  • f(x) = If(x < 3, sin(x), x^2) 产生一个分段函数(piecewise function):当 x < 3 时为 sin(x);当 x ≥ 3 时为 x2
  • f(x) = If(0 <= x <= 3, sin(x)) 产生一个函数:当 x 介于 0 和 3 之间时为 sin(x)x在其他范围时未定义。
备注: 另一种比较简短的语法为 f(x) = sin(x), 0 <= x <= 3
  • f(x) =If(x<-1,x²,-1<=x<=1,1,-x²+2) 产生一个分段函数 f(x) = \left\{\begin{aligned}{} x^{2}& , &x < -1\\ 1& ,& -1 ≤ x ≤ 1\\ -x^{2} + 2& , &\text{其他範圍} \end{aligned}\right.


备注:
  • If(condition, f(x), g(x)) 的微分为 If(condition, f'(x), g'(x))
  • 请参阅真假值了解在条件式中常用的运算符号。

在程式脚本中使用 If 指令

If 指令在程式脚本中,适合用在不同的条件下执行特定动作。
范例: 假设 n 为一数值且 A 为一点。指令 If(Mod(n, 7) == 0, SetCoords(A, n, 0), SetCoords(A, n, 1)) 会根据给定的条件来更改 A 点坐标。以这个案例来说,更好的写法为 SetCoords(A, n, If(Mod(n, 7) == 0,0,1))
备注: If 指令仅接受物件或程式码指令作为引数,不接受指定叙述(assignment)。例如 b = If(a > 1, 2, 3) 是正确语法,但 If(a > 1, b = 2, b = 3) 这样的语法会产生错误。

Comments

同时限制函数的定义域与值域[编辑]

范例:
  • f(x) = If[ 0<x^2<3,x^2] 将值域限制在 0 与 3 之间。
  • f(x) = If[ -2<x<3∧-4<tan(x)<4,tan(x)] 将定义域限制在 -2 到 3,值域限制在 -4 到 4 之间。
© 2024 International GeoGebra Institute