C.Basic 英語版Webマニュアル

アドイン版 Casio Basic - 英語版Webマニュアル
<トップページ>


追記修正 2018/08/21

C.Basic の使い方は、配布ファイルに同梱されている readme_J.txt Manual_J.txt に記載されているので、これが参考になります。

2015年10月12日に作成された最初のテスト版以来、C.Basic は改良が進み、1年以上を経て安定性も増してきました。そこで、そろそろ海外デビューしても良いだろうと思い、英語版のマニュアルの準備を進めています。

C.Basic は 純正Casio Basic 互換のコマンドの実装から始まっていて、使い方の基本は 純正Casio Basic にあるので、上記の readme_J.txtManual_J.txt は、純正Casio Basic の機能以外を説明しているものです。

[2017/08/2- 追記・修正]
現在は、C.Basic の配布パッケージ (zipファイル) には、英語版の readme.E.txt と Manual_E.txt も同梱されるようになっています。

そこで、先ずはこれら2つのファイルの内容の英語化から始めています。テキストファイルだと表現に制限があるので、Webマニュアルとしました。

今後は、この英文マニュアルを元に、情報を探しやすいような英語版Webマニュアルを作ってこうと考えています。

C.Basic - 英語版Webマニュアル

所定のWebフォーマットに、上記2つのテキストファイルから日本語を流し込み、順に英語化しています。
まだ多くが日本語のままですが、あと1月程度で取りあえず完成の予定です。
[2017/08/20 追記]
私の作業が遅遅として進まないうちに、sentaro様が英文を準備なさっています。海外のユーザーさんが 英語版Webマニュアルに書いた私の英語を添削してくださったり大変有り難い状況になっています。そこで、上に書いたように 英文Webマニュアルでは検索性を考えて使いやすいマニュアルにしたいと思います。


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

人気ブログランキングへ


FC2ブログランキングへ






keywords: fx-9860GIICasioBasic、C.Basic英語版Webマニュアル

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



関連記事

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

Casio Basic入門49

Casio Basic入門
<目次>

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

2015/04/17
修正 2017/08/16

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

Chapter 8 - 初級

前回: Casio Basic入門48 を見る


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

前回で、fx-9860GII や fx-CG20/CG50 (グラフ関数電卓) 専用入力ボックスの準備が整いました。今回は、残りの移植作業を進めます。

移植前の fx-5800P 用プログラムを再掲載します。変更する部分を赤文字で示しています。

fx-5800P:温度換算プログラム TEMP CONV
0→A
While 1


Cls
"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,"<FMLA>"

-1→M
Do
Getkey→L
LpWhile L=0
L=35⇒1→M
L=36⇒2→M
L=37⇒3→M
L=74⇒4→M
K=73⇒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
Cls
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≠73
WhileEnd
While Getkey
WileEnd
IfEnd:IfEnd
IfEnd:IfEnd

WhileEnd
Cls
Locate 7,2,"BYE!"



新世代 Casio Basic は fx-5800P だけでなく、他のグラフ関数電卓にも搭載されています。そこで、今回は fx-5800P 用に作った温度換算プログラムを fx-9860GII や fx-CG20/CG50 (グラフ関数電卓) に移植することにします。

Chapter 8-8
グラフ関数電卓へプログラムを移植する


新世代 Casio Basic は、機種間の互換性は高いのですが、移植するにあたって、幾つかの制限があります。

fx-5800P から グラフ関数電卓への移植時に互換性の無いもの

出力" "(出力命令詳細動作がかなり異なる
(出力)命令fx-9860GII では -DISP- 表示にブロックされる
Cls コマンドfx-9860GII では ClrText コマンドに置き換える
入力(入力)命令fx-9860GII では ?A と言う記法が使えない
Getkey コマンドキーコードが全く異なる
変数配列変数fx-9860GII では 配列変数が無い
行列記法が異なる
その他キー同じキーが必ずしも無い
関数記法が異なることがある
プログラム名fx-9860GII では 8文字以下

" " (出力)命令は、表示行の全てを上書きします。同じ行に 先に Locate コマンドで表示してあると、それを上書き消去してしまいます。表示行を " " 命令だけで表示する場合のみ、互換性があります。

(出力)命令
-DISP- と言う表示で1行占有される。先にLocate コマンドで表示された1行が -DISP- で完全に上書きされ、画面設計が潰されます。

?(入力)命令
?A と言う記法が使えず、?→A のみが使えます。?A と書くと、変数 A に入っている値を表示した上で、そのままで良ければ[EXE] で確定できる付加機能が得られ、使いやすいプログラムが作れます。fx-9860GII ではこの機能を使えず、?→A を書くしかありません。

Cls
グラフ関数電卓では ClrText と書き換えます。機能は全く同じなので書き換えるだけで使えます。
[2017/08/16 修正] グラフ関数電卓での Cls は グラフィックス画面の消去のみを行います。というのも、グラフィックス画面の消去コマンドには ClrGraph もありますが、これは同時に座標系をデフォルトの論理座標系に変更します。Cls は座標系の変更は行わずにグラフィックス画面の消去のみを実行します。

Getkey
キーコードが全く異なるので、キーコードを変更します。Getkeyコマンド自体の動作は全く同じです。

配列変数
グラフ関数電卓には無いので、代わりに行列を使います。

行列
扱う際の書式が一部異なるので、そこを修正すれば使えます。

キー
同じキーが無いことがあります。

関数
関数の記法が一部異なります。

ファイル名
fx-5800P は12文字以内、グラフ関数電卓は 8文字以内。


旧来の命令は、Basicコマンドほど互換性が高くなく、どうやっても同じ動作を実現できないことがあります。詳しくは、下記を参照してください。
 ⇒ fx-9860GIi への移植 - 厄介な旧来の命令
 ⇒ fx-9860GII への移植 - 素因数分解
 ⇒ fx-9860GII への移植 - ピタゴラス数

一方、Basic コマンドは、適切な変更を行えば、100%の移植が可能です。


温度換算プログラム TEMP CONV について言えば、

 ・ Getkey使用の際して、キーコードを変更する。
 ・ ClsClrText に変更する。
 ・[FMLA] キーが無いので、他のキーに変更する。
 ・ ファイル名 TEMP CONV を8文字以内に変更する。

先ずはこの程度の変更で、同じ動作を行うプログラムとして移植できます。上のプログラムコードで赤文字で示した部分が、移植に際して変更が必要です。

なお、Chapter 7 で作ったプログラムは、?命令の機能が異なるので、100%同じ動作をさせる移植は不可能です。fx-9860GII などのグラフ関数電卓への将来の移植を考える場合は、旧来の命令はできるだけ使うべきではありません。



キーコードの変更

TEMP CONV で使うキーコードについて、fx-5800P と グラフ関数電卓 の違いをまとめます。

キーコード
キーfx-5800Pグラフ関数電卓
[1]3572
[2]3662
[3]3752
[EXIT]7347
[FMLA]74---
[VARS]---58

計算式を表示させるためにfx-5800P では [FMLA] キーを利用しましたが、fx-9860GII にはこのキーは無いので、変わりに [VARS] キーを使うことにします。

TC10-9860GII 

[VARS] キーは [EXIT] キーの左上にあって、互いに近いので、使いやすいと思います。


Cls → ClrText の変更

単に書き換えるだけでOK.。


ファイル名の変更

TEMP CONV は9文字なので、8文字以内にするためにスペースを取って TEMPCONV に変更する。



以上の変更を反映させると、以下のプログラムになります。

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




これを実行してみます。

fx-9860GII の電源を入れ、[MENU] キーで MAIN MENU 画面を表示;

TC10-MainManu_1 

矢印キーで PRGM アイコンを選択;

TC10-MainMenu_2 

そして [EXE] キーを押すと Program List が表示されます。

ProgramList 

矢印キーでカーソルを移動させ、TEMPCONV を選択

TC10-ProgramList 

[EXE] キーか [F1] (EXE) を押すと、プログラムが起動します。

TC10-Main 

なんだか間の抜けた感じですね。後で、それらしくなるように表示を変更することにします。先ずは動作確認をします。

[1] キーで、入力ボックス起動

TC10-[1] 

摂氏 -40 を入力し、

TC10-Input-40 

[EXE] で入力確定すると、換算結果が表示されます。

TC10-Converted 

換算は正常のようですね。では、[VARS] キーを押して計算式を表示させてみます。

TC10-Dormula_1 

では、[EXIT] キーでメイン画面へ戻ります。念のため、[EXIT] キーを押っ放しにしてみてください。

何も画面変化がなければ正常です。では [EXIT] キーを離してみると、

TC10-Converted 

メイン画面に戻りました。

プログラムを終了させるために、[EXIT] キーを押すと、

TC10-Quit_Bye 

正常終了の画面が現れます。ここで、[EXIT][AC][EXE] のいずれのキーを押しても、Program List 画面に戻ります。

TC10-ProgramList 


これで、機能面では正常であることが確認できました。



さて、間抜けな感じの表示をなんとかしたいと思います。

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

TC10-Main_2 

TC10-Formula\2 

TC10-Quit_Bye_2 

先ずは、画面表示変更に挑戦してみてください。次回は、この画面に変更する方法を紹介します。







つづく...

Casio Basic入門50 / 目次




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

人気ブログランキングへ


FC2ブログランキングへ







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

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




関連記事

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

Casio Basic入門48

Casio Basic入門
<目次>

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

2015/04/10
修正 2017/08/16

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

Chapter 8 - 初級

前回: Casio Basic入門47 を見る


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

fx-5800P 用に 温度換算プログラムを作りました。

fx-5800P:温度換算プログラム TEMP CONV
0→A
While 1


Cls
"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,"<FMLA>"

-1→M
Do
Getkey→L
LpWhile L=0
L=35⇒1→M
L=36⇒2→M
L=37⇒3→M
L=74⇒4→M
K=73⇒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
Cls
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≠73
WhileEnd
While Getkey
WileEnd
IfEnd:IfEnd
IfEnd:IfEnd

WhileEnd
Cls
Locate 7,2,"BYE!"


このプログラムを fx-9860GII や fx-CG20/CG50 (グラフ関数電卓) へ移植する際に変更するところを赤文字で示しています。



Chapter 8-7
グラフ関数電卓用入力ボックスを準備する

新世代 Casio Basic は fx-5800P だけでなく、他のグラフ関数電卓にも搭載されています。そこで、fx-5800P 用に作った温度換算プログラムを fx-9860GII や fx-CG20/CG50 (グラフ関数電卓) に移植してみます。

新世代 Casio Basic は、機種間の互換性は高いのですが、移植するにあたって、幾つかの制限があります。

fx-5800P から fx-9860GII や fx-CG20/CG50 への移植時に互換性の無いもの

出力" "(出力命令詳細動作がかなり異なる
(出力)命令fx-9860GII では -DISP- 表示にブロックされる
Cls コマンドfx-9860GII では ClrText コマンドに置き換える
入力(入力)命令fx-9860GII では ?A と言う記法が使えない
Getkey コマンドキーコードが全く異なる
変数配列変数fx-9860GII では 配列変数が無い
行列記法が異なる
その他キー同じキーが必ずしも無い
関数記法が異なることがある
プログラム名fx-9860GII では 8文字以下

" " (出力)命令は、表示行の全てを上書きします。同じ行に 先に Locate コマンドで表示してあると、それを上書き消去してしまいます。表示行を " " 命令だけで表示する場合のみ、互換性があります。

(出力)命令
-DISPー と言う表示で1行占有され、Locate コマンドによる画面設計を潰されます。

?(入力)命令
?A と言う記法が使えず、?→A のみが使えます。

Cls
fx-9860GII や fx-CG20/CG50 (グラフ関数電卓) では ClrText と書き換えます。機能は全く同じなので書き換えるだけで使えます。
[2017/08/16 修正] グラフ関数電卓での Cls はグラフィックス画面の消去のみを行います。ちなみに ClrGraph もグラフィック画面の消去ですが、画面消去と同時に座標系を デフォルトの論理座標系に戻します。これに対してグラフ関数電卓の Cls は座標系は変更せずグラフィックス画面の消去のみを実行します。

Getkey
キーコードが全く異なるので、キーコードを変更します。Getkeyコマンド自体の動作は全く同じです。

配列変数
fx-9860GII や fx-CG20/CG50 には無いので、代わりに行列を使います。

行列
扱う際の書式が一部異なるので、そこを修正すれば使えます。

キー
同じキーが無いことがあります。

関数
関数の記法が一部異なります。

ファイル名
fx-5800P は12文字以内、fx-9860GII は 8文字以内。


旧来の命令は、互換性が低く、移植時に思わぬ仕様違いから混乱するかも知れません。旧来の命令を使う限り、どうしても fx-5800P と同じ動作を実現できないこともあります。詳しくは、下記を参照してください。
 ⇒ fx-9860GIi への移植 - 厄介な旧来の命令
 ⇒ fx-9860GII への移植 - 素因数分解
 ⇒ fx-9860GII への移植 - ピタゴラス数

一方、Basic コマンドは、適切な変更を行えば、100%の移植が可能です。

さて、温度換算プログラム TEMP CONV では、e-Gadget オリジナルの入力ボックスを利用しています。先ずは、fx-5800P 用の入力ボックスではなくて、fx-9860GII を利用する必要がありまず。

今回は、その準備をします。



fx-5800P から fx-9860GII への入力ボックスの移植は、以下で紹介しています。
 ⇒ Casio Basic入門37

また、プログラムライブラリにも収録しています。
 ⇒ fx-9860GII プログラムライブラリ - 入力ボックス
 
fx-9860GII は、パソコンとのリンクができる点が、fx-5800P よりも便利な利点です。fx-9860GII をパソコンと繋ぎ、Casio Basic プログラムを 拡張子 g1m のファイルとして、パソコンに転送できますし、その逆もできます。

上記のプログラムライブラリから、入力ボックスをパソコンにダウンロードしてから、fx-9860GII へ転送できるので、自分で入力する必要はなく、入力間違いの危険性もありません。

今回の温度換算プログラムでは、IN 2.1G for fx-9860GII を使います。これをダウンロードしてください。プログラム名 IN です。

プログラム名は、fx-5800P と同じなので、入力ボックスが fx-9860GII に有れば、温度変換プログラムで 入力ボックスを使う部分は、変更なしで動作します。

念のために、以下のテストプログラムを入力して、転送した入力ボックス IN 2.1G for fx-9860GII の動作確認をしてみてください。

プログラム TEST
0→Z
"1:"
"2:"

While 1

-1→M
Do
Getkey→K
LpWhile K=0
L=72⇒1→M
L=62⇒2→M

Locate 1,4,"           " 
(スペース21個)

If M=1:Then
3→X:1→Y:10→D:2→E
Prog "IN"
Else If M=2
Then
3→X:2→Y:9→D:1→E
IfEnd:IfEnd

Locate 1,4,"Z="
Locate 3,4,Z

WhileEnd


==========

正しく動作しますか?

fx-9860GII はCPUが速いので、より快適に入力ボックスを使えます。



さて、冒頭に記載したプログラムで、赤文字で示した部分が、fx-9860GII への移植の際に変更が必要なところです。

 ・ Getkey使用に際して、キーコードを変更する。
 ・ ClsClrText に変更する。
 ・[FMLA] キーが無いので、他のキーに変更する。
 ・ ファイル名 TEMP CONV を8文字以内に変更する。

これだけで、同じ動作を行うプログラムとして移植できます。

次回までに、移植を試してみてください。それほど難しくないと思います。




つづく...

Casio Basic入門49 / 目次




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

人気ブログランキングへ


FC2ブログランキングへ







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

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




関連記事

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

Casio Basic で圧力換算プログラム

 
2017/08/15


Casio Basic で圧力換算プログラム - fx-5800P, fx-9860GII, fx-CG20/50

画像と文章が重なっている場合は、ページの再読込を行ってください(最近この問題が発生しています)。

圧力の概念圧力は、単位面積あたりの力だと定義されていて、具体的には力を面積で割って圧力の値が得られる。


左図はネットで見つけた画像 (F_Master's Eye)を使わせて貰っているが、国際単位系の Pa (パスカル) で圧力を説明したものだ。

ところが、実際の圧力の単位は、地域や技術分野に応じて、今でも異なった単位が普通に使われていて、私にとっては暗算で換算するのがとても厄介だ。

というのも、アメリカでは psi (ポンド/平方インチ)、イギリスなどヨーロッパでは bar (バール)、日本やアジアでは国際単位として推奨されている Pa (パスカル)が使われることが多い。また分野が変われば、atm (気圧)、mmHgmmH2O など、国際単位系ではなくて昔からの単位が未だに使われている。圧力単位ほど混乱しているものは無いと思う。

国内外の様々な分野の人達と技術的な話をしている時、好き勝手な圧力単位で話をするものだから、チョット待った!と言いたくなることが有る。パソコンを使う余裕がないことが多く、このような時こそプログラム電卓の本領発揮だと思う。

そこで、Casio Basic で自作して常用している圧力換算プログラムを紹介する。



各種圧力の換算式

最初に fx-5800P 用プログラムを作った。このプログラム電卓の画面は4行表示なので、換算する圧力を psiKPabaratm の4種類を選んだ。換算式の導き方は様々あるが、結果は1つだ。今回は Kgf/m2 を基準の単位として、上記4つの単位間の換算式を作った。

1. psi (変数 P)
1 psi = 1 ポンド/インチ2 = 453.59237 (gf) / (2.54cm)2 = 70.30695796 (gf/cm2) = 703.0695796 (Kgf/m2)
変数 S =703.695796Kgf/m2P (psi) としたときG =PSKgf/m2
変数 T = S/U =6.894757293KPa
N =PS/UKPa
=0.068947573bar
B =PT/Vbar
=0.068045964atm
A =PT/Watm

2. KPa (変数 N)
1 KPa = 1000 (N/m2) = 1000/980665 (Kgf/m2)
変数 U =101.9716213Kgf/m2N (KPa) としたときG =NUKgf/m2
=0.145037738psi
P =N/Tpsi
変数 R =0.01bar
B =NRbar
=0.009869233atm
A =N/Watm

3. bar (変数 B)
1 (bar) = 100 (KPa)
1 Bar = 変数 V =100KPaB (bar) としたときN =BVKPa
=0.980665Kgf/m2
G =BV/UKgf/m2
=14.50377377psi
P =BV/Tpsi
=0.98692367atm
A =BV/Watm

4. atm (変数 A)
1 atm = 101.325 KPa
1 atm = 変数 W =101.325KPaA (atm) としたときN =AWKPa
=0.144118026Kgf/m2
G =AW/SKgf/m2
=14.69594878psi
P =AW/Tpsi
=1.01325bar
B =AW/Vbar

4つの単位で換算した値を P (psi)、N (KPa)、B (bar)、A (atm) とし、計算を分かり易くするために 変数 STUVW を用いる。変数 GKgf/m2 単位を基準に考えるためのもので、プログラムでは使わない。

fx-5800P で作ったプログラムを fx-980GII や fx-CG20 / CG50 にも移植し、どのプログラム電卓でも圧力換算ができるようにしている。


プログラムの概略

表 示
画面表示を以下のようにする。
1.psi:
2.KPa:
3.bar:
4.atm:

構 造
プログラムの構造は以下のようにする。

[初期設定]

[変数の初期化]

[初期の画面表示]
 (fx-5800P と グラフ関数電卓では記述が異なる)


While 1

 [キー入力取得] (fx-5800P とグラフ関数電卓ではキーコードが異なる)

 [換算計算]


 [画面表示の更新]
 (fx-5800P とグラフ関数電卓では記述が異なる)


WhileEnd


[プログラム終了時の画面表示]
 (fx-5800P とグラフ関数電卓では記述が異なる)


なお、当ブログオリジナルの汎用サブルーチン:入力ボックス INP を利用する。
fx-5800P 用入力ボックス
fx-9860GII / fx-CG20/50 用入力ボックス


機種別のプログラム・トピックス

fx-5800P 用プログラム
fx-5800P では小文字のアルファベットが使えないので、関数や定数をうまく利用して小文字を表現する。

Locate 1,1,"1.psin("
Locate 6,1,": "
Locate 1,2,"2.KPao"
Locate 6,2,":"
Locate 1,3,"3"
Locate 2,3,"Abs("
Locate 2,3,"."
Locate 4,3,"ao"
Locate 5,3,"re"
Locate 6,3,":"
Locate 1,4,"4:atm:"


1.psi: の入力方法
- "1." ⇒ [1] [.] 
- "" ⇒ [FUNCTION] [1] (1:MATH) [▼] [▼] [▼] [4] (4:p)
- "sin(" ⇒ [sin]
- "" ⇒ [SHIFT] [√□] (:) 

2.psi: の入力方法
- "2.KP" ⇒ [2] [.] [K] [P]
- "ao" ⇒ [FUNCTION] [4] (CONST) [5] (5:ao)
- ":" ⇒ [SHIFT] [√□] (:)

3.bar: の入力方法
- "" ⇒ [3]
- "Abs(" ⇒ [FUNCTION] [1] (MATH) [▼] [1] (1:Abs)
- "" ⇒ [.]
- "ao" ⇒ [FUNCTION] [4] (CONST) [5] (5:ao)
- "re" ⇒ [FUNCTION] [4] (4:CONST) [▼] [3] (3:re)
- "" ⇒ [SHIFT] [√□] (:)

4.atm: の入力方法
- "4." ⇒ [4] [.]
- "atm" ⇒ [FUNCTION] [4] (CONST) [▼] [▼] [ ▼] [▼] [8] (8:atm)

具体的なプログラムは、以下を参照;
プログラムライブラリ - 圧力換算 (fx-5800P)


fx-9860GII、fx-CG20/50 用プログラム
これらのグラフ関数電卓では、小文字、大文字の両方のアルファベットが使えるので、fx-5800P のような画面表示での工夫は不要で、簡単に記述できる。また、キーコードが fx-5800P と異なるので、それに合わせて変える。グラフ関数電卓 fx-9860GII、fx-9860GII SD、fx-CG10、fx-CG20、fx-CG50 などのキーコードは完全に同じなので完全互換のプログラムになる。

なお、fx-5800P のテキスト画面は4行16桁であるが、これらのグラフ関数電卓では7行21桁と広いことを活かして、見やすく使いやすくするために画面表示を変える価値はあると思う。

具体的なプログラムは、以下を参照;
プログラムライブラリ - 圧力換算 (fx-9860GII、fx-CG20 / CG50)






応援クリックをお願いします。励みになるので..
にほんブログ村 IT技術ブログ 開発言語へ


 

keywords: CasioBasicプログラム電卓、fx-5800P、fx-9860GII、fx-CG20、fx-CG50
リンク集 | ブログ内マップ

関連記事

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

プログラムライブラリ - 圧力換算 (fx-9860GII、fx-CG20 / CG50)

プログラムライブラリ
<目次>

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

2017/08/15

PConvert (圧力換算プログラム) - fx-9860GII、fx-CG20 / fx-CG50

著作権者

やす (Krtyski)
[当ブログ管理人]



対応機種

Casio fx-9860GII、fx-CG20 / fx-CG50 (fx-FD10 Pro でも使えると思われます)

Casio fx-5800P用は こちら



プログラムの使い方

圧力単位 psi、KPa、bar、atm の間での換算を行う。

例えば、以下の画面表示の時、

=Pressure Coverter=
1.psi:15
2.KPa:103.3213
3.Bar
:1.034213
4.A
tm:1.020689

<EXIT>:Quit


同じ圧力を4つの異なる単位で表示している。

ここで、10 bar の他の単位での換算値を知るには、[3] キーを押して

=Pressure Converter=
1.psi:15
2.KPa:103.3213
3.Bar:>>>>>>>>
4.Atm:1.020689

<EXIT>:Quit

bar 単位に 10 を入力すると、以下のように各単位での換算値が表示される。

=Pressure Converter=
1.psi:145.0377
2.KPa:1000
3.Bar:10
4.Atm:9.869232

<EXIT>:Quit

プログラムを終了するために [EXIT] キーを押すと、Bye! と表示してプログラムが終了する。



プログラムの説明

Casio Basic で圧力換算プログラム を参照



プログラムファイル

※ プログラムファイル: g1m ファイル (fx-9860GII) のダウンロード
※ プログラムファイル: g3m ファイル (fx-CG20_CG50) のダウンロード




応援クリックをお願いします。励みになるので..
にほんブログ村 IT技術ブログ 開発言語へ


 

keywords: CasioBasicプログラム電卓、圧力換算、fx-5800P、fx-9860GII、fx-CG20、fx-CG50

関連記事

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

プログラムライブラリ - 圧力換算 (fx-5800P)

プログラムライブラリ
<目次>

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

2017/07/28

PConverter (圧力換算プログラム) - fx-5800P


著作権者

やす (Krtyski)
[当ブログ管理人]



対応機種

Casio fx-5800P

Casio fx-9860GII、fx-CG20 / fx-CG50 用は こちら



プログラムの使い方

圧力単位 psi、KPa、bar、atm の間での換算を行う。

例えば、以下の画面表示の時、

1.psi:15
2.KPa:103.3213
3.bar:1.034213
4.atm:1.020689


同じ圧力を4つの異なる単位で表示している。

ここで、10 bar の他の単位での換算値を知るには、[3] キーを押して

1.psi:15
2.KPa:103.3213
3.bar:>>>>>>>>
4.atm:1.020689

bar 単位に 10 を入力すると、以下のように各単位での換算値が表示される。

1.psi:145.0377
2.KPa:1000
3.bar:10
4.atm:9.869232


プログラムを終了するために [EXIT] キーを押すと、BYE! と表示してプログラムが終了する。



プログラムの説明

Casio Basic で圧力換算プログラム を参照



ソースファイル

PDFファイル、EXCELファイルのダウンロード

PConverterソース 



応援クリックをお願いします。励みになるので..
にほんブログ村 IT技術ブログ 開発言語へ


 

keywords: CasioBasicプログラム電卓、圧力換算、fx-5800P、fx-9860GII、fx-CG20、fx-CG50

関連記事

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

プログラムライブラリ - もぐら叩き (fx-5800P)

プログラムライブラリ
<目次>

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

更新 2017/08/15

WHACK-A-Mole (もぐら叩き) - fx-5800P


著作権者

やす (Krtyski)
[当ブログ管理人]



対応機種

Casio fx-5800P

Casio fx-CG20 / fx-CG50 用は こちら
Casop fx-9860GII 用は こちら



プログラムの説明

Whack-A-Mole は、非力な fx-5800P でアクションゲームを作れるかどうか試しに作った "もぐら叩き" です。プログラム作成の詳細は fx-5800P【ゲーム】:もぐら叩き を参考にしてください (この記事のプログラムにおいて。Lbl 0 の下に2行追加したものをプログラムライブラリに収録しています。

3×3 の配置の孔から モグラが顔を出した時に [1] ~ [9] の対応するテンキーで叩く、お馴染みのモグラ叩き。

一定ポイントを超えると、偽モグラが顔を出したり、偽モグラと本物が一緒に顔を出すようになり、偽モグラを叩くとペナルティとなります。各種設定を変更する機能があり、難易度を自由に変えられます。



プログラムの使い方

もぐら退治の賞金稼ぎがゲームコンセプト:
  • ゲーム開始時に、LIFE ポイント (初期値 7) をもらう。
  • モグラ退治が遅い場合や間違って退治するとLIFE が減り、LIFE ゼロでゲーム終了!
  • モグラ1匹あたり、定額の資金 (FUND、初期値 20) をもらう。
  • モグラ退治に時間がかかるほど、退治費用 (COST) がかさむ。
  • モグラ退治が速ければ、FUND - COST が儲けとなり、賞金 PRIZE に加算される、
  • モグラが顔を出してから所定の時間がかかり COST が BURSTポイント (初期値 6) までかさむと、BURST となり LIFE が 1 減る、
  • モグラが顔を出してから時間がかかり過ぎて COST が TIME-OUTポイント (初期値 8) までかさむと、時間切れ (Time-Out) になって  LIFE が 1 減るだけでなく、賞金 PRIZE が BUST LOSS (初期値 25) だけごっそり減る 。
  • 賞金 PRIZE が INVOKE FAKE ポイント (初期値 200) に達すると、FAKE モードが発動する。
  • FAKE ONE モードは、偽モグラが出現する。放置しなければならない。手を出すと LIFE が 1 減る。
  • FAKE TWO モードは、偽モグラと本物モグラが同時に出現。本物を退治すると儲けがあるが、偽モグラを退治すると LIFE が 1 減る。
限られたLIFEで、どこまで賞金(PRIZE) を稼げるか、がんばろう!!

wam-fake1 wam-fake2 
左は 偽モグラが現れている。右は偽モグラと本物モグラが同時に現れている。

なお、設定値 LIFE、BURST、TIME-OUT、FUND、BURST LOSS、INVOKE FAKE は SETTINGS で変更できます。

wam-menu 



プログラムの構成

メインプログラム: WHACK-A-MOLE (これを起動する)
ゲーム本体: WAM



ソースコード

PDFファイルのダウンロード

 Wack-A-Mole_fx-5800P Src 


 


応援クリックをお願いします。励みになるので...
にほんブログ村 IT技術ブログ 開発言語へ





keywords: fx-5800PCasioBasic、プログラムライブラリもぐら叩き、プログラム関数電卓

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


関連記事

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

プログラムライブラリ - もぐら叩き (fx-9860GII)

プログラムライブラリ
<目次>

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

2017/08/04
追加・修正 2017/08/15

WHACK-A-Mole (もぐら叩き) - fx-9860GII


著作権者

やす (Krtyski)
[当ブログ管理人]



対応機種

Casio fx-9860GII (fx-FD10 Pro でも動作すると思われます)

Casio fx-5800P 用は こちら
Casop fx-CG10 / fx-CG20 / fx-CG50 用は こちら



プログラムの説明

Whack-A-Mole (もぐら叩き) のオリジナルは、非力な fx-5800P でアクションゲームを作れるかどうか試しに作ったものです。

それを fx-9860GII に移植しました。

設定を変更する画面では、fx-5800P に搭載されている便利な ? 命令が fx-9860GII には無いので、e-Gadget 特製入力ボックス 2.1G を使ってプログラム全体を見直して、使い易くしました。

ゲーム機能は、fx-5800P 用と同じ。3×3 の配置の孔から モグラが顔を出した時に [1] ~ [9] の対応するテンキーで叩く、お馴染みのモグラ叩きです。

一定ポイントを超えると、偽モグラが顔を出したり、偽モグラと本物が一緒に顔を出すようになり、偽モグラを叩くとペナルティとなります。各種設定を変更する機能があり、難易度を自由に変えられます。

今回の移植にあたり、ゲーム進行を遅くするための ウェイト 設定を新設し、他のパラメータの初期値も変更しています。デフォルトで fx-5800P と同じ感じで遊べるようになっていると思います (若干易しめ)。



プログラムの使い方

もぐら退治の賞金稼ぎがゲームコンセプト:
  • ゲーム開始時に、LIFE ポイント (初期値 7) をもらう。
  • モグラ退治が遅い場合や間違って退治するとLIFE が減り、LIFE ゼロでゲーム終了!
  • モグラ1匹あたり、定額の資金 (FUND、初期値 20) をもらう。
  • モグラ退治に時間がかかるほど、退治費用 (COST) がかさむ。
  • モグラ退治が速ければ、FUND - COST が儲けとなり、賞金 PRIZE に加算される、
  • モグラが顔を出してから所定の時間がかかり COST が BURSTポイント (初期値 6) までかさむと、BURST となり LIFE が 1 減る、
  • モグラが顔を出してから時間がかかり過ぎて COST が TIME-OUTポイント (初期値 8) までかさむと、時間切れ (Time-Out) になって  LIFE が 1 減るだけでなく、賞金 PRIZE が BUST LOSS (初期値 25) だけごっそり減る 。
  • 賞金 PRIZE が INVOKE FAKE ポイント (初期値 200) に達すると、FAKE モードが発動する。
  • FAKE ONE モードは、偽モグラが出現する。放置しなければならない。手を出すと LIFE が 1 減る。
  • FAKE TWO モードは、偽モグラと本物モグラが同時に出現。本物を退治すると儲けがあるが、偽モグラを退治すると LIFE が 1 減る。
限られたLIFEで、どこまで賞金(PRIZE) を稼げるか、がんばろう!!

Life、Burst、Time-Out、Fund、Burst Loss、Invoke Fake、Wait の設定値は Settings で変更できます。



チューンアップした時の設定について

fx-9860GII で Casio Basicプログラムの動作を高速化する方法が1つあります;
  • チューンアップツール Ftune2 を使ってオーバークロックする方法 ⇒ こちらを参照
  • アドイン版Casio Basic: C.Basic でプログラムを走らせる方法 ⇒ こちらを参照
Ftune2C.Basic を併せて使えば、Casio Basic プログラムを大幅に高速化できます。

これらの環境で もぐら叩きを楽しむには、設定画面で Wait を 大きな数値に設定する必要があります。例えば、280MHz にチューンアップして C.Basic で走らせる場合は、Wait=3000 くらいにすれば fx-5800P と同じ感じで遊べます。これは極端としても 2桁~3桁の値を試してみてください。



プログラムの構成

メインプログラム: WHACKAMO (これを起動する)
ゲーム本体: WAM

WAM1shWAM2shWAM3sh.jpg
WAM3sh.jpgWAM4sh.jpgWAM6sh.jpg
WAM7sh.jpgWAM8sh.jpgWAM9sh.jpg



ダウンロード

プログラムファイルのダウンロード: Whack-a-Mole.zjp



ソースコード

PDF と ECELファイルのダウンロード
 [2017/08/16 追加・修正] Excel ファイルもダウンロードできるように追加、ソースリストを訂正。

fx-9860GII Whack-a-Mole src 



応援クリックをお願いします。励みになるので...
にほんブログ村 IT技術ブログ 開発言語へ





keywords: fx-5800PCasioBasic、プログラムライブラリもぐら叩き、プログラム関数電卓

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


関連記事

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

Casio fx-9860GII SD と fx-9860GII (OS 2.09)

2017/08/15


fx-9860GII & fx-9860GII SD  
最近 fx-9860GII SD と fx-9860GII を購入した。既に 2014年に入手して使っている国内正規版の fx-9860GII との違いについて、気がついた点を紹介する。

左が fx-9860GII SD で、写真では分かりにくいが、シルバーと濃紺のツートーンカラーで、若干高級感が漂う。機種名から分かるように SDカードスロットがありプログラムやデータを SD カードに保存でき、プログラムやデータのバックアップやPCとのやりとりに役立つ。残念ながら国内では未発売だ。

カシオの日本語サイトでは、fx-9860GII は生産中止となっているが、大型量販店ではまだ販売されているので、しばらくは在庫で対応しているのだと思う。ちなみに fx-CG20 も生産中止となっていて、国内ではグラフ関数電卓は全て生産中止になった格好だ。一方で、国内では未発売で、欧米で2017年3月末に発売された fx-CG50 が、いずれ国内でも発売されるのではないかと思っている (Casio fx-CG50 の概要 参照)。

Amazon Japan では、fx-9860GII 国内正規品の取り扱いが無くなっており、並行輸入品は¥11,000 程度と高価だが、Amazon USA では $66.96 で日本への送料を含めても ¥7,757 (1$ = ¥109) とかなり安く入手できる (2017年8月時点)。Amazon USA でポチッとしてから配達まで11日かかった。

国内未発売の fx-9860GII SD は Amazon USA で $127 で、日本への送料を含めると¥16,700 (1$ = ¥109)でかなり高価になる (2017年8月時点)。ポチッとしてから配達まで17日かかった。

Casio プログラム電卓の価格動向


OS バージョンと製造時期

カシオのグラフ関数電卓のソフトウェアは、OS とアドインプログラムから校正されていて、関数電卓としての機能や Casio Basic は OS
 に含まれる。2014年に入手した国内正規品」のOSバージョンは 2.04 で、今回購入した2機種の OS は共に 2.09 となっている。生産中止になって、まだ国内販売されているものは OS2.04 のままで、カシオのソフトウェアアップデートのページを見ると 最終 OS は 2.04 のままだ、ところが、ダウンロードできる取扱説明書は OS 2.09 になっているのが興味深い。
OS 2.04 から 2.09 へのアップデートにより、試験持ち込み時に電卓機能を制限できるようになる。

fx-9860GII シリーズは、電卓の裏側に英数字のコードが印刷されたステッカーが貼り付けられている。

[数字3桁] + "AW" + [英数2桁] + [アルファベット2桁] + [シリアル番号(6桁)]

- 数字3桁: fx-9860GII は 994、fx-9860GII SD は 997 となっているようだ。
- 英数2桁: 1桁目は製造年 (2009年以降の20XN年の N) + 2桁目は製造月 (1~9月は数字、10月はX、11月はY、12月はZ) 


私が所有しているのは、
- 2014年入手の fx-9860GII:   英数2桁 = 44 ⇒ 2014年4月製造、OS 2.04
- 2017年入手の fx-9860GII:   英数2桁 = 74 ⇒ 2017年4月製造、OS 2.09
- 2017年入手の fx-9860GII SD: 英数2桁 = 6Y ⇒ 2016年11月製造、OS 2.09


同梱品

2014年入手の fx-9860GII は、以下が同梱されていた;
- 電卓本体 + クイックマニュアル + 保証書 + USB ケーブル + 3Pケーブル + CD

ところが、2017年入手の fx-9860GII / fx-9860GII SD は以下のように同梱物が削減されている;
- 電卓本体 + クイックマニュアル + 保証書 + USBケーブル



矢印キー

2014年に入手した fx-9860GII の矢印キーは、特定方向のキーを押すとキーと筐体が干渉してギシギシ音が鳴る。当ブログの読者の sentaro様や AkSd 様からも同じ問題の報告を頂いている。

2017年4月製造の fx-9860GII はこの問題が見られず、地道な改善が行われている可能性がある。なお 2016年製造11月の fx-9860GII SD は矢印キーの問題が残っている。


SDカードの効用

SDカードには、プログラムやデータの保存のみができる。SD に保存した Casio Basic プログラムを直接起動できあにし、Casio Basic プログラムから SDカードのデータにアクセスすることはできない。とは言うものの、PCに繋がなくても アドインプログラムやCasio Basic プログラムを保存できるのはとても便利だ。

SD規格の高速なものが良く、SDH や SDXC 規格だと却ってアクセスが遅くなるとのことだ (sentaro様による情報)。

なお、アドイン版Casio Basi (C.Basic) では、SD上のプログラムを起動でき、SDカード上のプログラムやデータにアクセス可能だ。私は  Panasonic のHigh Speed SD 512MB を使っている。




機能・性能

機能や性能は、SDカードを使えるかどうかを除けば、他は全く同じだ。





何か新たなことが分かれば、追記してゆく。



応援クリックをお願いします。励みになるので..
にほんブログ村 IT技術ブログ 開発言語へ


 

keywords: CasioBasicプログラム電卓、fx-9860GII SD、fx-9860GII
リンク集 | ブログ内マップ

関連記事

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

プログラム関数電卓でプログラミング

fx-5800Pプログラミング入門のための CasioBasic入門連載中
 
2014/10/05 修正
2014/12/19 fx-9860GII に関する追記
2015/03/12 Hit & Blowに関する追記
2016/04/26 fx-CG20 に関する追記
2017/08/10 fx-CG50 に関する追記

fx-5800Pはプログラミング入門に良いと思っている。

fx-5800P-3 fx-9860GII   fx-CG20_mid       fx-CG50_small  
   カシオ  fx-5800P    カシオ fx-9860GII    カシオ fx-CG20     Casio fx-CG50

 fx-5800P、fx-9860GII、fx-CG20、fx-CG50 に搭載されているプログラミング言語は、Casio Basicという構造化Basicだ。カシオのプログラム電卓に固有で便利な命令もあるが、殆どが一般の Basic と同等の言語仕様となっている。但し、代入の記法の違いと大域変数のみである点を入門用としてどう考えるか?で判断が分かれるかも知れない。私は大きな問題ではないと思っている。

カシオは、プログラム関数電卓 fx-5800P、グラフ関数電卓 fx-9860GII、fx-CG20、fx-CG50 や最近発売された土木測量向け電卓にも Casio Basic を搭載しており、高い互換性がある。ハードウェア依存の Getkey コマンドなどを除けば移植性が高いようだ。LocateGetkey などの入出力関連コマンドはハードウェアに依存した違いがあるが、移植は簡単だ。それ以外の多くの共通のコマンドや言語仕様は、ほぼ互換性があるといって良い。

 ⇒ Casio Basic - 機種間の互換性
 ⇒ fx-CG20 の概要
 ⇒ fx-5800P / fx-9860GII / fx-CG20 / fx-CG50 プログラムライブラリ - キーコード取得 
 ⇒ fx-9860GII USB POWER GRAPHIC 2
 ⇒ fx-9860GII への移植 - ピタゴラス数
 ⇒ fx-9860GII への移植 - 素因数分解
 ⇒ fx-9860GII への移植 - 厄介な旧来の命令
 ⇒ Casio fx-CG50 の概要

これらの上位機種である グラフ関数電卓と同じく、Casio Basic を使える fx-5800P は、実売価格、携帯性(コンパクト性)、電池寿命などの点で、圧倒的に優位だ。fx-5800P は Casio Basic 入門機として最適であるだけでなく、Casio Basic は高機能なので、プログラミング経験のある人には、すぐにプログラムを書ける実用機でもある。

これら機種の価格動向からみれば、fx-9860GII や fx-CG20、fx-CG50 そして fx-FD10 Pro は高価だ。


プログラム関数電卓でのプログラミング超入門

パソコンのプログラミング入門で、「Hello World と表示させるプログラム」が最初に取り上げられている書籍を以前よく見たものだ。


これを Casio Basic で書くと、

"Hello World"

と、たった1行書くだけ! 出力命令 " " を使っている。そして、幾つかのキー操作で、即実行できる。MS-DOS、Windows、MACだろうが、Visual Basic、VB.net やC、C++だろうが、こんな簡単ではない。


キーボードから、何か数字を入力して、それを表示させるプログラムは、

?→A

はい、たったこれだけ! 

入力して、何か計算をして、結果を出力するのが、プログラムの基本動作だ。上のプログラムは、なにやら暗号のようだが、「入力」と「出力」と言う基本的な2つの仕事を行っている。

「?」 は入力待ちの命令、「→」は入力された数字を変数Aに代入する命令。つまり、1つめの仕事は、数字を入力させ、それを変数に入れると言うもの。A は、変数Aの中身を表示しなさいと言うものだ。

このプログラムを実行すると、画面表示は

?

とそっけない。ここで何か数字を入力してから [EXE]キーを押すと、入力した数字が表示される。


ちょっとグレードアップしてみる。

"INPUT NUMBER"?→A

「?」の前に「"」で挟んだ文字を追加しただけた。これを実行すると、

INPUT NUMBER ?

と表示される。


ここで、何か整数でも少数でも入力すれば、それが表示される。


さて、ここからが関数電卓のプログラムの面白いところだ。

INPUT NUMBER ?

と表示されている時に、sin(30) と打ち込むことも出来る。すると、

0.5

と表示される。

sin(30)の代わりに、数値積分の式を入れても、しっかりその計算結果が表示される。面倒な計算は、関数電卓が持っている機能を使えば良い。プログラムは、手順を示すだけのもので良い。当然、プログラムの中で計算をさせることもできる。


さて、妙な記号ばかり出てきたが、他のコマンドは、分かりやすい。

Goto ~ Lbl
If ~ Then (~ Else) ~ IfEnd
Do ~ LpWhile
While ~ WhileEnd


といった、Basic と同じコマンドが揃っている。

上のコマンドは、それぞれ

・ここから、指定の行までジャンプしなさい
・もし、○○ の時は△△を実行し、そうでない時は□□を実行しなさい
Do と書いたところから、LpWhile までを、グルグル繰り返しなさい。●●が真なら繰り返しなさい
While と書いたところから、WhileEnd までを、グルグル繰り返しなさい。■■が真なら繰り返しなさい。


と言う意味だ。英語の意味そのままなので、ちょっと練習すると、簡単にすぐ分かる。


fx-5800P でプログラムを書くのが簡単だとお分かり頂けるだろうか?



プログラム電卓にさせる仕事は、単純な計算だが、条件を種々変更して何度も実行すること、おそらくこれに尽きると思う。

付け加えるならば、パソコンを起動して、上記のような仕事をするには面倒に思う時こそ、プログラム電卓の出番だ。



電卓プログラムで便利な用途

プログラミングに科学技術の知識は殆ど不要だ。関数電卓は使いこなせなくても、プログラム電卓は使いこなせる。言い換えれば、プログラム電卓は関数電卓の延長線上にある必要はない。実際のプログラム電卓は、関数電卓の高機能バージョンとして発売されているから、勘違いされやすいのだが...

プログラミング能力は特別のものでなく、理系か文系、年齢や性別に無関係なのは、IT業界では広く知られている。理系の大学を卒業してもプログラムを書けない人が居ても不思議ではなく、文系でもSEやプログラマで活躍している人が普通にいる。男女比率が1:1なら、プログラミングのできるできないも1:1なのだ。1億3千万人の日本人の半分がプログラミングしても、驚くことではない。

さらに、作るプログラムは、科学技術に関係するものだけでなく、日常生活や事務系や営業系の仕事で便利な実用プログラムもあって、PCやスマホで使っているわけた。 当然、電卓で作るプログラムも同じで、当ブログでは科学技術以外の実用プログラムを紹介している。

電卓で作って・使って便利なプログラムには、どんなものがあるだろうか?
思いつく範囲で列挙してみる。

・世界時間換算:
今日本は18:00だから、イギリスでは何時?とか カナダの朝9:00に電話するには、日本の何時に電話をかければ良いか?といったことは、グローバル社会では結構ある。海外では夏時間も考えなければならない。そんな時に電卓でパッと海外の相手の時間が分かれば、とても便利だ。このプログラムを作って、私は毎日のように利用している。地域による微妙な時差にも対応している。
Casio Basic入門で取り上げている ⇒ こちら

年齢換算
生まれ年から年齢を割り出す。年齢から生まれ年を割り出す。歳の話になって、電卓を持ち出すとその場の空気が淀む可能性あり...
Casio Basic入門で取り上げているこちら

西暦と和暦の変換計算
電卓がすぐ横にあることが大前提だが....
Casio Basic入門で取り上げているこちら

温度単位の換算
摂氏(°C)、華氏(°F)、絶対温度(K)の換算。どれか1つを入力すると、他の単位での温度の値が表示されるプログラム。特に摂氏と華氏の換算はたまにアメリカへ出かけると役に立つ。実はプログラムはとても簡単に作れる。
Casio Basic入門で取り上げているこちら

分子量計算
この手の計算を頻繁に電卓でやりたい人は、何か特定のジャンルの化合物しか扱わないので、電卓に入れておくべき原子量データは知れていると思う。
半導体ならSi、Ga、As、Al、In、N といった程度だし、組成比が小数ならば電卓が楽だ。
有機化学なら、C、H、O、N、S、P、Mg、Zn、Cl、Br、I にあと数種の原子があれば間に合うだろう。普通の関数電卓で十分と言う人には、はいそうですね、と答えるしかない(-_-)  昔、CASIOのFX-603Pを使っていた時は入れていたと言う...

売り買いに関する計算?
原価計算、見積計算、売値から仕入値(指値)の計算など...
そもそも営業マンで値段をスバっと答える人が少ないと言う話もあるが、おそらく暗算できないという理由では無く、大人の事情があるとは思うが...
原価から各種経費を考えて最終価格を計算したり、最終コストから各種経費を前提に原価、買値を割り出したりするのに便利。
価格交渉の概算用に私の電卓には既に入っている...( ^o^)ノ

寸法精度の計算
工作現場で、サイン・コサイン・タンジェントが絡む計算で、穴位置や切る位置を、あれこれ現物合わせするのに便利なことが多いように思う。予めプログラムを準備しておくのではなく、その場でチャッチャッチャとプログラムを組む使い方にはなってしまうが...(経験あり)

光学計算
カメラのセンサとレンズの特性から、分解能、ピクセル数、ピクセルピッチ、センササイズ、レンズのF値、口径、焦点距離などを、色々計算してみたい....電卓でプログラムを使えると便利だ。私の電卓には既に入っていて使っている...

圧力単位の換算
アメリカがヤード・ポンド法をいまだに使っているため、psi (pounds per square inch) などと厄介な圧力単位がある。いや、アメリカだけが悪いわけでもない。とにかく圧力の単位ってヤツは、Pa (パスカル)、Bar (バール)、Kgf / m、mmHg、mmHO、Atm 等々、技術分野が異なれば使う単位はバラバラ。会議や展示会でアメリカ人(psiを好む)やヨーロッパ人(Barを好む)と圧力の話になると、英語よりも単位換算が追いつかないことも....これはある意味必須で、私の電卓には既に実装済み
Casio Basic で圧力換算プログラム

ゲーム
プログラミングを始めたら、やはりゲームを作ってみたいものだ。 \(^_^)/
但し、使えるプログラミング言語によって、作れるゲームが大きく異なる。
fx-5800Pには、pause命令(待ちの命令) / HLT命令 (動作再開) がない。ループやGetkeyを使って作れなくもないが、アクションゲームには不向きと言える。
FX-603P / 602P / 502P には、pause / HLTがあるので、アクションを含めた数々のゲームが過去公開されていた。付け加えるなら、間接ジャンプ命令(現行のfx-5800Pには無い)が使えることも大変便利だった。

【2014/01/13 追記】 fx-5800Pの実力を確かめるために、アクションゲーム(もぐら叩き)を作ってみたが、そこそこ遊べるゲームが出来た。
 【2017/08/10 追記】 もぐら叩きをプログラムライブラリに収録した。
 ⇒ プログラムライブラリ - もぐら叩き (fx-5800P)
 ⇒ プログラムライブラリ - もぐら叩き (fx-9860GII)
 ⇒ プログラムライブラリ - もぐら叩き (fx-CG20 / fx-CG50)

【2014/10/05 追記】 昔のカシオ電卓のプログラムライブラリには必ず Hit & Blow が入っていた。fx-5800P でも Hit & Blow を作ってみた(3桁から5桁に対応してみたが、あまり意味がないかも...)。

【2015/03/12 追記】 Hit & Blow を fx-9860GII にも移植した。fx-5800P用 ならびに fx-9860GII 用の Hit & Blow を e-Gadget アーカイブに収録した。 ⇒ e-Gadget アーカイブ


どうであろうか?
何かを作ることが好きならば、電卓でのプログラミングも愉しいのではないかと思う。



fx-5800P はプログラミング入門に向いている?

CASIOの往年の名機とも言われる FX-603P / 602P / 502P は、かなり独特なプログラミング言語を搭載していて、私にはプログラミングの敷居は高かった。一方で、CASIOの現行機 fx-5800P は、一般的な BASIC に近い言語なので、非常に分かりやすい。

昔のNECのパソコンに搭載されていた N88-BASIC や Visual Basicなどを触った経験を少しでもお持ちなら、fx-5800Pですぐにプログラミングが出来ると思う。プログラミング経験の無い方でも、何かを作ることが好きだと言う方ならば、fx-5800Pはプログラミング入門に向いている


fx-5800Pでのプログラミングの敷居が低いのには、訳がある。

・非常に限られた機能しか無いので、覚えることが少ない
・プログラムを入力すれば、すぐにその場で実行してみることができる
・何かエラーがあれば、エラーが発生したところが分かる

といった特性があるからだ。

しかし、構造化Basic に対応しており、決してバカにしてはいけない。実用的なプログラムを作るだけの高機能なのだ。最近発売された 土木測量向け fx-FD10 pro には予め土木・測量で有用なプログラムが搭載されているが、これらは Casio Basicで記述されている。


多くの方が持っている EXCELで使えるVBAはBasicだから簡単そうに見え、入門者向けのように言う人も居るが、実はそうでもない。本を1冊か2冊か買ってこなければ、簡単なプログラムでもちゃんと動かすまでに覚えることが非常に多い。Windowsの知識が必要であったり、オブジェクト構造の理解が必要で、Basic のコマンドを知っていても、やりたいことがスグにできないのだ。


私は、CASIOのプログラム電卓しか触ったことが無いので、SHARP、HP、TI などのプログラム電卓の言語がどのようなものかは知識でしか知らない。さらに、全てのCASIO製プログラム電卓を触ったわけでもない。私が触ったことのある製品は、FX-502P / FX-602P / FX603P / fx-4500P そして、fx-5800P と fx-9860GII だ。

これらの機種やパソコンでのプログラミング経験から、 fx-5800Pはプログラミング入門機 といって良いと思う。

Casio  Basic の進め



残念なことに...

せっかく良い製品なのだが、取扱説明書の中でプログラミングに関する説明は、あまりに簡素化されすぎている。プログラミングの素養のある人が見て分かるような書き方しかされていない。

せめて、CASIO のホームページで入門者向けのコンテンツを準備するなり、冊子を作るなりすべきだと思うのだが、如何だろうか>CASIO、電卓関係者の方々



そこで...

fx-5800P の Casio Basic 入門講座の連載を始めている。併せてオリジナルの Casio Basic コマンドリファレンスを拡充中だ。
これから、Casio Basicを始めてみようと言う方、プログラミング経験はあるがチョット忘れかかっている方、を意識して書いている。
よろしければ、どうぞ...

CasioBasic 入門 - 目次-
CasioBasic コマンドリファレンス -目次-
逆引き Casio Basic -目次-





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

人気ブログランキングへ


FC2ブログランキングへ



keywords: fx-5800Pプログラミング入門プログラミングプログラム関数電卓

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

続きを読む

関連記事

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

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

やす (Krtyski)

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


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

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

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


人気ブログランキングへ


FC2ブログランキングへ


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

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

この人とブロともになる

QRコード
QR