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

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

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

2017/08/15

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


対応機種

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


対応機種

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

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


対応機種

Casio fx-5800P

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


プログラムの説明

Wack-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 


プログラムの構成

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


ソースコード

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

 Wack-A-Mole_fx-5800P Src 


 


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



  

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

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


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

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

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

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

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

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


対応機種

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

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


プログラムの説明

Wack-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桁の値を試してみてください。


プログラムの構成

メインプログラム: WACKAMO (これを起動する)
ゲーム本体: 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、プログラムライブラリもぐら叩き、プログラム関数電卓

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


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

プログラムライブラリ - もぐら叩き (fx-CG20 / fx-CG50)

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

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

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

WACK-A-Mole (もぐら叩き) - fx-CG20 / fx-CG50


対応機種

Casio fx-CG10 / fx-CG20 / fx-CG50

Casio fx-5800P 用は こちら
Casop fx-9860GII 用は こちら


プログラムの説明

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

そこで、カラー高精細液晶を搭載した fx-CG20 と fx-CG50 に移植しました。 fx-CG20 と fx-CG50 の Casio Basic プログラムは完全互換なので、どちらでも遊べます。

画面に色を付けています。また、設定を変更する画面では、fx-5800P に搭載されている便利な ? 命令が fx-CG20 / CG50 には無いので、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-CG20 や fx-CG50 で Casio Basicプログラムの動作を高速化する方法があります;
  • fx-CG20 のチューンアップツール Ptune2 を使ってオーバークロックする方法 ⇒ こちらを参照
  • fx-CG50 のチューンアップツール Ptune3 を使ってオーバークロックする方法 ⇒ こちらを参照
これらの環境で もぐら叩きを楽しむには、設定画面で Wait を 大きな数値に設定する必要があります。チューンアップの程度によりますが、Wait=50 など2桁にすれば fx-5800P と同じ感じで遊べると思います。試してみてください。


プログラムの構成

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

 Select Program First Screen Start Game
 Fake One Mode Fake Two Mode Keep Going
 Game Over Try Again Set Parameters


ダウンロード

プログラムファイルのダウンロード:Wack-A-Mole_Color.zip


ソースリスト

PDF と EXCELファイルのダウンロード
 [2017/08/16 変更] ソースリストにExcel ファイルを追加、ソースリストを訂正。

fx-CG20 Whack-a-Mole ソースリスト


 

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



  


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

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


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

fx-5800P プログラムライブラリ - Time Zone

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

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

最終更新:
2017/08/14

Time Zone (2017年版)

※ 2017年のヨーロッパ・北米夏時間に対応 [2016/12/03]
※※ プログラム改善: >>>> 表示で何も入力せず確定時、値が 0 に変更されたのを変更しないように改善した [2017/08/14] 

対応機種

Casio fx-5800P 専用
Casio fx-9860GII、fx-CG20、fx-CG50 用は こちら


プログラムの説明

Time Zone は、日本、ヨーロッパ、北米での同じ時間を表示します。その際、タイムゾーンや夏時間を考慮した時間を計算します。

具体的には、3カ所のうち、どこか一カ所の時間を入力すると、時差を計算して他の二カ所の時間を表示するプログラムです。

例えば、日本、ドイツ、モントリオールの3カ所から接続して電話会議を行う時に、それぞれが夜中にならないように時間を決める時などに役立ちます。

以下のタイムゾーンや夏時間の設定が行えます。

- 日本
 JST: 日本標準時間

- ヨーロッパ
 WET: 西ヨーロッパ標準時間
 CET: 中央ヨーロッパ標準時間
 EET: 東ヨーロッパ標準時間
 FET: 極東ヨーロッパ時間

 WEST: 西ヨーロッパ夏時間
 CEST: 中央ヨーロッパ夏時間
 EEST: 東ヨーロッパ夏時間
 FEST: 極東ヨーロッパ夏時間
EU-TZ 

- 北米(アメリカ、カナダ)
 PST: 太平洋標準時間
 MST: 山岳部標準時間
 CST: 中部標準時間
 EST: 東部標準時間

 PDT: 太平洋夏時間
 MDT: 山岳部夏時間
 CDT: 中部夏時間
 EDT: 東部夏時間

US-TZ 



プログラムの使い方

0:JST - 日本時間 の入力と表示
       [0] キー: 日本時間入力

1:CET - ヨーロッパ時間の入力と表示
       [1] キー:    ヨーロッパ時間入力
       [1] キー長押し: ヨーロッパ内のタイムゾーン設定
       [3] キー:    ヨーロッパの夏時間ON/OFF
       [3] キー長押し: 夏時間の期間を表示
     
2:EDT
- 北米時間の入力と表示
       [2] キー:    北米時間入力
       [2] キー長押し: 北米内のタイムゾーン設定
       [4] キー:    北米の夏時間ON/OFF 
       [4] キー長押し: 夏時間の時間を表示

[3] キー、[4] キー長押しで表示される夏時間について:
ヨーロッパ北米とも、夏時間の開始と終了は、午前2時とされています。本プログラムでは、夏時間終了日を実際の設定日の前日を表示するようにしています。終了設定日の午前0時から午前2時までの時間帯は、本来まだ夏時間のままですが、寝静まっている時間帯なので無視しています。現実的には問題ないと思いますが、留意してください。



プログラムの構成

メインプログラム: TIMEZONE
サブルーチン: TZCTZDTZMTZS
入力ボックス: INPI



ソースコード - TIMEZONE

※ fx-5800P で動作します。
fx-5800P 用入力ボックス INPI が必要です。

ソースコード(pdfファイル)のダウンロード

jpegファイル(1453 x 1523 ピクセル) を縮小表示しています 
TimeZone_SrcCode2017




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

人気ブログランキングへ


FC2ブログランキングへ


 


keywords: fx-5800PCasioBasic、プログラムライブラリプログラム関数電卓

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


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

プログラムライブラリ - TimeZone

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

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

最終更新:
2017/08/14

Time Zone (2017年版)

※ 2017年のヨーロッパ・北米夏時間に対応 [2016/12/03]
※ プログラム改善: >>>> 表示で何も入力せず確定時、値が 0 に変更されたのを変更しないように改善した [2017/08/14]


対応機種

Casio fx-9860GII - 純正Casio Basic および C.Basic で動作
Casio fx-CG20・fx-CG50 - 純正 Casio Basic
(fx-FD10 Pro でも動作すると思われます)

Casio fx-5800P 用は こちら



プログラムの説明

TimeZone は、日本、ヨーロッパ、北米での同じ時間を表示します。その際、タイムゾーンや夏時間を考慮した時間を計算します。

具体的には、3カ所のうち、どこか一カ所の時間を入力すると、時差を計算して他の二カ所の時間を表示するプログラムです。

例えば、日本、ドイツ、モントリオールの3カ所から接続して電話会議を行う時に、それぞれが夜中にならないように時間を決める時などに役立ちます。

本プログラムでは、以下のタイムゾーンや夏時間の設定が行えます。

- 日本
 JST: 日本標準時間

- ヨーロッパ
 WET: 西ヨーロッパ標準時間
 CET: 中央ヨーロッパ標準時間
 EET: 東ヨーロッパ標準時間
 FET: 極東ヨーロッパ時間

 WEST: 西ヨーロッパ夏時間
 CEST: 中央ヨーロッパ夏時間
 EEST: 東ヨーロッパ夏時間
 FEST: 極東ヨーロッパ夏時間
EU-TZ 

- 北米(アメリカ、カナダ)
 PST: 太平洋標準時間
 MST: 山岳部標準時間
 CST: 中部標準時間
 EST: 東部標準時間

 PDT: 太平洋夏時間
 MDT: 山岳部夏時間
 CDT: 中部夏時間
 EDT: 東部夏時間

US-TZ 



プログラムの使い方

0:JST - 
日本時間 の入力と表示
       [0] キー: 日本時間入力

1:CET - ヨーロッパ時間の入力と表示
       [1] キー:    ヨーロッパ時間入力
       [1] キー長押し: ヨーロッパ内のタイムゾーン設定
       [3] キー:    ヨーロッパの夏時間ON/OFF
       [3] キー長押し: 夏時間の期間を表示
     
2:EDT
- 北米時間の入力と表示
       [2] キー:    北米時間入力
       [2] キー長押し: 北米内のタイムゾーン設定
       [4] キー:    北米の夏時間ON/OFF 
       [4] キー長押し: 夏時間の時間を表示

[3] キー、[4] キー長押しで表示される夏時間について:
ヨーロッパ北米とも、夏時間の開始と終了は、午前2時とされています。本プログラムでは、夏時間終了日を実際の設定日の前日を表示するようにしています。終了設定日の午前0時から午前2時までの時間帯は、本来まだ夏時間のままですが、寝静まっている時間帯なので無視しています。現実的には問題ないと思いますが、留意してください。



プログラムの構成

メインプログラム: TIMEZONE
サブルーチン: TZCTZDTZMTZS、TZL
入力ボックス: INPI



プログラムファイル & ソースコード - TIMEZONE

※ fx-9860GII と fx-CG20 で動作します。

プログラムファイルとソースコードのダウンロード
fx-9860GII と fx-CG20 専用入力ボックス INPI が必要です。

  • TIMEZONE には、入力ボックス INPI が必要です(ダウンロードファイルに含まれています)。
  • 同梱されている g1m ファイルは fx-9860GII 向けですが、変更せずそのまま fx-CG20 に転送すると正常動作します。但し fx-CG20 に転送後 fx-CG20用の g3m ファイルに変換されます。
  • ダウンロードファイルに含まれる Text_files フォルダ内に、ソースコード(テキストファイル)があります。これらテキストファイルは C.Basic で g1m ファイルから変換したものです。
  • サブルーチン TZL は、C.Basic で使用するものです。但し純正Casio Basic では実行が無視されるので転送しても問題ありません。
  • メインルーチン TIMEZONE の1行目の 300→L はキー長押し時間を決める。長押しと認識するまでの時間を短くするにはこの数値を通作する。長くするには数値を大きくする。
  • C.Basic では 現在設定されているオーバークロックの速度に対応して サブルーチン TZL で長押し時間を自動調整しているので、1行目での長押し時間の設定は動作に影響しない。
  • ヨーロッパと北米の夏時間期間表示は、サブルーチン TZS にある。2017年の夏時間に対応した変更を行っている。 






    人気ブログランキングへ


    FC2ブログランキングへ


     


    keywords: fx-5800PCasioBasic、プログラムライブラリプログラム関数電卓

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


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

プログラムライブラリ - 目次 -

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


カシオの fx-5800P を中心に、fx-9860GII (5800Pより大画面、モノクロ) や fx-CG20 / fx-CG50 (5800Pより大画面、カラー) 向けのプログラム集です。本ブログで掲載している種々のプログラムを、まだ全て収録してはいませんが、徐々に拡充してゆきます。

fx-9860GII 用プログラムは、fx-FD10 Pro でも動作すると思われます。

英語版プログラムライブラリ



1. ハードウェア依存

  ⇒ キーコード取得


2. 数学 / 理工

  ⇒ ピタゴラス数

  ⇒ 素因数分解

  ⇒ モンテカルロ法による円周率の計算

  ⇒ 圧力換算 (fx-5800P)

  ⇒ 圧力換算 (fx-9860GII、fx-CG20 / CG50)


3. 実用

  ⇒ 世界の時差換算 - TIMEZONE (fx-5800P 用)

  ⇒ 世界の時差換算 - TIMEZONE (fx-9860GII、fx-CG20、fx-CG50 用)


4. ゲーム

  ⇒ もぐら叩き (fx-5800P)

  ⇒ もぐら叩き (fx-9860GII)

  ⇒ もぐら叩き(fx-CG20 / fx-CG50)

  ⇒ Hit & Blow 数当てゲーム

  ⇒ 反射ゲーム


5. 汎用サブルーチン

  ⇒ 入力ボックス 2.0 / 2.1 - fx-5800P専用

  ⇒入力ボックス 2.1G - fx-9860GII、fx-CG20、fx-CG50専用

  ⇒ 3桁区切り表示






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


  

カシオプログラム関数電卓 FX-5800P-Nカシオプログラム関数電卓 FX-5800P-N
(2006/09/22)
CASIO(カシオ)

商品詳細を見る



keywords: fx-5800PCasioBasicプログラムライブラリプログラム関数電卓

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

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

プログラムライブラリ - 入力ボックス 2.1G

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

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

2015/01/23
2015/08/05 記述修正
2016/12/24 追記修正

入力ボックス 2.1G - fx-9860GII、fx-CG20、fx-CG50 専用
INPI、INP、IN 2.1G - 汎用サブルーチン

※  g1mファイルのダウンロード・リンクを追加 [2015/02/28]

※ g3mファイルのダウンロード・リンクを追加 [2016/04/17]



対応機種

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

Casio fx-5800P 専用は こちら


プログラムの説明

INPI / INP / IN 2.1G (fx-9860GII & fx-CG20 専用) は、fx-9860GII や fx-CG20 Casio Basic プログラミングで、好みの位置に好みの桁数で数値を入力させる機能を実装する、汎用サブルーチンです。

画面構成を崩さずに数値を入力させるプログラムを簡単に作れるので、換算プログラムなどに最適です。

Casio Basic の入力命令 ? は、入力行を選べず、入力結果は改行されて右端に表示され、入力するたびに画面がスクロールするので、入力位置と入力結果の表示位置を選べません。もう一つの入力コマンド Getkey はキー1つが押されたことを検出するものなので、そのままでは複数桁の入力や編集に使えません。

そこで画面設計をしたプログラムで使うため、Windows などの Edit Box に近い入力機能をCasio Basic に提供するのが入力ボックスです。

以下の3種類の入力ボックスを用意しました。

1. INPI 2.1G
0以上の整数入力のみに対応。0以上の整数入力のみを行わせたいプログラムで使うことを想定しており、負数や小数入力のエラーチェックが不要になる。

2. INP 2.1G
0以上の整数/小数入力のみに対応。0と正の小数のみの入力を行わせたいプログラムで使うことを想定し、負数入力のエラーチェックが不要になる。

3. IN 2.1G
正負小数/整数の入力に対応、最も汎用性のある入力ボックス。


INPI、INP、IN 2.1G (fx-9860GII & fx-CG20 専用) の詳しい説明は、Casio Basic入門37 を参照。



入力ボックスの概要

Basic コマンドの使い方は、

[コマンド] [設定1],[設定2],[設定3], ...

といった使い方になります。

一方、入力ボックスはサブルーチンです。サブルーチンを呼びだす時に色々な設定を一緒に指定することができません。そこで、

[入力ボックスの設定]
Prog "入力ボックス"
[結果の受け取り]


といった書式になります。

入力ボックスには、使い勝手を考えて複数のバージョンがあります。

入力する数値の種類応答性が速い
バージョン(Ver2.0)
キーリピート抑制が
バージョン(Ver2.1)
プログラム名
0以上の整数(INPI Ver2.0)INPI Ver2.1INPI
0以上の小数と政数INP Ver2.0(INP Ver2.1)INP
正負の小数と整数IN Ver2.0(IN Ver2.1)IN

入力ボックスには、fx-5800P で使うために、大きく Ver 2.0Ver 2.1 の2種類があります。fx-5800P はCasio Basic プログラムの実行速度が比較的遅いので、できるだけキー入力の応答性を高める必要があり、その目的で作ったのがVer 2.0 で、応答性を高めるために、キーを押したままにするとその数字が繰り返し入力される(キーリピートが発生する)仕様になっています。

一方、キーリピートを抑制したものが Ver2.1 です。

Ver 2.0 / Ver 2.1 それぞれについて、入力する数値の種類に応じて3つのバージョン、INPI、INP、IN を用意しています(上の表参照)。

実際に使用してみると、Ver 2.0INPI の処理が軽いのでキーリピートが発生しやすいと思います。そこで INPI を使う場合はキーリピートを抑制した Ver 2.1 をお勧めします。

INPIN については、INPI に比べて相対的に処理が少し重く、キーリピートがあまり問題になりません。むしろキーリピートを抑制すると応答性の悪化を感じるので、Ver 2.0 の利用を勧めます。

上の表で赤文字で示したように、INPI Ver2.1INP Ver2.0IN Ver2.0 を使えば、間違いないと思います。



プログラムの使い方

メインルーチンから以下の書式で呼び出します。

→X:→Y:→D:→E
Prog "INPI"
Z→■


□ は任意の数、■ は任意の変数、但し使用機種の画面範囲内に収まるように設定する。
  参考 fx-9860GII、fx-CG20: 1≦X≦21、1≦Y≦7、X+D≦21

- X: 入力ボックス表示開始桁
- Y: 入力ボックス表示開始行
- D: 入力ボックス桁数
- E: 入力ボックスインジケータの選択
   E=2: 画面右下に <EXE>:ENTER と表示
   E=1: 画面右下に ▶E と表示
   E=(上記以外): インジケータ非表示
- Z: 入力ボックスで確定した数値が代入される

入力ボックス内部では、上記5つの変数以外に、CIF (F は、INPIN の場合のみ)、行列を用いています。これらの変数は、入力ボックスを呼び出すたびに格納されている数値が変更されます。メインルーチンでこれらと同じ変数を使う場合は、入力ボックスを呼び出すたびに変更されても良い変数として使ってください。特に行列は、入力ボックス内で 領域確保を行い、メインルーチンに戻る前に領域解放を行いますので、それを念頭に置いて使ってください。


使用例

呼び出しルーチンのプログラム例を掲載します。
・ 予約変数は S, T, U, V
これを元に色々なプログラムを作ってみると、楽かも知れません。

0→S:0→T:0→U:0→V  [予約変数の初期化]

Locate 1,1,"1:"      [初期画面表示]
Locate 1,2,"2:"
Locate 1,3,"3:"
Locate 1,4,"4:"

While 1            [無限ループ、[AC] キーでプログラム終了]

-1→M             [メニュー選択] 
Do:Getkey→K
LpWhile K=0
K=35⇒1→M
K=36⇒2→M
K=37⇒3→M
K=21⇒4→M

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

If M=1:Then        [INPIを使った入力処理]
3→X:1→Y:8→D:2→E
Prog "INPI":Z→S
Else If M=2         [INPを使った入力処理]
Then
3→X:2→Y:6→D:2→E
Prog "INP":Z→T
Else If M=3         [INを使った入力処理]
Then
3→X:3→Y:4→D:1→E
Prog "INPI":Z→U
Else If M=4
Then
3→X:4→Y:2→D:1→E
Prog "INPI":Z→V
IfEnd:IfEnd
IfEnd:IfEnd

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

WhileEnd

※ 仕様例プログラムファイル (INTEST) のダウンロード
 - input_test.g1m (fx-9860GII用)
 - input_Test.g3m (fx-CG20 用) 


プログラムファイル

ファイル一式のダウンロード

fx-9860GII用プログラムファイル一式 (ZIPファイル)
  INPI.g1m, INP.g1m, IN.g1m, INTEST.g1m を含む

fx-CG20用プログラムファイル一式 (ZIPファイル)
  INPI.g3m, INP.g3m, IN.g3m, INTEST.g3m を含む


プログラム - INPI Ver 2.1G: プログラム名 INPI

プログラムファイル INPI.g1m (fx-9860GII用)のダウンロード [2015/02/28 追加]
プログラムファイル INPI.g3m (fx-CG20 / fx-CG50用)のダウンロード [2016/04/17 追記]
fx-9860GIIへの転送方法の簡単な説明

INPI Ver2.1G for fx-9860GII 

注1) 下から9行目の Locate X+C+I-1,Y, " " の " " は、スペース1個
注2) 下から6行目の Locate 6,4, "           " の " " は、スペース11個
注3) 下から4行目の Locate 15,4,"  " の " " は、スペース2個


プログラム - INP Ver 2.1G: プログラム名 INP

プログラムファイル INP.g1m (fx-9860GII用)のダウンロード [2015/02/28 追加]
プログラムファイル INP.g3m (fx-CG20 / fx-CG50用)のダウンロード [2016/04/17 追記]

 INP Ver2.1G for fx-9860GII 

注1) 下から9行目の Locate X+C+I-1,Y," "  の " " はスペース1個
注2) 下から6行目の Locate 6,4,"      " の " " はスペース11個
注3) 下から4行目の Locate 15,4,"  " の " " はスペース2個


プログラム - IN Ver 2.1G: プログラム名 IN

プログラムファイル IN.g1m (fx-9860GII用)のダウンロード [2015/02/28 追加]
プログラムファイル IN.g3m (fx-CG20 / fx-CG50用)のダウンロード [2016/04/17 追記]

IN Ver2.1G for fx-9860GII 

注1) 下から10行目の Locate X+C+I-1,Y," "  の " " はスペース1個
注2) 下から6行目の Locate 6,4,"      " の " " はスペース11個
注3) 下から4行目の Locate 15,4,"  " の " " はスペース2個





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



  



keywords: fx-9860GIICasioBasic、プログラムライブラリ入力ボックスプログラム関数電卓

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


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

fx-5800P プログラムライブラリ - 入力ボックス

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

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

最終更新:
2016/12/24

入力ボックス 2.0 / 2.1
INPI、INP、IN 2.0/2.1 for fx-5800P - 汎用サブルーチン


対応機種

Casio fx-5800P 専用
Casio fx-9860GII、fx-CG20、fx-CG50 用は こちら


プログラムの説明

INPI / INP / IN は、fx-5800P Casio Basic プログラミングで、好みの位置に好みの桁数で数値を入力させる機能を実装する、汎用サブルーチンです。

画面構成を崩さずに数値を入力させるプログラムを簡単に作れるので、換算プログラムなどに最適です。

Casio Basic の入力命令 ? は、入力位置が左端で、入力結果は改行されて右端に表示され、入力するたびに画面がスクロールするので、入力位置や入力結果の表示位置を選べません。もう1つの入力コマンド Getkey はキー1つが押されたことを検出するものなので、そのままでは複数桁の入力や編集に使えません。

そこで画面設計をしたプログラムで使うため、Windows などの Edit Box に近い入力機能をCasio Basic に提供するのが入力ボックスです。

以下の Ver 2.02.1 を用意したので、好みと必要性に応じて使い分けてください。
・Ver 2.0
キーをゆっくりと入力すると、キーリピートすることがありますが、Ver 2.1 よりも応答性が良いです。
・Ver 2.1
キーリピートを抑制していますので、ゆっくりキー入力してもキーリピートが発生しません。


それぞれのバージョンごとに、以下の3種類の入力ボックスを用意しました。

1. INPI 2.0 / 2,1
0以上の整数入力のみに対応。0以上の整数入力のみを行わせたいプログラムで使うことを想定していて、負数や小数入力のエラーチェックが不要になる。

2. INP 2.0 / 2.1
0以上の整数/小数入力のみに対応。0と正の小数のみの入力を行わせたいプログラムで使うことを想定していて、負数入力のエラーチェックが不要になる。

3. IN 2.0 / 2.1 
正負小数/整数の入力に対応、最も汎用性のある入力ボックス。

入力ボックスは、汎用サブルーチンとして作っていて、他のプログラムから呼びだして使うことを前提にしています。従って、Basic コマンドとは少し使い方が異なります。



入力ボックスの概要

Basic コマンドの使い方は、

[コマンド] [設定1],[設定2],[設定3], ...

といった使い方になります。

一方、入力ボックスはサブルーチンです。サブルーチンを呼びだす時に色々な設定を一緒に指定することができません。そこで、

[入力ボックスの設定]
Prog "入力ボックス"
[結果の受け取り]


といった書式になります。

入力ボックスには、使い勝手を考えて複数のバージョンがあります。

入力する数値の種類応答性が速い
バージョン(Ver2.0)
キーリピート抑制が
バージョン(Ver2.1)
プログラム名
0以上の整数(INPI Ver2.0)INPI Ver2.1INPI
0以上の小数と政数INP Ver2.0(INP Ver2.1)INP
正負の小数と整数IN Ver2.0(IN Ver2.1)IN

入力ボックスには、fx-5800P で使うために、大きく Ver 2.0Ver 2.1 の2種類があります。fx-5800P はCasio Basic プログラムの実行速度が比較的遅いので、できるだけキー入力の応答性を高める必要があり、その目的で作ったのがVer 2.0 で、応答性を高めるために、キーを押したままにするとその数字が繰り返し入力される(キーリピートが発生する)仕様になっています。

一方、キーリピートを抑制したものが Ver2.1 です。

Ver 2.0 / Ver 2.1 それぞれについて、入力する数値の種類に応じて3つのバージョン、INPI、INP、IN を用意しています(上の表参照)。

実際に使用してみると、Ver 2.0INPI の処理が軽いのでキーリピートが発生しやすいと思います。そこで INPI を使う場合はキーリピートを抑制した Ver 2.1 をお勧めします。

INPIN については、INPI に比べて相対的に処理が少し重く、キーリピートがあまり問題になりません。むしろキーリピートを抑制すると応答性の悪化を感じるので、Ver 2.0 の利用を勧めます。

上の表で赤文字で示したように、INPI Ver2.1INP Ver2.0IN Ver2.0 を使えば、間違いないと思います。


INPI、INP、IN 2.0 / 2.1 の詳しい説明は、Casio Basic入門32 ~ 36 を参照。
 ・ Casio Basic入門32  (入力ボックス応答性向上)
 ・ Casio basic入門33  (INPI 2.0 作成)
 ・ Casio Basic入門34  (INP 2.0 作成)
 ・ Casio Basic入門35  (IN 2.0 作成)
 ・ Casio Basic入門36  (キーリピート抑制)



プログラムの使い方

具体的な使い方については、Casio Basic入門44 、Casio Basic入門51 を参照。

メインルーチンから以下の書式で呼び出します。

→X:→Y:→D:→E
Prog "INPI"
Z→■


□ は任意の数、■ は任意の変数、但し使用機種の画面範囲内に収まるように設定する。
  参考 fx-5800P: 1≦X≦16、1≦Y≦4、X+D≦16

- X: 入力ボックス表示開始桁
- Y: 入力ボックス表示開始行
- D: 入力ボックス桁数
- E: 入力ボックスインジケータの選択
   E=2: 画面右下に <EXE>:ENTER と表示
   E=1: 画面右下に ▶E と表示
   E=(上記以外): インジケータ非表示
- Z: 入力ボックスで確定した数値が代入される

入力ボックス内部では、上記5つの変数以外に、CIF (F は、INPIN の場合のみ)、配列変数を用いています。これらの変数は、入力ボックスを呼び出すたびに格納されている数値が変更されます。メインルーチンでこれらと同じ変数を使う場合は、入力ボックスを呼び出すたびに変更されても良い変数として使ってください(Casio Basicでは変数が全てのプログラムで共用されるため)。特に配列変数は、入力ボックス内で領域確保を行い、メインルーチンに戻る前に領域解放を行いますので、それを念頭に置いて使ってください。


使用例

呼び出しルーチンのプログラム例を掲載します。
・ 予約変数は S, T, U, V
これを元に色々なプログラムを作ってみると、楽かも知れません。

0→S:0→T:0→U:0→V  [予約変数の初期化]

Locate 1,1,"1:"      [初期画面表示]
Locate 1,2,"2:"
Locate 1,3,"3:"
Locate 1,4,"4:"

While 1            [無限ループ、[AC] キーでプログラム終了]

-1→M             [メニュー選択] 
Do:Getkey→K
LpWhile K=0
K=35⇒1→M
K=36⇒2→M
K=37⇒3→M
K=21⇒4→M

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

If M=1:Then        [INPIを使った入力処理]
3→X:1→Y:8→D:2→E
Prog "INPI":Z→S
Else If M=2         [INPを使った入力処理]
Then
3→X:2→Y:6→D:2→E
Prog "INP":Z→T
Else If M=3         [INを使った入力処理]
Then
3→X:3→Y:4→D:1→E
Prog "INPI":Z→U
Else If M=4
Then
3→X:4→Y:2→D:1→E
Prog "INPI":Z→V
IfEnd:IfEnd
IfEnd:IfEnd

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

WhileEnd


プログラム例

Birthday_2 
INPI 使用 - 0と自然数入力 - 年齢換算プログラム


YearConv_5_convert_20140312192414.jpg
 
INPI 使用 - 0と自然数入力 - 和暦西暦換算プログラム


PressureConv_2
 
INP 使用 - 0と正野小数入力 - 圧力単位換算プログラム


3-JST_inputBox 
INPI 使用 - 0と自然数入力 - 世界時間換算プログラム


TEMP_CONV_P3 
IN 使用 - 正負小数入力 - 温度単位換算プログラム



入力ボックス 2.0

Ver 1.0Ver 1.2 よりも大幅に応答性を向上させ、速いキー入力でも取りこぼしがないと思います。


プログラム - INPI Ver 2.0: プログラム名 INPI

INPIv20src_fx-5800P 

注1) 下から10行目の Locate X+C+I-1,Y, " " の " " は、スペース1個
注2) 下から7行目の Locate 6,4, "           " の " " は、スペース11個
注3) 下から4行目の Locate 15,4,"  " の " " は、スペース2個


プログラム - INP Ver 2.0: プログラム名 INP

INPv20src_fx-5800P 

注1) 下から10行目の Locate X+C+I-1,Y," "  の " " はスペース1個
注2) 下から7行目の Locate 6,4,"      " の " " はスペース11個
注3) 下から4行目の Locate 15,4,"  " の " " はスペース2個


プログラム - IN Ver 2.0: プログラム名 IN

INv20src1_fx-5800P 

注1) 下から11行目の Locate X+C+I-1,Y," "  の " " はスペース1個
注2) 下から7行目の Locate 6,4,"      " の " " はスペース11個
注3) 下から4行目の Locate 15,4,"  " の " " はスペース2個



入力ボックス 2.1

Ver 2.0 にキーリピート抑制機能を追加しています。但し、INP と IN については、僅かですが応答性の低下が体感されます。

プログラム - INPI Ver 2.1: プログラム名 INPI

INPI Ver2.1 for fx-5800P 

注1) 下から10行目の Locate X+C+I-1,Y, " " の " " は、スペース1個
注2) 下から7行目の Locate 6,4, "           " の " " は、スペース11個
注3) 下から4行目の Locate 15,4,"  " の " " は、スペース2個


プログラム - INP Ver 2.1: プログラム名 INP

INP Ver 2.1 for fx-5800P 

注1) 下から10行目の Locate X+C+I-1,Y," "  の " " はスペース1個
注2) 下から7行目の Locate 6,4,"      " の " " はスペース11個
注3) 下から4行目の Locate 15,4,"  " の " " はスペース2個


プログラム - IN Ver 2.1: プログラム名 IN

IN Ver 2.1 for fx-5800P  高機能テキストエディタ

注1) 下から11行目の Locate X+C+I-1,Y," "  の " " はスペース1個
注2) 下から7行目の Locate 6,4,"      " の " " はスペース11個
注3) 下から4行目の Locate 15,4,"  " の " " はスペース2個





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



 


keywords: fx-5800PCasioBasicプログラムライブラリプログラム関数電卓

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


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

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

やす (Krtyski)

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


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

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

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


人気ブログランキングへ


FC2ブログランキングへ


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

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

この人とブロともになる

QRコード
QR