Casio Basic入門50

Casio Basic入門
<目次>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します

2015/04/24


 4. CasioBasicを使ってみる(続き)

Chapter 8 - 初級

前回: Casio Basic入門49 を見る


◆ Chapter 8 の目標: Basic コマンドを使ってみる

前回は、fx-5800P Casio Basic プログラムを、fx-9860GII で動作するようにプログラムを移植しました。以下にそのソースコードを示します。

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!"



プログラムが正しく動作することは、前回確認しています。但し、表示が以下のようになります。

プログラム起動時の画面;

TC10-Main 

換算結果表示の画面;

TC10-Converted 

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

TC10-Dormula_1 

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

TC10-Quit_Bye 

入力ボックス以外の画面設計は、fx-5800P に合わせて作ったままなので、全体に左上へ偏っていて、fx-9860GII の広い画面を活かしきれていません。



Chapter 8-9
fx-9860GII 用に表示を最適化する

今回は、この間が抜けた感じの表示を修正して、fx-9860GII 用に最適化します。

fx-9860GII 用の画面をどのようにするかは、それぞれ好みがあると思いますが、ここでは以下のような画面にしようと思います。

TC10-Main_2 

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

TC10-9860GII 

TC10-Formula\2 

TC10-Quit_Bye_2 


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桁に変更しています。但し、この桁数は10桁が最大です。これを超える設定を行うと指数表示になるので、入力ボックスの表示が異常になるからです。



fx-5800P から fx-9860GII への Casio basic プログラムの移植は、基本的には以下を考慮すれば簡単で、移植性が高いことが分かりました。
 ・ Getkey で使うキーコードの変更
 ・ 使えるキーの変更に合わせた Getkeyで使うキーコードの変更
 ・ Locate で指定する座標(表示位置)の変更の変更、使えるキーに合わせた変更
 ・ より広い画面に対応して、表示の追加の有無

但し、旧来の命令、?" " の移植には注意が必要です。





つづく...

Casio Basic入門51Casio Basic入門G01 / 目次




応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ



 



keywords: fx-5800PCasioBasic、入力ボックス, プログラミング入門プログラム関数電卓

リンク集 | ブログ内マップ




関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

コメントの投稿

非公開コメント

最新記事
最新コメント
カテゴリ
C# (3)
検索フォーム
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

Author:やす (Krtyski)
since Oct 30, 2013


プログラム電卓は、プログラムを使ってナンボ!

実際に触って気づいたこと、自作プログラム、電卓プログラミングについて書いています

おもしろい・役に立つならクリックしてください。励みになります。
にほんブログ村 IT技術ブログ 開発言語へ
にほんブログ村


人気ブログランキングへ


FC2ブログランキングへ


写真: 「4駆で泥んこ遊び@オックスフォード郊外」

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

RSSリンクの表示
最新トラックバック
ブロとも申請フォーム

この人とブロともになる

QRコード
QR