Casio Basic入門50
Casio Basic入門
誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します
2015/04/24
2015/04/24
4. CasioBasicを使ってみる(続き)
Chapter 8 - 初級
前回: Casio Basic入門49 を見る
◆ Chapter 8 の目標: Basic コマンドを使ってみる
fx-9860GII:温度換算プログラム TEMPCONV
0→A
While 1
ClrText
"1: °C" (スペース11個)
"2: °F" (スペース11個)
"3: K" (スペース12個)
If A:Then
Locate 4,1,C
Locate 4,2,F
Locate 4,3,K
IfEnd
Locate 13,1,"°C"
Locate 13,2,"°F"
Locate 13,3," K"
Locate 1,4,"<EXIT>"
Locate 11,4,"<VARS>"
-1→M
Do
Getkey→L
LpWhile L=0
L=72⇒1→M
L=62⇒2→M
L=52⇒3→M
L=58⇒4→M
K=47⇒Break
Locate 1,4," " (スペース16個)
If M=1:Then
4→X:1→Y:9→D:2→E
Prog "IN":Z→C
C(9÷5)+32→F
C+273.15→K
1→A
Else If M=2
Then
4→X:2→Y:9→D:2→E
Prog "IN":Z→F
5(F-32)÷9→C
C+273.15→K
1→A
Else If M=3
Then
4→X:3→Y:9→D:2→E
Prog "IN":Z→K
K-273.15→C
C(9÷5)+32→F
1→A
Else If M=4
Then
ClrText
Locate 2,1,"C = 5(F-32)÷9"
Locate 2,2,"F = (9÷5)C+32"
Locate 2,3,"K = C+273.15"
Locate 11,4,"<EXIT>"
While Getkey≠47
WhileEnd
While Getkey
WileEnd
IfEnd:IfEnd
IfEnd:IfEnd
WhileEnd
Cls
Locate 7,2,"BYE!"
プログラムが正しく動作することは、前回確認しています。但し、表示が以下のようになります。
プログラム起動時の画面;

換算結果表示の画面;

[VARS] キーを押して計算式の表示;

プログラムが正常終了した時の画面;

入力ボックス以外の画面設計は、fx-5800P に合わせて作ったままなので、全体に左上へ偏っていて、fx-9860GII の広い画面を活かしきれていません。
Chapter 8-9
fx-9860GII 用に表示を最適化する
今回は、この間が抜けた感じの表示を修正して、fx-9860GII 用に最適化します。
fx-9860GII 用の画面をどのようにするかは、それぞれ好みがあると思いますが、ここでは以下のような画面にしようと思います。

[VARS] キーと [EXIT] キーの配置は以下のようになっているので、これに合わせて <VARS>:FMLA の表示を左に、<EXIT> の表示を右になるように変更します。



fx-5800P のディスプレイは 16桁x4行に対して、fx-9860GII は 21桁x7行と広いので、それに合わせた表示を行います。具体的には Locate コマンドを使えば簡単です。以下のように修正します。修正した部分を赤文字で示します。
fx-9860GII:温度換算プログラム TEMPCONV
0→A
While 1
ClrText
"===Temp Converter==="
""
"1: °C" (スペース11個)
"2: °F" (スペース11個)
"3: K" (スペース12個)
If A:Then
Locate 4,3,C
Locate 4,4,F
Locate 4,5,K
IfEnd
Locate 14,3,"°C"
Locate 14,4,"°F"
Locate 14,5," K"
Locate 1,7,"<VARS>:FMLA"
Locate 16,7,"<EXIT>"
-1→M
Do
Getkey→L
LpWhile L=0
L=72⇒1→M
L=62⇒2→M
L=52⇒3→M
L=58⇒4→M
K=47⇒Break
Locate 1,7," " (スペース21個)
If M=1:Then
4→X:3→Y:10→D:2→E
Prog "IN":Z→C
C(9÷5)+32→F
C+273.15→K
1→A
Else If M=2
Then
4→X:4→Y:10→D:2→E
Prog "IN":Z→F
5(F-32)÷9→C
C+273.15→K
1→A
Else If M=3
Then
4→X:5→Y:10→D:2→E
Prog "IN":Z→K
K-273.15→C
C(9÷5)+32→F
1→A
Else If M=4
Then
ClrText
"=Converting Fomula="
Locate 2,3,"C = 5(F-32)÷9"
Locate 2,4,"F = (9÷5)C+32"
Locate 2,5,"K = C+273.15"
Locate 16,7,"<EXIT>"
While Getkey≠47
WhileEnd
While Getkey
WileEnd
IfEnd:IfEnd
IfEnd:IfEnd
WhileEnd
Cls
Locate 9,5,"Bye!"
Locate コマンドでの表示位置の変更の他に、出力命令 " " による表示を追加しました。さらに、入力ボックスの表示位置と桁数も変更しています。
入力ボックスの桁数については、10桁に変更しています。
fx-5800P から fx-9860GII への Casio basic プログラムの移植は、基本的には以下を考慮すれば簡単で、移植性が高いことが分かりました。
・ Getkey で使うキーコードの変更
・ 使えるキーの変更に合わせた Getkeyで使うキーコードの変更
・ Locate で指定する座標(表示位置)の変更の変更、使えるキーに合わせた変更
・ より広い画面に対応して、表示の追加の有無
但し、旧来の命令、?、" " の移植には注意が必要です。
つづく...
⇒ Casio Basic入門51 / Casio Basic入門G01 / 目次
応援クリックをお願いします。励みになるので...
- 関連記事
-
-
Casio Basic入門G06 2015/08/02
-
Casio Basic入門G04 2015/07/18
-
Casio Basic入門50 2015/04/24
-
Casio Basic入門46 2015/03/25
-
Casio Basic入門45 2015/03/20
-