プログラムライブラリ - OS内蔵ファンクションメニュー探索

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

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

2019/05/28


OS内蔵ファンクションメニュー探索 - SysFunc Ver 1.3




著作権者

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



対応機種

- Casio fx-CGシリーズ - C.Basic for CG で動作
- Casio fx-9860Gシリーズ - C.Basic for FX で動作



プログラムの説明

OS内蔵ファンクションキー探索プログラム - Check System F-Key

fx-CGシリーズ や fx-9860GシリーズのOSには、ファンクションメニューの様々な画像が内蔵されており、それぞれに System Function Key# が割り当てられている。C.Basic の独自コマンド FKeyMenu( は、[F1] から [F6] の位置に ファンクションメニューを表示できる。その際、OS内蔵の System Function Key# を指定すると内蔵されている画像を利用できる。そこで、メニュー画像と Key # を調べるために本プログラムを作成した。

  C.Basic for CGFKeyMenu( コマンドで呼び出せるOS内蔵のSystem Function Key# を調べる
  1. 画面左下に システムファンクションキーを表示する
  2. カーソルキーで システムファンクションキー#をスキャンする
   - カーソルキーの長押しで連続スキャン
   - 左右 / キー (◀▶) で1づつ Step スキャン
   - 上下 / キー (▲▼) で50刻みの Skip スキャン
  3. [F4](INPUT)[EXE] キーで数値の入力
  4. [F5](HELP) で使い方説明
    
   SysFunc3_1 SysFunc3_4 SysFunc3_2 

    
  C.Basic for FXFKeyMenu( コマンドで呼び出せるOS内蔵のSystem Function Key# を調べる
  1. 画面左下にシステムファンクションキーを表示する
  2. カーソルキーで システムファンクションキー# をスキャンする
   - カーソルキーの長押しで連続スキャン
   - 左右 ←/→ キー(◀ ▶) で1づつ Step スキャン
   - 上下 ↑/↓ キー (▲ ▼) で50刻みの Skip スキャン
  3. [F4] (INPUT)[EXE] キーで数値の入力
  4. [F5] (HELP) で使い方説明

   SysFunc3FX_1 SysFunc3FX_3 SysFunc3FX_2 



プログラムファイルのダウンロード

※ fx-CGシリーズ用
   SysFunc3.g3m のダウンロード

※ fx-9860Gシリーズ用
   SysFunc3.g1m のダウンロード




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


 


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

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


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

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

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


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

fx-FD10 Pro では、fx-9860GII 用純正Casio Basicプログラムは動作するはずですが、アドインが使えない仕様なのでC.Basicのインストールができず、従って C.Basic専用プログラムは動作しないと思われます。

※適用環境と機種を示す略号の説明
  • [5800P] :  fx-5800Pで動作可能
  • [FX]:fx-9860Gシリーズで動作可能
  • [CG]:fx-CGシリーズで動作可能
  • [Casio Basic]:純正Casio Basicで動作可能
  • [C.Basic]:C.Basicで動作可能

Program Library in English



1. プログラミングツール

  ⇒ キーコード取得 [Casio Basic / C.Basic] [5800P / FX / CG]

  ⇒ RGB指定による色確認プログラム [C.Basic] [CG]

  
OS内蔵ファンクションメニュー番号探索 [C.Basic] [FX / CG]


2. 数学 / 理工

  ⇒ ピタゴラス数

  ⇒ 素因数分解

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

  ⇒ 圧力換算 [Casio Basic] [5800P]

  ⇒ 圧力換算 (fx-9860GII、fx-CG20 / CG50) [Casio Basic / C.Basic] [FX / CG]


3. 実用

  ⇒ 世界の時差換算 - Time Zone [Casio Basic] [5800P]

  ⇒ 世界の時差換算 - TimeZone [Casio Basic / C.Basic] [FX / CG]

  ⇒ 複利計算プログラム - CompInt [Casio Basic / C.Basic] [5800P / FX / CG]

  ⇒ 西暦-和暦 換算プログラム - YearConv 2.1 [Casio Basic / C.Basic] [5800P / FX / CG]

  ⇒ 日本語版 西暦-和暦 監査プログラム - YearConv 3.1 [C.Basic for CG] [CG]


4. ゲーム

  ⇒ もぐら叩き [Casio Basic] [5800P]

  ⇒ もぐら叩き [Casio Basic / C.Basic] [FX]

  ⇒ もぐら叩き [Casio Basic / C.Basic] [CG]

  ⇒ Hit & Blow 数当てゲーム [Casio Basic / C.Basic] [5800P / FX / CG]

  ⇒ マスターマインド Ver. 4 - モノクロ版 [Casio Basic / C.Basic] [FX]

  ⇒ マスターマインド Ver. 4 - カラー版 [Casio Basic / C.Basic] [CG]

  ⇒ 反射ゲーム


5. 汎用サブルーチン

  ⇒ 入力ボックス 2.0 / 2.1 [Casio Basic] [5800P]

  ⇒ 入力ボックス 2.1G [Casio Basic / C.Basic] [FX / CG]

  ⇒ 3桁区切り出力 (汎用サブルーチン) [Casio Basic / C.Basic] [5800P / FX/ CG]





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


 




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

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

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

プログラムライブラリ - 日本語版 西暦-和暦換算プログラム

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

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

初版 2019/05/07
 更新 2019/05/08


日本語版 西暦-和暦 換算プログラム (令和対応版) - YearConv Ver 3.2


※ カシオプログラム電卓の実用プログラムでは、多分世界初の日本語表記プログラム!?
※ 令和の御代代わりを言祝ぎ、作成したもの.

[2019/05/07] バグ修正版
[2019/05/08] 元号期間の誤りを訂正 (元号一覧- Wikipedia による)、ファイル差し替え



著作権者

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



対応機種

- Casio fx-CG10/20・fx-CG50 - C.Basic for CG Ver 0.50 alpha 以降でのみ動作、最新版を推奨



プログラムの説明

Casio Basic プログラムは日本語表記できない

西暦と和暦を換算する機能に加えて、"あの人の年齢はいくつかな?" 機能をおまけとして追加したプログラムを、公開しています。
プログラムライブラリ - 西暦-和暦 換算プログラム - YearConv Ver 2.2

これを日本語版にしたものを今回紹介する。


fx-CGシリーズ日本語化プロジェクト

カシオのfx-CGシリーズ (fx-CG10 / CG29 / CG50) は、言語選択ができる仕様になっていて、各国語フォントが内蔵されています。その1つに中国向けの簡体字フォントがあります。これは GB2312コードに近いが少し異なるカシオ仕様になっています。

選択言語に日本語がありません。カシオが電卓ビジネスにおいては、日本市場を軽視し、日本市場のためには開発資源を回さない方針の証でもあります。経済原理の前には日本メーカーであることを忘れなければならないのでしょう。とても残念に思います。

さて、プログラム電卓で作る走るプログラムを日本語表記させたい、という話は管理人の周りでは以前から聞いていました。
Colon様、saentaro様、ツル様が中心になって、
 ・無ければ日本語フォントを作ろう
 ・既に内蔵されている簡体字フォントを流用しよう
という流れが始まっており、簡体字フォントの流用のアプローチの1つとして、fx-CGシリーズの各種表示を簡体字化する g3l ファイルが Colon様により作成され、fx-CG20 / CG50 日本語化計画 で発表しました。

さらに、アドイン版Casio Basic - C.Basic for CG の開発過程で、電卓本体に内蔵されている簡体字フォントをキャラクタとして使えるようになっており、Ver 0.83 alpha 以降で欲しい漢字を探しやすくなりました。


Year Converter 日本語版 Ver 3.1 の画面と操作

YC_cb1f YC_cb2f YC_cb3f 
左の画像 - C.Basic for CG のファイルリストから YearConv.g3m を起動.
中央画像 - YearConv が起動し、日本語表記されている.
右の画像 - [0]キーで AD (西暦) 2020 年を入力した結果。令和 2 年を入力した結果も同じになる.

YC_cb4f YC_cb5f YC_cb6f 
左の画像 - [6]キーで2038年を入力すると、令和2年生まれの人は2038年で18才になると分かる.
       [7]キーで18を入力すると、令和2年生まれの人が18才になるのは2038年だと分かる.
     どちらも同じ結果が表示される.
中央画像 - [3]キーを長押しすると昭和時代の期間が表示される. ひらがなフォントも使える.
右の画像 - [OPTN]キーで英語表記に切り替わったところ. もう一度押すと漢字表記に戻る.


プログラム編集画面での漢字表示

YC_cb9f YC_cb8f YC_cb10f 
左の画像 - Yrd.g3mのソースコードを表示したプログラム編集画面.
       ミニフォント表示で、さらに漢字を出力しているコードがみえる .
中央画像 - プログラム編集画面で日本語表示するために、SETUPで Edit GB Font を On か Full にする.
右の画像 - "AD" を"西暦" としたいが、簡体文字フォントでは "暦" にならず、妙なフォントになる.
       そこで "AD" の表記のままにした。

Excel - KANJI DispCap11f 
左の画像 - Excel で "和" を入力して、JISコードの10進数表示と16進数表示をしている.
       B7セルには =IF(A7="","",CODE(A7))、C'セルには =IF(A7="","",DEC2HEX(B7))
       と式を入力.
       これから、”和" の JISコードが 4F42 と分かる. このExcelファイルのダウンロード.
右の画像 - C.Basic for CG で 簡体字フォント がJISコード並びで表示されている画面.
       0x4F20 ~ 0x4F7F までが表示されており、4F42 を探せば "和" が見つかる.
       このまま [EXE]キーを押せば、ソース編集画面のカーソル位置に "和" が入力される.

最初は、漢字を使わない英語表記のバージョンの Year Converter Ver 2.2 を 純正Casio Basic で作りました。このソースコードを元にして、下記の3つの C.Basic for CG 拡張機能を代わりに使って日本語版に改造しました。プログラム構造やロジックは 純正Casio Basic で最初に作ったものと同一です。
  • Getkey の代わりに拡張コマンド Getley1 を使用.
  • Else If と多くの IfEnd を使う代わりに新たな ElseIf ステートメントと1つの IfEnd を使用
  • 簡体字コードを使用
簡体字コードの仕様は日本語版には必須ですが、それ以外の Getkey1ElseIf は特に変更する必要はありません。



プログラムのファイル構成

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



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

※ C.Basic for CG 用プログラムファイル
   プログラムファイル (g3m) とテキストファイルのダウンロード
  • 本プログラムには、入力ボックス INPI が必要です(ダウンロードファイルに含まれています)。




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


 


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

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


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

プログラムライブラリ - 西暦-和暦 換算プログラム

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

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

最終更新:
2019/05/08


西暦-和暦 換算プログラム (令和対応版) - YearConv Ver 2.2


[2019/05/07] バグ修正版.
[2019/05/08] 元号期間の誤りを訂正 (元号一覧(日本) - Wikipoedia による)、ファイル差替え

著作権者

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



対応機種

- Casio fx-5800P
- Casio fx-9860Gシリーズ - 純正Casio Basic および C.Basic for FX で動作
- Casio fx-CG10/20・fx-CG50 - 純正 Casio Basic および C.Basic for CG で動作

(fx-FD10 Pro でも fx-9860Gシリーズ用が動作すると思われます)



プログラムの説明

"あの人の年齢はいくつかな?"

西暦と和暦を換算するプログラムを作ってしたところ、それだけではつまらない。そこで、おまけ機能として "あの人の年齢はいくつかな?" 機能を追加しています。

西暦-和暦換算部に何か年を入力します。これが "あの人" の生年月日です。この状態で [5] (5:In) を押して4桁の西暦年を入力すると、入力した年の "あの人" の年齢が 7: の項に表示されます。[6] (6: y) を押して年齢を入力すると、"あの人" がその年齢の時の西暦年が 6: の項に表示されます。


さて、YearConv2 は、最初に fx-5800P用に作成した西暦-和暦 換算プログラムです。
プログラムの詳細は Casio Basic入門19 ~ 21 を参照してください。

fx-5800P用プログラムを、fx-9860Gシリーズ用 (g1mファイル) および fx-CGシリーズ用 (g3mファイル、カラー表示) に移植したものも収録しました。

基本的なロジックやプログラム構造は全く同じですが、画面の広さの違いから換算できる和暦が 大正~令和に限定されるのが fx-5800P用、明治~令和まで対応しているのが fx-9860Gシリーズと fx-CGシリーズです。

YearConv_1 YearConv_7 Heisei
fx-5800P用


YC_FX_1 YC_FX_2 YC_FX_3 
fx-9860Gシリーズ用


YC_CG_01 YC_CG_02 YC_CG_03 
fx-CGシリーズ用

 - 起動時の画面

中央 - AD(西暦)、M(明治)、T(大正)、S(昭和)、H(平成)、R(令和) のどれかに入力すると、他が連動して換算される。
   [6] (6: In) に入力すると、その年での年齢を表示
   [7] (7: years) に入力すると、その年齢になる西暦年を表示

  - [4] (4:H) を長押しすると、平成の期間を表示




プログラムのファイル構成

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

YRL は C.Basic で使う際に必要。fx-5800P用のファイル構成には含まれない。



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

※ fx-5800P 用
   ソースコード
   CcLinker で fx-5800P に転送できるCCLファイルのダウンロード
   ※ YEAR CONV.ccl、YRC.ccl、YRD.ccl、INPI.ccl を含む圧縮ファイル (zip) が得られます。
   CcLinkerの紹介

※ fx-9860Gシリーズ と fx-CGシリーズでは、の純正Casio Basic ならびに C.Basic で動作します。
   fx-9860Gシリーズ用: Year Converter Ver 2.1 ダウンロード
   fx-CGシリーズ用: Year Converter Ver 2.2 ダウンロード

  • 本プログラムには、入力ボックス INPI が必要です(ダウンロードファイルに含まれています)。
  • 同梱されている g1m ファイルは fx-9860GII 向けですが、変更せずそのまま fx-CG20/50 に転送すると正常動作します。但し 転送後 fx-CGシリーズの g3m ファイルに自動変換されます。
  • ダウンロードファイルには、ソースコード(テキストファイル) を含んでいます。テキストファイルは C.Basic で変換したものです。
  • サブルーチン YRL は、C.Basic で使用するものです。但し純正Casio Basic では実行が無視されるので転送しても問題ありません。
  • メインルーチン YEARCONV の1行目の 200→L はキー長押し時間を決める。長押しと認識するまでの時間を短くするにはこの数値を小さくする。長くするには数値を大きくする。
  • C.Basic では 現在設定されている実際の実行速度に対応して サブルーチン YRL で長押し時間を自動調整しているので、1行目での長押し時間の設定は動作に影響しない。これは特にオーバクロック時に有効。
  • 令和に対応しました。[2019/05/05] 



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


 


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

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



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

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

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

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

最終更新:
2019/05/04

Time Zone (2019年版)

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


著作権者

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



対応機種

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

Casio fx-5800P 用は こちら



プログラムの説明

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

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

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

2019年の夏時間は、
 ・ヨーロッパは、3月31日午前1時 ~ 10月27日午前1時
 ・北米は、3月10日 午前2時 ~ 11月3日午前2時
となります。
TimeZone では、
 ・ヨーロッパは、3月31日 ~ 10月27日
 ・北米は、3月10日 ~ 11月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] キー長押しで表示される夏時間について:
2019年の夏時間の開始と終了は、ヨーロッパでは午前1時、北米では午前2時になっています。本プログラムでは、夏時間終了日を実際の設定日の前日を表示するようにしています。終了設定日の午前0時から午前1時 / 午前2時までの時間帯は、本来まだ夏時間のままですが、寝静まっている時間帯なので無視しています。現実的には問題ないと思いますが、留意してください。



プログラムの構成

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



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

※ fx-9860GII と fx-CG20 の純正Casio Basic ならびに C.Basic で動作します。

プログラムファイル (g1m) とソースコードのダウンロード
プログラムファイル (g3m) とソースコードのダウンロード

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年の夏時間に対応した変更を行っている。 



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


     


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

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


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

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

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

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

最終更新:
2019/05/04

Time Zone (2019年版)

※ CcLinkerでfx-5800Pに転送できる CCLファイルがダウンロード可能に [2018/10/29]
※ 2018年のヨーロッパ・北米夏時間に対応 [2018/01/20]
※※ プログラム改善: >>>> 表示で何も入力せず確定時、値が 0 に変更されたのを変更しないように改善した [2017/08/14] 


著作権者

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



対応機種

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



プログラムの説明

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

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

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

2018年の夏時間期間:
 ・ヨーロッパ: 3月25日 午前1時 ~ 10月28日午前1時
 ・北米:3月11日午前2時 ~ 11月4日午前2時
TimeZoneでは、
 ・ヨーロッパ:3月25日 ~ 10月27日
 ・北米:3月11日 ~ 11月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] キー長押しで表示される夏時間について:
(2018年版) 夏時間の開始と終了は、ヨーロッパでは午前1時、北米では午前2時となっています。本プログラムでは、夏時間終了日を実際の設定日の前日を表示するようにしています。終了設定日の午前0時から午前1時 / 午前2時までの時間帯は、本来まだ夏時間のままですが、寝静まっている時間帯なので無視しています。現実的には問題ないと思いますが、留意してください。


プログラムの構成

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



プログラムファイルのダウンロード

CcLinker で fx-5800P に転送できるCCLファイルのダウンロー
  ※ 上記6つのプログラムファイルに対応するCCLファイルが含まれます。
  CcLinkerの紹介



ソースコード - TIMEZONE

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

ソースコード
※ 2018版対応は、TSZ のみの更新です。

スペースは  で表示し、改行も表示しています。

TIME ZONE
9→P:17→Q↵
-1→J:0→G:0→U↵
0→S:0→T↵
1→V:0→W↵
P-V→P:Q-W→Q↵
Prog "TZM"↵

While 1↵

-1→M↵
Do:Getkey→K↵
LpWhile K=0↵
K=25⇒0→M↵
K=35⇒1→M↵
K=36⇒2→M↵
K=37⇒3→M↵
K=21⇒4→M↵
K=73⇒Break↵

0→C↵
While Getkey=37↵
Isz C:C=9⇒Break↵
WhileEnd:C=9⇒5→M↵
0→C↵
While Getkey=21↵
Isz C:C=9⇒Break↵
WhileEnd:C=9⇒5→M↵
0→C↵
While Getkey=35↵
Isz C:C=9⇒Break↵
WhileEnd:C=9⇒6→M↵
0→C↵
While Getkey=36↵
Isz C:C=9⇒Break↵
WhileEnd:C=9⇒7→M↵

If M=0:Then ↵
8→X:1→Y:4→D:1→E↵
Prog "INPI"↵
Prog "TZC"↵
X→A:Y→B:Z⇒Z→J↵
Else If M=1↵
Then ↵
8→X:2→Y:4→D:1→E↵
Prog "INPI"↵
Prog "TZC"↵
X→A:Y→B:Z⇒Z→G↵
Else If M=2↵
Then ↵
8→X:3→Y:4→D:1→E↵
Prog "INPI"↵
Prog "TZC"↵
X→A:Y→B:Z⇒Z→U↵
Else If M=3 Or M=4:Then ↵
Int(J÷100)→A↵
J-100A→B↵
IfEnd:IfEnd↵
IfEnd:IfEnd↵

If M=0:Then ↵
If Z:Then ↵
A≧24⇒A-24→A↵
100A+B→J↵
A-P→C↵
C<0⇒C+24→C↵
100C+B→G↵
A-Q→C↵
C<0⇒C+24→C↵
100C+B→U↵
IfEnd↵
Else If M=1↵
Then ↵
If Z:Then ↵
A≧24⇒A-24→A↵
100A+B→G↵
A+P→C↵
C≧24⇒C-24→C↵
100C+B→J↵
A+P-Q→C↵
C<0⇒C+24→C↵
C≧24⇒C-24→C↵
100C+B→U↵
IfEnd↵
Else If M=2↵
Then ↵
If Z:Then ↵
A≧24⇒A-24→A↵
100A+B→U↵
A+Q→C↵
C≧24⇒C-24→C↵
100C+B→J↵
A+Q-P→C↵
C<0⇒C+24→C↵
C≧24⇒C-24→C↵
100C+B→G↵
IfEnd↵
Else If M=3↵
Then ↵
If S:Then ↵
0→S:P+1→P↵
Locate 5,2,"T□"↵
Locate 15,2,"ST"↵
Else ↵
1→S:P-1→P↵
Locate 5,2,"ST"↵
Locate 15,2,"DL"↵
IfEnd↵
A-P→C↵
C<0⇒C+24→C↵
100C+B→G↵
Else If M=4↵
Then ↵
If T:Then ↵
0→T:Q+1→Q↵
Locate 4,3,"S"↵
Locate 15,3,"ST"↵
Else ↵
1→T:Q-1→Q↵
Locate 4,3,"D"↵
Locate 15,3,"DL"↵
IfEnd↵
A-Q→C↵
C<0⇒C+24→C↵
100C+B→U↵
Else If M=5↵
Then Prog "TZS"↵
Cls:Prog "TZM"↵
Else If M=6↵
Then Prog "TZS"↵
Z→V:9-S-Z→P↵
Int(J÷100)→A↵
J-100A→B↵
A-P→C↵
C<0⇒C+24→C↵
100C+B→G:Cls↵
Prog "TZM"↵
Else If M=7↵
Then Prog "TZS"↵
Z→W:17-T-Z→Q↵
Int(J÷100)→A↵
J-100A→B↵
A-Q→C↵
C<0⇒C+24→C↵
100C+B→U:Cls↵
Prog "TZM"↵
IfEnd:IfEnd↵
IfEnd:IfEnd↵
IfEnd:IfEnd↵
IfEnd:IfEnd↵

Prog "TZD"↵

WhileEnd↵
Cls↵
Locate 7,2,"BYE!"



TZS [2019/05/04 更新]
Cls↵
Locate 15,4,"▸t"↵
Locate 16,4,"E"↵

If M=5:Then ↵
Locate 1,1,"□□DLS□IN□2019"↵
Locate 1,2,"EUR:□3.31⇒10.27"↵
Locate 1,3,"USA:□3.10⇒11.3"◢Return↵
Else If M=6↵
Then V→Z↵
Locate 1,1,"□EUR□TIME□ZONE"↵
If S:Then ↵
Locate 1,2,"□□WEST□□CEST"↵
Locate 1,3,"□□EEST□□FEST"↵
Else ↵
Locate 1,2,"□□WET□□□CET"↵
Locate 1,3,"□□EET□□□FET"↵
IfEnd↵
Else If M=7↵
Then W→Z↵
Locate 1,1,"□USA□TIME□ZONE"↵
If T:Then ↵
Locate 1,2,"□□PDT□□□MDT"↵
Locate 1,3,"□□CDT□□□EDT"↵
Else ↵
Locate 1,2,"□□PST□□□MST"↵
Locate 1,3,"□□CST□□□EST"↵
IfEnd↵
IfEnd:IfEnd↵
IfEnd↵

Locate 1,4,"□








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


 


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

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


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

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

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

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

追記更新 2018/11/03

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

CcLinkerで転送できるプログラムファイルがダウンロード可能に [2018/11/03]


著作権者

やす (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 で圧力換算プログラム を参照



プログラムファイルのダウンロード

CcLinkerで fx-5800P に転送できるプログラムファイル(CCLファイル)のダウンロード

CcLinkerの紹介





ソースファイル

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

PConverterソース 



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


 



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

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

プログラムライブラリ - 3桁区切り出力 (汎用サブルーチン)

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

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

2017/11/17
追記修正 2018/10/29


3桁区切り出力 - 汎用サブルーチン: 3DS
Casio Basic プログラムで、数値を3桁区切り出力するための汎用サブルーチン

CcLinker で fx-5800P に転送できるプログラムファイルをダウンロード可能に [2018/10/29]


著作権者

基本ロジック:sentaro
 [当ブログ読者]
汎用版作成:やす (Krtyski) 
 [当ブログ管理人]



対応機種

Casio fx-5800P / fx-9860G / fx-9860GII / fx-CG20 / fx-CG50 (fx-FD10 Pro 対応可と思われる)



汎用サブルーチン 3DS の使い方

2桁, 3行の位置から 数値 123456789 を出力させる場合、通常は以下のように記述する。

2→X:3→Y:123456789→Z
Locate X,Y,Z

この9桁の数値を3桁区切り出力にしたいときは 汎用サブルーチン 3DS を使って、

2→X:3→Y:123456789→Z
Prog "3DS"

と記述すれば、2桁3行の位置から

123,456,789

と出力される。

0→X (X0 を設定) すると、右寄せ出力になる。



サンプルプログラム

   "A×B×C"
   "A"?→A
   "B"?→B

   "C"?→C
   "A×B×C="
   7→X:4→Y:ABC→Z

   Prog "3DS"

A=123、B=456、C=789 を入力するとして、
スクロールする部分も含めて以下のように出力される;

   A×B×C
   A?

   123
   B?

   456
   C?

   789
   A×B×C=44,253,432




詳しい説明

Casio Basic入門55~59 Chapter10:3桁区切り出力 - 汎用サブルーチンの作成 を参照

※ サンプルプログラムの使い方も上記を参照のこと


プログラムソース

fx-5800P 用 - 最大12桁まで対応
▶ ソースリスト (PDFファイル) ダウンロード
CcLinker で fx-5800P に転送可能なプログラムファイル(CCLファイル)のダウンロード
※ デバッグ用プログラムも含む.

3DS_src_fx5800P.jpg 

fx-9860GII 用 - 最大15桁まで対応
プログラムファイル 3DGT.g1m のダウンロード
 ※ デバッグ用プログラムもダウンロードできる.

3DS src for fx-9860GII 


fx-CG20 / fx-CG50 用 - 最大15桁まで対応
プログラムファイル 3DGT.g3m のダウンロード

3DS src for fx-CG50 



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


 


keywords: CasioBasic、プログラムライブラリプログラム関数電卓、3桁区切り出力、汎用サブルーチン

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


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

プログラムライブラリ - Hit & Blow

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

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

最終更新:
2018/10/29

Hit & Blow

※ CcLinker で fx-5800P に転送できるプログラムファイル(CCLファイル) をダウンロード可能に [2018/10/29]


著作権者

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



対応機種

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



プログラムの説明

Hit & Blow  は、古典的な数当てゲームで、Casio FX-502P / 602P / 603P のプログラムライブラリにも収録されていました。またフジテレビ系列で放映されていたゲームバラエティー 「戦略的推理ゲーム Numer0n」 は Hit & Blow をベースにしていました。

0 ~ 9 までの数字から重複無しに選んで所定の桁数にしたものを当てるゲームです。本プログラムでは、桁数を3桁、4桁、5桁のいすれかを初に決めます(デフォルトで3桁です)。

乱数機能を用いてプログラムが出題した数をユーザーが当ててゆきます。
ユーザーが推理した数を入力すると、数字と桁の両方が合っていると HIT 、数字は合っているが桁が合っていないと BLOW とプログラムが判定します。HIT が1個、BLOW が2個の場合は、1HIT、2 BLOW とプログラムが表示します。完全に正解すると 3 HIT、0 BLOW と表示します。

プログラムが返す HIT 数と BLOW 数を手がかりにして、出来るだけ早く正解を導くゲームです。


ゲーム開始画面
1.ゲーム開始時に、数字の桁数を、3、4、5から選択・設定する
2.開始画面には、以下を表示する
  ・HIT And BLOW のゲームタイトル
  ・3~5の桁数の選択機能
  ・<EXE>:START
  ・< ? >:ANSWER (fx-5800P のみでこの秘密のキー入力が有効)
  ・<(-)>:Answer (fx-9860GII、fx-CG20 の場合)
    ※ これは fx-5800P のみで有効です。開始画面で、秘密のキー(キーの同時押し)で正解を表示する
     詳しくは fx-5800P:同時にキーを押してみる を参照

hb_Start4hb_Start5hb_Start3 
※ 桁数の選定は、矢印キー [▲] と [▼] で3~5が順次変化するようにする。
※ fx-5800P の16桁X4桁画面をフルに活かした画面設計にする。

ゲーム進行画面
 3.電卓が出題する正解数を、1HIT、2BLOW と言ったヒントを元に当ててゆく
 4.正解数は、各桁0~9各の異なる数字とし、一番左の桁は0であっても良い
 5.入力する数字の桁に同じ数字があると、エラーを表示して正しい入力を促す
 6.入力する数字の桁が、最初に指定した桁より多いと、エラーを表示して正しい入力を促す
 7.何回目の回答かを、表示する
 8.10回以内に正解すると、EXCELLENT と表示する
 9.10回を超えても正解しない時は、QUIT? と表示する。
10.10回を超えて正解すると、GOOD と表示する。

hb_3d_3hb_4d_4hb_3d_bingo  

ゲーム終了画面
11.正解すると、終了画面で YOU WIN IN xx TRIES と正解するまでの回答数を表示する
12.正解できず、QUIT? の表示で[DEL]キーを押すと、終了画面で正解を示す
13.正解できずに終了すると、終了画面で YOU GAVE UP   ANSWER = xxxxx と表示する
14.終了画面では、:QUIT、<0>:TRY AGAIN とメニューも併せて表示する

hb_FInish_win 


プログラムの構成

メインプログラム: HITBLOW
サブルーチン: S1HB345S2HB345S3HB345S3HB345


プログラムファイルのダウンロード

CcLinker でfx-5800P に転送するプログラムファイル (CCLファイル) のダウンロード
CcLinker の紹介



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

fx-5800P 用ソースコード

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

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



fx-9860GII 用プログラムファイルとソースコード

プログラムファイルとソースコードのダウンロード
  • ダインロードファイル (HitBlow_g1m_files.zip) を解凍すると、プログラムファイル (g1m ファイル) 5個、Test_files フォルダ、PDF_file フォルダが得られます。
  • ダウンロードファイル (HitBlow_g1m_files.zip) に含まれるプログラムファイル(HITBLOW.g1m、S1HB345.g1m、S2HB345.g1m、S3HB345.g1m。S4HB345.g1m)全てを fx-9860GII に転送(FA-124A、PCリンクソフト使用)して、メインプログラム HITBLOW を起動してください。
  • ダウロードしたプログラムファイル (g1m ファイル) は、純正 Casio Basic および C.Basic で動作します。
  • fx-9860GII の Main (メイン)メモリに、PCリンクソフト FA-124A を使って転送すると、純正 Casio Basic で動作します。
  • fx-9860GII の Storage (ストレージ)メモリに、PCリンクソフト FA-124A を使って転送すると、C.Basic で動作します。
  • ダウンロードファイル (HitBlow_g1m_files.zip) に含まれる Text_files フォルダにあるテキストファイルは、C.Basic で g1m ファイルからテキストファイルに変換したもので、これらテキストファイルを fx-9860GII の Storage (ストレージ)メモリに転送すると、C.Basic でそのまま実行可能です。これらテキストファイルはPCでも見られますが、一部の特殊コードの表示が fx-9860GII 上の本来の表示と異なります。但し、プログラム全体をPCで確認するのに役立ちます。
  • ダウンロードファイル (HitBlow_g1m_files.zip) に含まれる PDF_file フォルダにあるPDFファイルは、fx-9860GII でプログラムコードを入力する際に役立ちます。またPDF ファイルは、fx-9860GII の編集画面の表示にできるだけ近づけた表示になっています。
※ 本プログラムは、fx-5800P 用に作成したものを、fx-9860GII 用に移植したものです。移植の際には旧来の命令の動作が fx-5800P と fx-9860GII では異なるため、同等に動作しない旧来の命令を Casio Basic の Basic コマンドに置き換えて動作の互換性を確保しています。具体的には、それぞれのソースコードを示した PDF ファイルを見比べて参考にしてください。併せて fx-9860GII の広い画面に併せて、画面表示を追加しています。



fx-CG20 / fx-CG50 用プログラムファイルととソースコード

fx-9860GII 用のプログラムファイルがそのまま使用できます。ダウンドーロした5個の g1m ファイルを fx-CG20 / CG50 へ転送するだけで、使用できます。なお fx-CG20 / CG50 へ g1m ファイルを転送すると、自動的に g3m ファイルに変換されます。





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


 



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

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


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

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

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

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

更新 2018/10/29

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

※ CcLinker で転送できるプログラムファイルがダウンロード可能に [2018/10/29] 


著作権者

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



対応機種

Casio fx-5800P

Casio fx-CG20 / fx-CG50 用は こちら
Casop fx-9860G / 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 が BURST 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



プログラムファイルのダウンロード

CcLinker で fx-5800P に転送できるプログラムファイル (CCLファイル) のダウンロー

CcLinker の紹介



ソースコード

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

 Wack-A-Mole_fx-5800P Src 


 



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


 


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

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


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

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

やす (Krtyski)

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


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

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

なお管理人はカシオ計算機の関係者ではなく、Casio Basicが面白いと感じる1ユーザーです。


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR