隱形記憶的使用

 

除了常用的七個數字記憶及統計變數記憶外,計數機內部其實還有其它記憶,用於一般的計算,由於這些記憶用於內部運算,所以沒有符號代表這些記憶,因此就稱號為隱形記憶 ,對於fx-50FH及fx-50F PLUS已知有三個統計隱形記憶,另外在For結構中亦存兩個隱形記憶。

 

三個統計隱形記憶

其中有在三個 隱形記應用在統計數據的輸入,請參看以下例子:

在REG 模式,執行

2 , 3 ; 4 DT

執行這個指令除了輸入了數據,同時將三個資料儲放在隱形記憶中,所以再執行 DT 指令,就可以相當於再執 2 , 3 ; 4 DT的指令,其實這些隱形記憶用於簡化輸入相同數據。

 

大家會問隱形記憶並無實際符號代表,那麼如何應在編寫程式方面?

不錯隱形記憶因無符號代表,使用上其實有一定難度,不過就現在所知,儲存x數據的隱形記憶可以用替身記憶代表,請參看以下例子:

先執行 2 , 3 ; 4 DT

..........

當需要提取x隱形記憶,只要再執行 ; 0 DT

這時計數機內部執行相當於 2 , 3 ; 0 DT的指令,另一方面答案記憶(Ans)亦會同時被更新,變成 x隱形記憶的數值,亦即是2,因此替身Ans記憶就可以代表x隱形記憶了,因此就可應用在編寫程式方面,要注意頻數為0,這樣就可以不影響其它統計變數的數值。至於另外兩個隱形記 憶,要使用難度就相當高,差不多可以說無法使用,特別是儲存頻數的隱形記憶,至於儲存y數據的隱形記憶,在某些特別情況下,亦有機會可以使用,對程式有興趣的朋友,可以參考以下的程式, 程式都使用了統計變數記憶,並且運用了x隱形記憶。

三階矩陣乘法 (3×3 matrix multiplication)

 

For 結構兩個隱形記憶

兩個For結構隱形憶記憶應用在For語句中,請參考以下例子:

For 0→A To 2+9 Step 1+1: ....... : Next

fx-50FH及fx-50F PLUS For 結構與現時很多高階電腦不同,For 結構的運算不是採用完全動態的形式,即For的條件語句不是完全重新執行,當For開始執行時,在To及Step之後的數值(上面紅色位置)會被儲存在兩個隱形記憶中,在之後整個For結構的運算中,這兩個數值會一直保持不變(不可動態改變),這兩個隱形記憶只應用在For結構的條件運算中。

我經一些研究及測試,相信To的隱形記憶應該很難應用於程式之中(最少到目前為止都未找到方法),不過Step的隱形記憶就有機會可應用在程式編寫中(在某些特定條件下),通常可以在記憶不足的情況下暫時儲存一些數,可以參考以下語句看看如何儲存及提取Step隱形記憶的數值:

For A→A To A Step 2: .......... : A: Next: A - Ans 

上面Step 2 指令就是將2的數值儲存在Step隱形記憶中,而綠色的程式碼用作提取Step隱形記憶的數值,即是最後執行的 A - Ans 就是Step隱形記憶的數值,上述方法使用隱形記憶有以下兩個限制條件要注意:

1. 在For結構中(即Step至Next之間)的程式碼,不可改變用於條件語句中的字母記憶數值(上面例子使用字母A),否則For結構的執行可能永遠無法終止或要經很長時間才可終止。

2. Step隱形記憶儲存的數值,絶對值相對於用於條件字母記憶的絶對值不可以太小,否則有可能出現Argument ERROR,一般這個限制是指Step隱形記憶的數值不可以是零。

 

返回 CASIO fx-50FH 及 fx-50F PLUS 程式集

Free Web Hosting