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 之間。
© 2021 International GeoGebra Institute