fx-50FH結構控制指令
更新日期: 2010年4月28日
fx-50FH 加入了以下類似高階電腦語言基本的結構性控制指令(Control Structure Command): While ~ WhileEnd、If ~ Then ~ Else ~ IfEnd、For ~ To ~ Step ~ Next指令,亦有程序控制指令 Break, 程式指令豐富了不少,以下是這些指令的用法說明及例子。
(I) If ~ Then (~Else) ~ IfEnd
語法: If 條件表示式: Then 條件為真時執行的程式: Else 條件為假時執行的程式: IfEnd
說明:
˙If Then Else 指令可以根據條件表示式控制那些程式執行或不執行,若果If之後藍色條件表示式為真,就會執行Then之後紫色的程式,若條件表示式為假時,就會執行Else之後紅色的程式。
˙紅色 Else 部份可以按需要自行決定是否省略。
˙IfEnd表示If結構完結位置,一般If語句必須包含IfEnd,若果省略了IfEnd是不會導致Syntax ERROR,但可能會出現意想不到的結果
例子1: ?→A: If A=0: Then 2◢ IfEnd: 4
說明:
(i) 執行程式及A輸入0,由於A=0為真,所以顯示2(Then部份程式),再顯示4(IfEnd後程式)
(ii) 執行程式及A輸入1,由於A=0為假,所以不執行Then部份程式,只執行IfEnd後程式,最後只顯示4的答案。
例子2: ?→A: If A=0 Then 2◢ Else 3◢IfEnd: 4
說明:
(i) 執行程式及A輸入0,由於A=0為真,所以顯示2(Then部份程式),再顯示4(IfEnd後程式)
(ii) 執行程式及A輸入1,由於A=0為假,所以顯示3(Else部份程式),再顯示4(IfEnd後程式)
(II) While ~ WhileEnd
語法: While 條件表示式: 條件表示式為真時執行的程式: WhileEnd
說明:
˙若果藍色條件表示式為真,就會執行紫色部份程式,執行完成紫色部程式後會再次重新執行整個While結構。
˙若果藍色條件表示式為假,就不會執行紫色部份程式,只會執行WhileEnd之後的程式。
例子: 2→A: While A<10: A2→A◢ WhileEnd: √( A
說明:
執行程式,由於A最初為2,A<10為真,所以執行A2→A◢ ,A變為4及顯示4,
再次執行While結構,由於A為4,A<10為真,所以執行A2→A◢ ,A變為16及顯示16,
再次執行While結構,由於A為16,A<10為假,執行WhileEnd之後程式,顯示最後答案 4。
(III) For ~ To ~ Step ~ Next
語法: For 開始值 → 控制記憶 To 結束值 Step 增加值: 變數記憶末超越結束值時執行程式: Next
說明:
(i) 首先將開始值儲存在控制記憶中(藍色),再定義結束值(綠色)及每次增加值(紅色)。
(ii) 接著計算內部會檢查控制記憶是否超越結束值,若果超越結束值,就不會執行紫色程式,只會執行Next之後的程式,相反若控制記憶未超越結束值,會執行紫色部份程式,紫色程式執行完結後,控制記憶會依照增加值增加,然後重新執行步驟(ii)。
˙紅色的Step 增加值如果省略不輸入,計算機會自動假定增加值為1。
例子: For 3→A To 5 Step 2: A2◢ Next: A
說明:
執行程式,程式首先將開始值3儲存在控制記憶A中,再定義結束值及每次增加值分別為5及2(桃紅色程式),
接著計算機內部檢查控制記憶(3)是否超越結束值(5),由於3≦5未超越結束值,所以會執行A2◢ 顯示 9的答案,接著控制記憶會依照增加值增加2,亦即是A變為5,
接著計算機內部檢查控制記憶(5)是否超越結束值(5),由於5≦5未超越結束值,所以會執行A2◢ 顯示 25的答案,接著控制記憶會依照增加值增加2,亦即是A變為7,
接著計算機內部檢查控制記憶(7)是否超越結束值(5),由於7>5超越結束值,不會執行A2◢ ,只會執行Next之後的程式,顯示A的數值為7。
(IV) Break
語法: 一般會配合Then、Else或=>指令一起使用。
說明: Break指令的作用是強制中斷For或While的循環,當執行Break指令後,程式會直接執行Next或WhileEnd之後的程式。
例子: 1→A: While A>0: ?→A: If A=2: Then Break: IfEnd: A2◢ WhileEnd: A
說明:
執行程式,由於A最初為1,A>0為真,執行藍色程式碼,接著A輸入2(接 2 EXE),由於A=2為真,會執行Break指令,所以While 控制結構內餘下的程式 A2◢ 不會執行,程式會直接執行WhileEnd之後程式,所以會顯示A的數值(2)。
註: 條件表示式不一定包含關係運算子(=、≠、>、≧、<、≦),亦可以是一個代數算式,條件表示式最後數值若為非零的實數,則代表條件為真,若條件表式最後數值為零,則代表條件為假,若條件表示的最係值為複數(複數模式時),則會出現Math ERROR。
CASIO fx-50FH 及 fx-50F PLUS程式集