fx-CG50 への移植 - もぐら叩き

2017/07/28

fx-CG50 を入手したので、fx-5800P プログラム - もぐら叩きを 移植してみました。Casio Basic の機能は fx-CG50 と fx-CG20 とで完全互換なので、どちらでも遊べます。


fx-5800P からの移植での主な変更ポイント;
  • キーコードの変更
  • 配列変数を行列に変更
  • 処理速度が格段に速いので、もぐらの動作を遅くしないととても遊べない。そこで、ゲーム進行の中心に使っているカウンタ C (カウントダウンループの実行回数) に係数 (重も係数) をかけて、ゲーム進行を全体的に遅くした。この係数 Wait を新たなパラメータとして新設した。
  • 処理速度向上は、内部計算とテキスト表示で異なるので、各種パラメータのデフォルト値を見直して対応。
  • 設定画面は大幅に書き直し。fx-5800P の便利な旧来命令 ? が、fx-CG20 / CG50 には無く、設定値入力の際に現在の設定値が表示されない。ゲーム設定を変更する微妙なところは現在の設定値は必ず表示させたいので、e-Gadget 特製 入力ボックス 2.1G を使って、全設定パラメータが1画面で表示・変更できるように変更した。
ゲーム本体 (WAM) のロジックは fx-5800P 版と全く同じなので、詳しくは もぐら叩きの記事 を参照ください。
パラメータ設定 (WACKAMO、最初に起動するプログラム) は、テキストの色を変えることで、モノクロよりは入力時の見やすさと使いやすさが向上したと思います。詳細は実際にプログラムコードで確認してください。


プログラムソースは、以下からダウンロード;
fx-CG50 の概要 に書いたように、この電卓、キーの構造に問題があって、テンキーまわりの大きなキーは右端を軽く叩く程度だと接点が導通しなくてキーの取りこぼしが発生します。全体的にとても良くまとめられているのに、こんな設計 or 製造不良は本当に勿体ないと思います。改善品との無償交換 (リコール) してもよいくらいの不具合だと思います (先ずあり得ないとは思いますが...)。


上の記事では、キーを頻繁に叩くゲームでは致命的だろう...と書いたので、それを実際に試すために、もぐた叩きを移植したわけです。

で、実際にキーテンキー入力の取りこぼしは発生しますが、このゲームに限っては思ったよりも影響が少ないと正直も行っておきます。慣れの問題と認めるつもりは、まだ有りません。

fx-5800P と違って、プログラムファイルをダウンロードして転送するだけで、ポチポチ入力する必要が無いので、取り敢えず遊ぶには楽チンですね。




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



  


keywords: プログラム関数電卓、fx-CG50、クロックアップ、Ptune3

リンク集 | ブログ内マップ
関連記事

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

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

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

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

2017/07/28

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) までくると時間切れになり、LIFE が 1 減るだけでなく、賞金 PRIZE が BUST LOSS (初期値 25) だけごっそり減る 。
  • 賞金が INVOKE FAKE ポイント (初期値 200) に達すると、FAKE モードが発動する。
  • FAKE ONE モードは、偽モグラが出現する。放置する。手を出すと LIFE が 1 減る。
  • FAKE TWO モードは、偽モグラと本物モグラが同時に出現。本物を退治すると儲けがあるが、偽モグラを退治すると LIFE が 1 減る。
限られたLIFEで、どこまで賞金(PRIZE) を稼げるか、がんばろう!!

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


プログラムの構成

メインプログラム: WACKAMO
ゲーム本体: WAM


プログラムソースコード

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

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

fx-CG20_Wack-a-Mole


  






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


   


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

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


関連記事

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

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

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

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

2017/07/28

WACK-A-Mole (もぐら叩き) - fx5800P


対応機種

Casio fx-5800P

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


プログラムの説明

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

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) までくると時間切れになり、LIFE が 1 減るだけでなく、賞金 PRIZE が BUST LOSS (初期値 25) だけごっそり減る 。
  • 賞金が 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ファイルのダウンロード

fx-5800P_WACK-A-MOLE 


  






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


   


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

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


関連記事

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

Casio fx-CG50 の概要

 
初版: 2017/07/23
訂正・カタログ機能追記 2017/07/23
追記 2017/07/24
追記 2017/07/28


Casio fx-CG50

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

fx-CG50fx-CG50 が欧米で発売されたので、国内発売前に入手して調べてみました。

fx-JP900 のデザインを踏襲しています。角に丸みのある四角い形状と高級感のあるフロントパネル、黒・白・シルバーを基調とした色使い。カシオの新しい形。所有する喜びを感じるデザインではないでしょうか?

fx-CG50 は、fx-CG10 PRIZM (北米モデル) や fx-CG2 の後継機で、欧米で 2017年3月末に発売されました。ほぼ7年ぶりの後継機種投入です。

fx-CG50 紹介 (英語のサイト)

まだ日本では発売されていないので、今回は eBay USA で購入しました。この記事を書いている時点では、eBay USA での実売価格は、新品で100ドルを下回る程度です。国際輸送費を考えてもアメリカからの入手は現実的だと思います。但し配送に時間がかかります(最低でも2週間程度)。

なお、カシオの日本語サイトでは fx-CG20 は既に生産終了となってるので、国内でも fx-CG20 の後継機種として販売されることを期待します。現時点では、まだ国内発売の公式発表はありません。

fx-CG50 は言語を選択できますが、日本語は選べません。言語の選択肢に中文も含まれているので日本語対応も容易だと思います。スタンダード関数電卓 fx-JP900 は表示が日本語化されているので、このデザインコンセプトを引き継いだ fx-CG50 も日本語に対応してから国内発売されることを期待します。
 
 
はじめに

Casio Basic の機能に着目すると、以下に列挙した機種が同じカテゴリに含まれるプログラム電卓です。

 - 2006年発売 fx-5800P
 - 2007年発売 fx-9860G (OS Ver 2 以降)、生産中止
 - 2009年発売 fx-9860GII
 - 2010年発売 fx-CG10 PRIZM (北米のみ)、fx-CG20と同じ
 - 2012年発売 fx-CG20 (fx-CG10 PRIZM の1年と少し後)
 - 2013年発売 fx-FD10 Pro
 - 2017年発売 fx-CG50 (欧米のみ)

fx-CG50 は fx-CG10 PRIZM / fx-CG20 の後継機種です。1つ前に発売されている fx-FD10 Pro は、fx-9860GII のハードウェアを利用しながらアドインが使えず Casio Basic 専用機である点で異質な存在です。
 
 
性能上の価値 [2017/07/24 追記]
Casio Basic に着目すると、fx-CG50 の価値が明確に見えてきます。
  • fx-9860GII:モノクロ液晶搭載の最上位機。
  • fx-CG10 PRIZM / fx-CG20:fx-9860GII のディスプレイを高精細&カラー化したもの。しかしディスプレイへの出力が極めて遅い。Casio Basic で出力を更新するプログラムを作ると、非常に重くなるという問題を抱えていました。
  • fx-CG50:高精細カラー液晶へ出力が大幅に高速化したのが最大の改善点で、fx-9860GII と同レベルになりました。
fx-CG50 の Casio Basic は、fx-9860GII とほぼ互換です。fx-9860GII で作った Casio Basic は、以下のコマンドを除き、fx-CG50 でほぼ同じ出力速度で動作します。
※ パラメータ見直しが必要なコマンド:PxlOn、PxlOff、PxlChg、PxlTest(
※ 転送時に自動的にパラメータが変更されるコマンド: Text

fx-9860GII の Casio Basic プログラム資産を同じ出力速度で実行可能になったのが fx-CG50 の価値だと思います。
 
 
ハードウェア機能
fx-CG50 は、fx-CG20 から内部のハードウェアが変更されています。CPU は同じものを使いながら、処理速度を向上させ、一方で消費電力が抑えられ、バッテリー駆動時間が延びました。RAM (ストレージメモリ) は、fx-CG20 の SRAM から fx-CG50 では SDRAM に変更されています。

fx-CG50 の省電力化 (fx-CG20 との比較) ※2
動作モードfx-CG50fx-CG20省電力化の傾向 ※3
電源OFF 0.1 mA 以下 0.1 mA 以下---
電源ON
 RUN-MAT待機状態、輝度1※1 2.5 mA (10.0 mA) 3.0 mA (14.3 mA)16.7% (30.0%)
 RUN-MAT待機状態、輝度3 ※1 5.5 mA (13.0 mA) 8.3 mA (21.0 mA)33.7% (38.1%)
 RUN-MAT待機状態、輝度5 ※1 9.5 mA (18.0 mA) 16.4 mA (30.8 mA)42.1% (41.6%)
 Casio Basic実行、輝度1 ※1 21.1 mA (22.2 mA) 23 mA (30.3 mA)8.3% (26.7%)
 アドイン実行、輝度1 ※1 39.8 mA (40.4 mA) 38.0 mA (50.0 mA)-4.7% (19.2%)
※1: カッコ内は USB接続状態、※2: sentaro様ご提供の測定値 を使用
※3: 省電力化の傾向 (%) = ( CG20の値 - CG50の値 ) / G20の値 × 100

同じ CPU を使っているので、電流値の変化が消費電力の変化と見なします。
処理速度については、関数や Casio Basic の処理内容に応じた比較測定の結果を以下で紹介します。
 
 
ソフトウェア
 fx-CG50 のソフトウェアは、ハードウェアの違いを吸収する OS が Ver 3 にバージョンアップしています。表に出てくる関数機能や Casio Basic の機能面では違いが見られません。アドインについては、ROM や RAMに直接アクセスしたり、SRAM からSDRAM に変更された RAM の違いの影響が現れるようなコードが使われていない場合は、fx-CG20 と fx-CG50 では同じアドインプログラムが動作します。fx-CG50 になってもアドインの拡張子が g3a と変わっていないことも互換性の高さを裏付けています。

fx-9860G と fx-9860GII にはアドイン作成用のカシオ公式SDKが公開されていますが、fx-CG20 以降は公式なSDKがありません。従って、カシオ純正あるいは公認の アドイン (g3a) ファイルなら fx-CG20 と fx-CG50 での互換性は保たれると考えても良さそうですが、サードパーティや個人が作成したアドイン (g3a) ファイルは、使用に際して fx-CG50 での動作確認がされているかに注意が必要です。 

さて Casio Basic については、fx-CG20 とfx-CG50 は完全互換です。違いを探していますが、未だに見つかっていません。プログラムファイルの拡張子も同じで g3m のままです。
 
 
キー入力の問題
CG50 Ten Keys 

写真に写っている大きなキートップのテンキーなどは、キーの右側を軽く押すときに入力を受け付けないことがあります。キーの左側を押す時は問題ありません。他の所有者の fx-CG50 でも同じ問題があることが分かりました。

慣れれば問題ないかも知れません。しかしチャッチャッとキーを速く軽く叩く使い方は特殊でないでしょうし、そのような使い方では入力を受け付けないことが確実にあります。もぐら叩きゲームのようなテンキーの早押しが必要な場合は、慣れの問題ではなくて避けられない問題となるかも知れません。実際に もぐら叩きゲームを作って取りこぼしを確認。

この不具合は、キーのバネ機構と接点パネルに関する設計や組み付け工程の問題、或いはこれらの複合的問題によると推察しています。この不具合をカシオが認識して、今後改善するのかどうかに興味があります。

fx-5800P のカバーヒンジの問題、fx-JP900 のハードカバーの問題 (問題は既に指摘、整形の問題のないロットの存在については今後記事にするかも...) に続いて、今回 fx-CG50 テンキー問題も出てきました。とても残念です。
 

 
目 次

1. eBay USA で購入


2. 到着したパッケージ

3. 外 観

4. 他機種との比較

5. ダウンロード
 5.1 OSアップデート
 5.2 取扱説明書
 5.3 アドインプログラム
 5.4 サポートソフトウェア

6. データ転送
 6.1 PCとのリンク
 6.2. 電卓同士のデータ転送

7. バックアップ

8. ハードウェア
 8.1 キー入力
 8.2 液晶表示

9. 関数電卓としての機能
 9.1 ユーザデータのバックアップ機能
 9.2 3桁区切り表示
 9.3 複素指数関数
 9.4 積分関数の処理速度
 9.5 周期関数の積分

10. Casio Basic の互換性

11. カタログ機能

12. Casio Bsic の処理速度
 12.1 計算主体
 12.2 動きのあるテキスト出力
 12.3 動きのあるグラフィック出力

13. さらなる高速化
 13.1 オーバークロック
 13.2 アドイン版Casio Basic (C.Basic)
 

 
eBay USA で購入

[2017/07/28 追記]
Amazon USA で仕向地が日本を意識して fx-CG50 の取り扱いが始まっています。sentaro様が ここから購入したところ、驚くほど短時間で入手したとの情報がありました。Amazon USA での購入が、推奨可能な候補として浮かび上がりました。注文から配達までの概要は以下の通り(この場合は僅か3日で配達!);
-------------------------------------------------------------------
 場所                 日付             現地時間 状況
-------------------------------------------------------------------
                                                     2017/07/27  配達完了
大阪                               2017/07/26 20:30 最終配達の手配 
                  2017/07/26 11:10 輸入通関 
                  2017/07/26 10:19 空港到着 
アンカレッジ                                2017/07/25 9:05   空港出発 
                  2017/07/25 7:03 輸出通関 
                  2017/07/25 5:55 空港到着 
                                                   2017/07/25 2:16 空港出発 
オンタリオ、カリフォルニア州    2017/07/24 22:47 空港到着 
シアトル、ワシントン州            2017/07/24 20:18 空港出発 
ケント、ワシントン州             2017/07/24 15:19 現地営業所スキャン 
セラー出荷                            2017/07/24 18:31 (ET) UPSへの引渡し
-------------------------------------------------------------------
  • 概要: 国内のショッピングサイトでは fx-CG50 の並行輸入品の扱いが見つからなかったので、今回はアメリカの eBay で直接購入しました。海外品を買うには、セカイモンeBay などで購入して国際貨物で送って貰うことになります。このような個人輸入の場合、国際貨物の扱いや輸入手続きは業者が全てやってくれるので、個人輸入という実感はあまりありません。セカイモンは手数料を取って国際貨物や輸入通関まで全て面倒をみてくれ、さらに日本語で注文できるので、かなり楽です。eBay の場合は国際配送を引き受けるセラー(Seller、業者)が出品している場合は購入者は何もしなくて良いのですが、国際配送をやっていないセラーから買う場合は、国際配送業者を別途利用する必要があります。
  • eBay での商品選び: eBay の場合は、実績と評判のあるセラーから購入した方が良いと思います。Top-rated Seller (高評価のセラー) といった表示があるので、そのセラーのページで確認して自分なりに納得してから決められます。新品 (new in box) といった表示で新品が確認できない時は中古の可能性もあるので、確認しましょう。fx-CG50 の場合でも、安いものの中には注意深くみてゆかないと中古品であるケースがあり、紛らわしいと感じるものがあったので、新品が欲しい場合は要注意です。
私の場合は、fx-CG50 新品の本体価格が¥10,915、輸送費が ¥2,316 でした。輸送費用の傾向として、ヨーロッパの方が北米よりもかなり高いので、北米のセラーから購入する方がお得のようです。
  • セカイモンと eBay のコストの違い: セカイモンは、 eBayと提携しているので eBay と同じセラーからの同じ商品が同じ本体価格で購入できます。違いは、ページでの提示期間と配送手数料です。セカイモンの方が早く締め切る傾向があり、購入する場合は即決に近い判断が必要なケースが多いようです。日本語で買える安心感、国際配送と通関手続きがお任せのセカイモンは、手数料分の価値はあると思います。英語でも良いなら eBay の方が商品提示期間が長く多少でも余計な手数料を取られないので、費用面でもお得です。
  • セカイモンと eBay の配送期間の違い: いずれにしても配送時間は最低2週間と普通の国際便よりは時間を要します。今回 eBay USA を初めて使って、とにかく時間がかかることがよく分かりました。アメリカ国内のセラーから国際発送を行うセンターまで陸送で一旦貨物が集められ(カリフォルニアから日本とは逆方向のケンタッキー)、そこでスグ日本へ送ることはなく、1週間程度滞留させるので、ここで余計な時間がかかります。国際便のコストを下げるためにある程度貨物をまとめる必要があるのだと理解しています。ポチッとしたから手元に届くまでの時間については、セラーの場所と国際配送センターの場所に依存するようで、どちらが速いかについては、なんとも言えないと思います。アメリカと日本の祝祭日の影響もありますので、ポチッとした日にも依存します。国際配送センターで多くの日本向け貨物がまとまれば滞留日数が短くなる可能性もあるでしょう。
私の場合は、
- 7/2 (日): ポチッとし決済
- 7/3 - 7/4 (月~火): 7/4が独立記念日で 7/3 も休みで連休、セラーはお休み
- 7/5 (水):セラーが出荷、UPS サンフランシスコセンターが受け取る
- 7/6 (木):UPS コネチカットセンターを通過 (アメリカ国内はトラック輸送と思われる)
- 7/7 (金):ケンタッキー州アーランガーにある国際配送センターに到着
- 7/13 (木):国際配送の FedEx に引き渡し。センターに6日も滞留していた
      ※ eBayに問い合わせたら、通常センターに1週間は留め置くと回答あり
- 7/14 (金):一旦テネシー州のメンフィスに寄り道 (おそらくここまでは陸送と思われる)
- 7/15 (土):メンフィスで輸出通関
- 7/16 (日):成田到着
- 7/17 (月):輸入通関、FedEx横浜営業所に到着
- 7/18 (火):横浜営業所で、何故だか丸一日滞留
- 7/19 (水):配達完了

  • 決済について:セカイモンは eBay と提携しており、eBay と PayPal は同じ傘下の会社なので、セカイモンでも eBay でも PayPal での決済ができます。PayPal での決済は、事前登録が必要ですが、決済手続きは日本語で可能、決済の記録も日本語で確認できるのが利点です。私は eBay で商品を探して、そのまま PayPal で決済しました。
  • eBay USA のカスタマーサポート:7/2に決済が済んでいるのに 3日たってもトラッキングの状況に変化がないことの問い合わせ、それから国際配送センターからの配送が6日間も留め置かれている状況の問い合わせを行いました。eBayのページからフォームを使って質問を送ったところ、いずれも12時間以内に返信があり、考えられる次の問い合わせを行うための細かい案内も付されていて、レベルは高いと思います。
 
<目次に戻る>
到着したパッケージ

fx-CG50 Package 1  fx-CG50 Package 2 

ブリスタパッケージは、分厚いプラスチックがガッチリと融着されているので、楽には開けられません。しっかりしたハサミで周囲をカット。

items inside package 

fx-CG50 本体、Quick Start Guide、単四アルカリ電池4本 (試供品)、PCリンク用のUSBケーブル、ダウンロードや登録(アメリカのみ) の説明、保証書が入っています。CD や 3Pinケーブルは同梱されていません
 
 
<目次に戻る>
外 観

CG50 & JP900 1  

fx-JP900 (右) とそっくりです。
四角いオーソドックスな形状は落ち着きを与え、長く使っても飽きが来ない感じで、好きなデザインです。

キーの上の印刷された文字ですが、老眼の始まった私には、fx-JP900 の印刷はとても見づらいのですが、fx-CG50 ではフォントが大きく色のコントラストも向上して、見やすくなっています。

CG50 & JP900 2 

fx-CG50 に fx-JP900 を重ねてみます。fx-CG50 の大きさを感じます。

CG50 & JP900 3  CG50 & JP900 4 

fx-CG50 と fx-JP900 をカバー付き (左) とカバー無し (右) で重ねてみたところ。厚みが3倍くらい違うことが分かります。

写真では分かりにくいですが、筐体やカバーの表面は、fx-JP900 はツルツルのテカテカですが、一方 fx-CG50 は細かい凹凸があります。使っているウチに表目に細かい擦り傷が付いても、あまり目立たないのではないかと思います。

液晶部が一段低くなっていますが、保護ウィンドウが傷つきにくい感じなのは良いです。
というのも、fx-CG20 の透明な上部パネルは、まともに表面処理をしておらず簡単に傷つきます。私の fx-CG20 は新品購入時に既に細かい傷が多く付いていましたが、不良とは認めて貰えず製造上に発生するもので、こういうものだとの説明でした。この点が改善されたと思います。

foot  rubber foot 
fx-JP900 は成形で作った出っ張りで4カ所の足にしています。一方、fx-CG50 はゴム足です。但し fx-9860GII や fx-CG20 の黒いゴム足ではなくて、半透明になっています。黒いゴム足は、使い込んでくるとテーブルやノートにくっついて、黒い跡が残ることがあるのですが、その問題が無くなりそうです。

所有したくなるデザインの電卓だと思います。
 
 
<目次に戻る>
他機種との比較

Graphing Calcs 
左から、fx-CG50、fx-CG20、fx-9860GII、fx-5800P

 fx-CG50fx-CG20fx-9860GIIfx-5800P
 電池 単四 x 4 単四 x 4 単四 x 4  単四 x 1
 電池寿命 (メーカー測定基準) 170 時間 140 時間 200 時間 1年
 サイズ (mm) 18.6x89.0x188.5 20.6x89.5x188.521.2x91.5x184 15x82x163
 重さ (g) 230 230 225 150
 液晶ディスプレイ解像度
 ・Casio Basic グラフィック
 ・Casio Basic テキスト
 216 x 384 pixel
・187 x 379 dot
・7 x 21 文字
 216 x 384 pixel
・187 x 379 dot
・7 x 21 文字
64 x 128 pixel
・63 x 127 dot
・7 x 21 文字
 96 x 31 pixel
・---
・4 x 16 文字
 仮数 + 指数 10桁 + 2桁 10桁 + 2桁 10桁 + 2桁 10桁 + 2桁
 内部演算桁数 15桁 15桁 15桁 15桁
 プログラムメモリ容量 最大 ~61 KB 最大 ~61 KB 最大 ~62 KB 最大 ~28.5 KB
 メインメモリ (利用可能) ~61 KB ROM ~61KB ROM ~64 KB ROM ~26.5 KB
 ストレージメモリ  ~16 MB SDRAM ~16 MB SRAM ~15 MB SRAM ---
 プログラムファイル名 最大8文字 最大 8文字 最大 8文字 最大 12文字
 CPU SH4A (SH7305) SH4A (SH7305) SH4A (SH7305)
  クロック ~118 MHz ~59 MHz ~29 MHz ? MHz
 - FLL:  14,75 MHz x900 14.75 MHz x900 14.75 MHz x900 ---
 - PLL:  FLLx16, 235.93MHz FLLx16, 235.93 MHz FLLx16, 235.93 MHz ---
 - IFC: CPUコアクロック 1/2 PLL, 117.96MHz 1/4 PLL, 58.98 MHz 1/8 PLL, 29.49 MHz ---
 - SFC: SuperHywayバスクロック 1/4 PLL, 58.98MHz 1/8 PLL, 29.49 MHz 1/8 PLL, 29.49 MHz ---
 - BFC: メモリバスクロック 1/4 PLL, 58.98 MHz 1/8 PLL, 29.49 MHz 1.8 PLL, 29.49 MHz
 - PFC: I/Oクロック 1/8, 29.49MHz 1/16, 14.75 MHz 1/16, 14.75 MHz ---
sentaro様作成の カシオグラフ関数電卓用オーバークロックツールを使用した結果、マニュアル記載の内容によります。
 
 
<目次に戻る>
ダウンロード

取扱説明書、PCリンクソフト、出荷時に無いアドインは、CASIO Worldwide Education Website (WEW) からダウンロードできます。このページから
  • 上のメニューで Support をクリック、
  • 言語として English を選び (日本語が無い)、
  • Graphic Model を選び、
  • SOFTWARE LICENSE AGREEMENT で Accept をクリックする
これで、fx-CG50 Series のリソースダウンロードのページに行けます。
 
 
OSアップデート
fx-CG50 本体で、[MENU] - [System] - [F4] (Version) で確認すると、OSバージョンは 03.00.0202 となっていました。
fx-CG50 のダウンロードできるリソースには、今のところ OSアップデートが無いので、これが最新バージョンと思われます。
 
 
<目次に戻る>
取扱説明書
fx-CG50 のリソースダウンロードのページで、User's Guide for fx-CG Series Handheld をクリックすると、各国語のハードウェアマニュアルとソフトウェアマニュアルがあるので、いずれも English 版をダウンロードしました。
- [PDF File] User's Guide Version 3.0 -Hardware- (English)
- [PDF File] User's Guide Version 3.0 -Software- (English)
 
 
<目次に戻る>
アドインプログラム
fx-CG50 のリソースダウンロードのページで、Add-in Software をクリックし、各種アドインプログラムをダウンロードできます。ダウンロードできるアドインの中で、私の fx-CG50 に購入時にインストールされていなかったのは、Probability Simulation だけです。
アドインのインストールマニュアル - 日本語版
Add-in Software の下の User's Guide for fx-CG Sries Handheld のさらに下に  [PDF File] Installation Guide をダウンロードしてみると、各国語別のガイドがありますが、ナント日本語版が含まれていました。
 
 
<目次に戻る>
サポートソフトウェア
Screen Receiver - 電卓画面をPCで表示するソフト
fx-CG50 のリソースダウンロードのページで、Support Software をクリックし、Screen Receiver がダウンロードできます。バージョンは 3.02 で、fx-CG20 /10 用と同じバージョンで、共通して使えます。
 
  
<目次に戻る>
データ転送
 
PCとのリンク


標準添付の USBケーブルを使います。
USBケーブルで fx-CG50 と PC を繋ぐと、fx-CG50 の液晶での表示が接続モード (Connection Mode) になります。
ここで、[F1] (USB Flash :[F1]) を押すと、ポップアップウィンドウで Preparing USB と表示され、少し待つと接続完了です。

後は、エクスプローラで fx-CG50 がドライブとして表示されるので、PC上と同じ操作でファイルのやりとりができます。 

PCLink_PCDisp 
fx-CG50 内のフォルダ / ファイル はこのように表示されます。ここで、System Volume Information フォルダがありますが、fx-CG50 ドライブに名前を付けたことで作成されたものです (日付けを見れば後から作成されたことが分かりますね)。

fx-CG50 を接続した時のドライブには最初は名前が無いので、FX-CG50 と名前を付けました。ドライブを右クリックしてプロパティを選び、そこで名前を入力できます。

CG50 PCLink Drive Name 

さてPCと接続中の fx-CG50 の液晶画面には、fx-CG20 には無かった新しい === Caution === 画面 が Tips 画面 (fx-CG20と同じ) と交互に表示されます。ここでは、「ケーブルを抜く前にPCのUSB接続を終わらせてください」と書かれています。Windows PCの通知領域 (タスクトレイ) で「ハードウェアを安全に取り外してメディアを取り出す」で [CASIO MassStrage Device の取り出し] をクリックします。外付け USBハードディスクや USBメモリの取り出しと同じ操作です。
 
 
<目次に戻る>
電卓同士のデータ転送

3Pinコネクタの接続ケーブル (SB-62) を使って2つの電卓を繋ぎ、接続する両方の電卓で CABLE (ケーブルの選定) で [F2] (F2:3Pin cable) を設定後、一方で TRANSMIT (送信)、他方で RECV (受信) に設定すれば、データのやりとりができます。このケーブルは、fx-9860GII には標準添付されていましたが、fx-5800P、fx-CG20 そして fx-CG50 には標準添付されていません。以前 SB-62 のみを購入した時は ¥2,700 でした。

プログラムを含むデータのやりとりができるのは、fx-9860G、fx-9860GII、fx-CG20/10、fx-CG50 (および fx-9860G あたり以降のグラフ関数電卓) で、Menu に Link 項目があって、3Pin コネクタが付いている機種です。なお、fx-5800P 同士なら、このケーブルを使ってデータ転送可能ですが、fx-5800P と グラフ関数電卓とのデータ転送はできません。

詳しくは、Sofware Manual に書かれているので確認できますが、使ってみれば分かると思います。

[2017/07/28 追記]
fx-CG50 から fx-9860GII へ転送すると、ファイル形式は g3m から g1m へ自動変換され、カラーや細線設定など、fx-9860GII で未対応のコマンドは @ に自動的に置き換えられます。
 
 
<目次に戻る>
バックアップ

万一に備えて、電卓内部のデータをバックアップしておくことを勧めます。PCに保存フォルダを作り、PCとのリンク機能を使って電卓内のデータをPCの保存フォルダに丸ごとコピーしておきます。
PCLink_PCDisp 
購入時のバックアップ、そして適宜バックアップをすると良いと思います。特にオーバークロックを行う場合は、エラー発生時に電卓のリセットが必要になりプログラム、データやプログラムが失われることもあるので、バックアップしてあればこれらを簡単に戻せます。
 
 
<目次に戻る>
ハードウェア

CG50 & CG20 
主に fx-CG50 と fx--CG20 を比較します。
 
 
キー入力
キー配置や各キーに割り当てられている機能は、fx-CG20 と全く同じ。
 
 
<目次に戻る>
液晶表示
液晶のサイズや精細度も fx-CG20 と同じ。
手持ちの fx-CG20 と fx-CG50 を比べる限りでは、明るさや色合いが少し異なっています。

LCD CG50 & CG20 
左が fx-CG20、右が fx-CG50

同じ明るさ設定で比較して気がつくのは、右の fx-CG50 は黄色みがかって少し暗く見えます。fx-CG50 で明るさ設定を 3/5 から 4/5 に変えると明るさは同等になりますが、それでも黄色みがかっています。消費電力低減への寄与もありそうです。

[2017/07/23 追記]
このカラー液晶の輝度と色については、バラツキがあるようです。sentaro様所有の個体は逆の傾向だとコメントを頂きました。
 
 
<目次に戻る>
関数電卓としての機能

fx-CG50 のキーの種類と数、および配置は、fx-CG20 と同一です。fx-9860GII には [SHIFT] [5] (FORMAT) が有りませんが、それ以外は同じです。関数機能も同じです。計算の内部桁が15桁と同じで、各関数の精度範囲も同じなので、fx-CG50 の関数電卓としての使い勝手は fx-CG20 や fx-9860GII と同じです。
 
 
<目次に戻る>
ユーザーデータのバックアップ機能
カシオのスタンダード関数電卓は電源をオフにすると、作業内容やユーザーデータが消えますが、fx-CG50 は各モードでのユーザーデータは一旦電源を切ってもバックアップされます。他のプログラム電卓 fx-5800P、fx-9860GII、fx-CG20 もバックアップされます。

資格試験で使えると称しているスタンダード関数電卓は、数式などが保存できると都合が悪いからバックアップできない仕様になっていると思われます。バックアップ機能だけでも、プログラム電卓を関数電卓として使う価値があると思って、私は日常的にプログラム電卓を関数電卓として使っています。
 
 
<目次に戻る>
3桁区切り表示
カシオの最新のスタンダード関数電卓 fx-JP900 / 700 / 500 では、関数電卓として3桁区切りが登場しました。一般電卓には3桁区切りは普通に搭載されている使い勝手の良い機能なので、登場が遅すぎるようにも思います。

これまでのプログラム電卓には3桁区切り機能は無く、fx-CG50 に3桁区切り機能の登場を期待しましたが、残念ながら対応していません。fx-CG50 のソフトウェアが fx-CG20 から殆ど変わっていない結果とも言えます。デザインは fx-JP500/700/900 を踏襲したので、3桁区切りについても踏襲して欲しいわけで、OSアップデートによる追加対応という現実的な方法もあります。カシオには是非対応して頂きたいと思います。
 
 
<目次に戻る>
複素指数関数
複素数を表示するように設定して、計算させてみると、fx-5800P はエラー、fx-9860GII と fx-CG20 は正しく計算結果を表示します。fx-CG50 でも同様に複素指数関数を正しく計算します。

 CompCalc1 CompCalc2 
 
 
<目次に戻る>
積分関数の処理速度
 
積分計算速度の比較をしてみます (Rad モード)。
機種積分1積分2
fx-JP9005.5秒48.7秒
fx-5800P10.1秒56.7秒
fx-9860GII (SH4A)1.5秒8.4秒
fx-CG201.0秒5.8秒
fx-CG500.7秒3.2秒

積分計算は fx-CG50 で高速化しています。三角関数の計算が特に高速化していることが分かります。
 
 
<目次に戻る>
周期関数の積分
積分計算にガウス・クロンロッド法が使われていることから、このアルゴリズムが苦手な多項式で表せない関数の代表選手として周期関数の積分を行って、タイムアウトする限界を比較してみます (Rad モード)。

積分3
機種計算できる nタイムアウトする n
fx-JP900
fx-5800P
fx-9860GII6061
fx-CG206061
fx-CG506061

fx-CG50 での結果は、fx-CG20 や fx-9860GII と同じなので、積分計算の内部ロジックは大きく変わっていないようです。
 
 
<目次に戻る>
Casio Basic の互換性

当ブログは Casio Basic がメインテーマなので、少し詳しく解説します。

fx-CG50 に搭載されている Casio Basic は、2006年に発売された fx-5800P とそれ以降に発売されたグラフ関数電卓が同じカテゴリに属します。これらに搭載された Casio Basic は、構造化プログラミング可能で意外に高機能です。当ブログでは、このカテゴリを新世代 Casio Basic と呼んでいます。

< 新世代Casio Basic搭載機 >
 - 2006年発売 fx-5800P
 - 2007年発売 fx-9860G (OS Ver 2 以降)、生産中止
 - 2009年発売 fx-9860GII
 - 2010年発売 PRIZM fx-CG10 (北米のみ)、fx-CG20と同じ
 - 2012年発売 fx-CG20
 - 2013年発売 fx-FD10 Pro
 - 2017年発売 fx-CG50 (欧米のみ)

新世代 Casio Basic については、Casio Basic の勧め を参考にしてください。

fx-CG50 搭載の Casio Basic は、機能面で fx-CG20 と異なる点が見つかりません。現時点では完全互換と言って良いと思います。そこで、fx-CG20 について、fx-9860GII や fx-5800P との比較を行った記事がそのまま fx-CG50 に該当します。

 ⇒ fx-CG20 の概要
 ⇒ fx-9860GII への移植 - 厄介な旧来の命令

当ブログで公開している Casio Basic入門逆引きCasio BasicCasio Basicコマンドリファレンスプログラムライブラリ は、fx-CG20 に関するものは、そのまま fx-CG50 に適用できます。
 
 
<目次に戻る>
カタログ機能

fx-CG50 には fx-CG20 と同様に使えるコマンドの一覧を検索して入力できるカタログ機能が備わっています。コマンド入力ができるモードで [SHIFT] [4] (GATALOG) を押すと、カタログ画面が現れます。

Catalog 1 CG20 Catalog 1 

左が fx-CG50 で、右が fx-CG20 です。

左の画面には、HISTORY というメニューと 表記 "Catalog" の右に検索入力欄が増えています。過去に検索して入力したコマンドを再入力するためには HISTORY 機能は大変便利です。 検索入力に1文字入れると絞り込み検索が行われるので、コマンドがうろ覚えの時に便利です。

CATメニューを選ぶとジャンル別一覧が現れます。

atalog Graph 1 

例えば 4: Graph でジャンルを選ぶと以下の画面になりますが、ここで fx-CG50 と fx-CG20 で違いがあります。

Catalog Graph 2 CG20 Catalog Graph 2 

左が fx-CG50、右が fx-CG20 です。

右の fx-CG20 では、コマンドのリストが表示されます。
左の fx-CG50 で表示されるリストは、コマンドではなくて説明です。この下のレベルでさらに説明のリストが現れることもあります。かなり分かり易く改善されています。

なお、CAT メニューから 1:All を選ぶと、全てのコマンドがアルファベット順に表示されます。このリストを fx-CG50 と fx-CG20 で比較した結果、同一でした。Casio Basic 使えるコマンドの種類が全く同じだと分かります。 
 
 
<目次に戻る>
Casio Basic の処理速度

fx-CG20 向けの作成したプログラムが そのまま fx-CG50 で動作するのは、ユーザーとしては助かります。fx-CG50 では処理速度の向上が見らるので、具体的に調べてみます。

 計算主体

PRIME - 素因数分解

ダウンロード
- fx-5800P用 pdf ファイル
- fx-9860GII用 g1m ファイル
- fx-CG50 / fx-CG20用 g3m ファイル

※ 使い方やプログラムソースについては、fx-9860GII への移植 - 素因数分解 参照

プログラムを起動すると...

Prime1 
数値を入力して [EXE] で素因数分解を始め、[EXE] を押しながら結果を1行ずつ表示させる。

Prime2 Prime3 
表示が出たら、最後の行を示すので、これで素因数分解の全結果となります。

このプログラムの実行中は、ビジーマーカー以外に表示の更新が無いので、計算速度の比較に向いています。今回は、以下の10桁の数の素因数分解の計算時間を比較します。

計算する数値: 7,849,516,203 = 32 x 9811 x 88897

fx-CG50 の画面は以下のようになります。

   Prime4 Prime5 

機種別処理時間の比較
fx-CG50fx-CG20fx-9860GIIfx-5800P
46秒63秒89秒444秒
11.361.939.65
0.7312.677.05
0.520.7118.73

fx-CG50 の計算処理は、fx-CG20 より 30% 程度速くなっています。
  
<目次に戻る>
動きのあるテキスト出力

PYTHA - ピタゴラス数探索

ダウンロード

- fx-5800P用 pdf ファイル
- fx-9860GII用 g1m ファイル
- fx-CG50 / fx-CG20用 g3m ファイル

※ 使い方やプログラムソースについては、fx-9860GII への移植 - ピタゴラス数 を参照。

このプログラムを起動すると1つめのピタゴラス数を表示して一旦停止します (左の画面)。
2行目の EXE:Next (-):Stop に変化するまで [EXE] キーを長押しすると、連続的に次々とピタゴラス数が表示し続けます。
そして、右の画面のように500個のピタゴラス数を探索して表示するまでの時間を計って比較します。
    Pytha 1 Pytha 500

[EXE] キーを長押しすると連続モードになって、A、B、C 1組のピタゴラス数が、次々に変化します。つまり、このピタゴラス数探索プログラムは、テキスト表示が常に更新し続けます。
そこで、500個のピタゴラス数が見つかるまでの時間を、機種別、クロック別に調べて比較してみました。

機種別処理時間の比較
fx-CG50
fx-CG20
fx-9860GII
fx-5800P
87秒
185秒93秒
441秒
12.121.075.07
0.4710.5024,0
0.941.9914.74
0.200.420.211

fx-CG50 は、fx-CG20 の2倍程度の処理速度、fx-9860GII とほぼ同等の処理時間。
fx-CG20 は、動きの有るテキスト表示が重すぎて、実用プログラムを走らせるには向かなかったが、その問題が解決されています。

液晶画面の右上にビジーマーカーが表示されますが、fx-CG20 では常に表示し続けているのに対して、fx-CG50 では表示されていない時間が長い点に気付きました。fx-CG50 ではビジーマーカー表示を間欠的に行うことで全体の処理速度向上を図っている可能性もありそうです。
 
<目次に戻る>
動きのあるグラフィック出力

MONTECAR - モンテカルロ法による円周率計算

ダウンロード
- fx-9860GII用 g1m ファイル
- fx-CG50 / fx-CG20用 g3m ファイル

※ 使い方やプログラムソースについては、fx-9860GII グラフィックス - モンテカルロ法 を参照。この記事では、実際の画面の変化を動画で見られます。

 Montecar_1 Montecar_2 

 Montecar_3 Montecar_4 

[EXE]
キーを押すと、ランダムに点を打ち始め、それが円内にある割合から円周率を求める、モンテカルロシミュレーションプログラムです。このプログラムは、動きのあるテキスト表示と動きのあるグラフィックス描画を同時に行います。

そこでランダムに500回点を打つまでの時間を、機種別に調べて比較してみました。
機種別処理時間の比較 
fx-CG50
fx-CG20
fx-9860GII
174秒
429秒
135秒
12.470.78
0.4110.31
1.23.181

fx-CG50 は、fx-CG20 の 2.5倍の処理速度を達成。しかし fx-9860GII の 80% 程度の処理速度しかありません。

グラフィック表示の処理時間は fx-CG50 でかなり改善されているとは言え、あまり得意な処理ではないことが分かります。
カシオのグラフ関数電卓は、数学教育目的でグラフを表示することが主眼で、速い動きで変化示す処理は重視していないんでしょう。
 
<目次に戻る>
さらなる高速化

fx-CG50 は、fx-CG20 の極めて遅い出力処理を改善していることが分かったのですが、それでもゲームなどのピクセル単位での描画が多いプログラムでは全く不十分です。Casio Basic をより高速化するには、現在のところ2つの可能性があります。1つはオーバークロックによる高速化、もう一つはアドイン版 Casio Basic (C.Basic) の利用です。

オーバークロック
これまで、fx-9860G、fx-9860GII そして fx-CG10 PRIZM / fx-CG20 それぞれの専用オーバークロックツールが、sentaro様により提供されてきています。いずれも比較的安全性が確保されており、私も愛用しています。

Casio グラフ関数電卓を限界までチューンアップ

本ブログでは、作者の sentaro様へ直接質問できるように、以下のエントリーがあります。このエントリ-では、fx-CG20 用の Ptune2 の紹介もしており、サポートも受けられます。
 ⇒ fx-9860GII のオーバークロック - Ftune2 -

fx-CG50 用のオーバークロックツール Ptune3 の開発も始まっていますが、まだα バージョン段階で、今後一定の安全性を確保しつつさらに高速化できる可能性があります。そこで安定版リリースまでは、以下のエントリ-で情報交換を行います。
 ⇒ fx-CG50 のチューンアップ

ちなみに、各機種をチューンアップして上で紹介した モンテカルロ法による円周率計算の処理時間を比較します。

チューンアップした機種別処理時間の比較 
fx-CG50 tuned by Ptun3
fx-CG20 tuned by Ptune2
fx-9860GII tuned by Ftune2
97秒 (174秒)
108秒 (429秒)
23秒 (135秒)
1.8倍高速化4倍高速化5.9倍高速化
11.110.24
0.9010.21
4.214.701
カッコ内は標準での処理時間

チューンアップは、CPUコアクロックだけでなく、メモリバスクロック、I?Oバスクロック、ウェイトなどを機種に応じて調整します。ここでは、チューンアップの潜在能力を示すだけなんで、個別のチューンアップ設定は割愛します。

fx-9860GII の標準での処理時間が 135秒なので、fx-CG50 も fx-CG20 もそれ以上に高速化できています。
但し、fx-9860GII はかなりチューンアップ可能で桁違いに速くなっています。
fx-CG50 用の Ptune3 の今後の進展が楽しみです。
 
アドイン版 Casio Basic (C.Basic)
C.Basic は、現在のところ fx-9860GII 専用版のみの開発が続いています。開発者はチューンアップツールと同じ sentaro様です。

C.Basic は、純正Casio Basic のソースをほぼそのまま実行可能で、特にグラフィック描画の高速化は目を見張るものがあります。
どのくらい凄いのかは、ここ にある動画を見れば一目瞭然です。現在は、主に海外からの要望に応えつつ、バージョンアップが進んでいます。

fx-CG50 向けの開発がいつか始まること期待したいところです。
 




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


   

keywords: CasioBasicプログラム電卓、fx-CG50

リンク集 | ブログ内マップ
関連記事

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

fx-5800P【ゲーム】:もぐら叩き~まとめ~

fx-5800Pでもぐら叩き
e-Gadget


fx-5800P で作る「もぐら叩き」ゲームのまとめ
コード修正 2014/03/20
fx-FD10 proに関する記述追加 2014/09/28
コード誤記修正 2016/05/12
  fx-CG20 に関する記述修正 2017/01/04
fx-CG50 に関する記述追加 2017/07/24
 


普通のプログラム作成の記事と異なり、多少冗長な内容になっており、(1)~(8)で、徐々にプログラムを作ってゆく様子を複数の記事で紹介した。


最終的なプログラムは、本ページの一番下に掲載した。


一連の連載は開発ストーリーになっている。

fx-5800P【ゲーム】:もぐら叩き(1)

fx-5800P【ゲーム】:もぐら叩き(2)

fx-5800P【ゲーム】:もぐら叩き(3)

fx-5800P【ゲーム】:もぐら叩き(4)

fx-5800P【ゲーム】:もぐら叩き(5)

fx-5800P【ゲーム】:もぐら叩き(6)

fx-5800P【ゲーム】:もぐら叩き(7)

fx-5800P【ゲーム】:もぐら叩き(8)



fx-5800P に搭載されているプログラミング言語は、Casio Basic というカシオの味付けをした BASIC言語 だ。

特に、もぐら叩きのようなゲームを作る際に特に重要かつ必要なものは、以下の機能だろう。
1) 広い表示画面
2) Getkeyコマンドによる、リアルタイムキー入力監視機能
3) Locateコマンドによる、柔軟な表示機能


さらに、昔のプログラム電卓に搭載されていた BASIC と異なり、構造化 BASICである点も特筆できる。昔のプログラム電卓やポケコンに搭載されていた BASIC は行番号と GOTO コマンドでプログラムの流れを作っていたが、現在の Casio Basic は Goto コマンドを使わずに制御構造を作れるので、ブロック構造による 構造化プログラミングができるようになっている。

これらの機能が、fx-5800P を魅力的にしている。


CASIOの電卓の中で、上記を満たすプログラミング言語を搭載されているのは、私が入手しているマニュアルを調べる限り、下記の4機種程度で、比較的限られている。

・fx-9860G: グラフ関数電卓(生産終了)
 取扱説明書

・fx-9860G II: グラフ関数電卓(生産終了)
 メーカーサイト / 取扱説明書

・fx-CG20 / fx-CG10: グラフ関数電卓(生産終了)
 メーカーサイト / 取扱説明書

・fx-FD10 pro:土木測量向けプログラム関数電卓 (現行品)
 メーカーサイト / 取扱説明書

・fx-CG50:Graphing Scientific Calculator (欧米のみ販売)
 メーカーサイト (英文)

・fx-5800P: プログラム関数電卓(現行品)
 メーカーサイト / 取扱説明書


fx-FD10 pro fx-FD10 pro


fx-9860GIIfx-9860G II 
fx-CG20fx-CG20 

fx-CG50fx-CG50 

fx-5800P-3fx-5800P 


上で紹介した機種には、新世代の CASIO BASIC が搭載されている。fx-5800Pが最も機能制限されていて、他はfx-5800Pのほぼ上位互換となっている。

完全互換でないのには理由がある。電卓の機種が異なると、ハードウェアの違いからキー配置が異なる。従って、Getkeyで得られるキーコードが異なるため、ソースレベルでの互換性は無い。これを除けば fx-5800Pのプログラムからの移植性は比較的高いと(旧来の命令の互換性については、少し注意が必要だ⇒こちらを参照)。

上で紹介したもの以外の、過去のグラフ関数電卓や、プログラム関数電卓では、上記の3つの条件を同時に満たすものは無い。グラフ機能の無いプログラム関数電卓としては、2006年発売の fx-5800P が唯一上記3つの条件を満たす。しかし、fx-72F、fx-71F 、fx-3600P、fx-3950Pなどはプログラム機能が十分でないので 魅力的な新世代 Casio Basic を搭載していないので、推奨機種から除外する。

fx-9860GII、fx-CG20、fx-CG50、fx-FD10 Pro は、1万円以上の価格だ。

一方で、fx-5800P は 6千円台前半 (2017/01/01時点の Amazon価格) と格段に手軽な価格だ。この価格で、上記3つの条件を満たす言語を搭載しているのだから、改めて魅力的なマシンと言える。

※ 興味があれば、最近のCasio プログラム電卓の価格動向 を参照ください。


当初は、fx-5800P のような電卓で、遊べるアクションゲームを作れるとは思っていなかった。いきさつは、以下の記事に書いた。

fx-5800P【ゲーム】:もぐら叩き(1)

たまたま、Goto~Lbl コマンドで、カウントタイマーを作ってみると、意外に速いことから、実際に遊べるレベルのアクションゲームを作れるかどうかを試したくなったのが、もぐら叩きを作り始めた動機だった。

パソコンで作るゲームと異なり、最初にゲーム仕様を作るのではなく、機能を追加した時にゲームとしてのスピード感を損なわないように探りつつ、様子を見ながらゲーム仕様を作っていった。実際に私自身が考えたり試したりした事柄を、時系列で実況中継風に書いた結果、冗長な記事となってしまった。

その結果、そこそこの出来映えとなったと思っている。

実力の有る方なら、一気にスイスイとプログラムを作れるのだろうが、そこは私のスキルレベルに読者の皆さんを付き合わせてしまった。


できあがったゲームは、バリバリのゲーマーには物足りないのだが、普段からあまりゲームで遊ばない人間(=私)には、少しすつスキルアップして、得点が増えてゆくのが愉しい。


ご興味の有る方は、是非一度プログラムを入力して、遊んでみて欲しい。


もぐら叩きが意外にうまくいったので、最近はシューティングゲームができないものか?と、色々と動きのあるルーチンを作って遊んでみている。ひょっとしたら、何かシューティングゲームができるのかも知れない。

電卓の遅い処理速度、完全シングルタスク、広いといっても16×4 しかない画面で、動きやロジックを試しながら、遊べそうなゲームを模索してみようと思っている。


おしまい( ^o^)ノ



以下は、プログラムコード: [2016/05/15 誤記修正]

もぐら叩き: Wack -a-Mole by やす(Krtyski)

Wack-a-Mole_src 





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



keywords: fx-5800Pfx-CG20fx-9860G IIゲーム、プログラミングもぐら叩きプログラム関数電卓

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

関連記事

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

楽屋裏 - fx-CG50 のチューンアップ

楽 屋 裏
e-Gadget


2017/07/20

fx-CG50 を入手したので、早速クチューンアップに挑戦!

これまで、fx-CG20 で愛用してきた Ptune2 (sentaro様の作品) の fx-CG50 対応版 Ptune3 ver 0.05 αバージョン を入れました。Ptune2 はかなりの安全設計なので、引き続き Ptune3 を試します。

fx-CG20 はRAMにSRAMを使っていますが、fx-CG50 は SDRAM に変わっています。従って新たに Ptune3 が登場したわけです。


sentaro様によるコメント

αテスト版ですが、Ptune3 ver0.05です。(^^;
http://pm.matrix.jp/Ptune3_005.zip

一番の注意点としては、SDRAMのメモリチェックはチェック後にシステムエラーを起こすことが少々あるので、SDRAMのメモリチェックをした後はリセット推奨です。
それ以外は以前のPtune2と同様にUSB接続で使用しないこと、ぐらいでしょうか。

現状ではCG20のようにメモリクロックがどんどん上げられないので、デフォルトからPLL倍率を上げていくクロックアップが全体の速度向上には効果的です。
この場合はSDRAMのメモリ動作限界で全体の動作限界が決まってしまうのでCG20よりCPUクロックを高くすることが出来ません。
CPUクロックだけを上げるには[F4]を押してPLLをx32にして[SHIFT]+[UP]を押して最上段のFLLで上げていくことになります。(PLLは32倍で制限されているため)
この場合はメモリ限界よりもCPUクロック限界が先にくるので、これでCPUの動作限界が分かります。
私の個体では280MHz前後までいきましたが、速度的にはメモリクロックがあまり上がらないためにPLLを上げていく方が全体パフォーマンス的にはかなり有利になります。
現バージョンの0.05ではデフォルトからPLLを28倍くらいまで上げて1.8倍速ぐらいが安定限界というところです。

fx-CG20はPtune3で約3倍速まで引き上げられますが、fx-CG50はデフォルトで1.5倍~2倍、それがさらに1.8倍まで上がるとすればCG20の最高速度並にはなりそうです。
そしてその状態でも消費電力がCG20比で約半分というところなのでなかなか良いですね。(^^)

=====

αバージョンなので、なんと言っても完全に自分の責任で使うもので、今はこわごわ触っています。Ptune3 に関する話題をこのエントリーにまとめるため、楽屋裏ネタとしてこの記事を投稿しています。

早速、作者のsentaro様への質問をコメント欄にアップしました。




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



  


keywords: プログラム関数電卓、fx-CG50、クロックアップ、Ptune3

リンク集 | ブログ内マップ
関連記事

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

Casio Basic の勧め

.
2017年07月18日 改訂

Casio Basic は、最近の カシオ 製プログラム電卓(プログラム関数電卓やグラフ関数電卓)に搭載されているプログラミング言語で、意外に高機能なので実用的なプログラムが作れます。科学技術計算目的以外にも実用的なプログラムを作れます。私自身、技術計算以外のために作った自作プログラムをほぼ毎日使い、技術計算プログラムはたまに使う程度です。

カシオのプログラム電卓で新世代 Casio Basic を勧めたくなるには、幾つかの理由があります。

新世代 Casio Basic でのプログラミングは敷居が低いこと、初心者にも覚えやすいこと、プログラミング経験者はスグに使えること、Casio Basic が意外に使えることなどが、その理由に挙げられます。


目 次
  1. プログラミングは特殊技能なのか?
  2. 新世代 Casio Basic とは?
  3. Casio Basic 搭載機種の選定
  4. Casio Basic の習得は容易
  5. fx-5800P の勧め
  6. Casio Basic を勧める背景
  7. fx-5800P の利点と弱点
  8. Casio Basic の使いこなし


プログラミングは特殊技能なのか?

プログラミングは、理系や文系、男女差、年齢や経験などとは無関係に習得可能なことはよく知られており、IT企業ではごく普通に文系出身のSEやプログラマが活躍しています。特に Casio Basic は覚えることが少なく、簡単なので、誰でも電卓プログラミングが出来ると思います。

参考:
<トップへ戻る>

新世代 Casio Basic とは?

実際にCasio Basic を使いながら、取扱説明書には記載のない機能や仕様が分かってくると、以下に挙げる4機種に搭載されている Casio Basic が意外によくできていることが明かになってきました。

1) fx-CG50    (カラーグラフ関数電卓)
2) fx-CG20      (カラーグラフ関数電卓)
3) fx-FD10 pro   (プログラム関数電卓 - 土木測量向け)

4) fx-9860GII   (グラフ関数電卓)
5) fx-9860G   (OS 2.0 以降、グラフ関数電卓) 
6) fx-5800P      (プログラム関数電卓)


これらに搭載されている言語は、私は 新世代 Casio Basic と呼び、それ以前の言語と区別しています。

新世代 Casio Basic は、簡単に言えば、Getkey コマンドと 柔軟な Locate コマンドがあり、条件判定は基本的に 0 で偽、0 以外で真で、その上で構造化プログラミングの考え方でプログラミング出来きます。
  • Getkey[AC] キー以外の全てのキーに異なるキーコードが割り当てられ、押したキーをリアルタイムで判定できるコマンド。
  • Locate: パラメータに、即値以外に変数、式、コマンドを指定して位置を柔軟に指定して出力するコマンド。
  • 条件判定を 0 で偽、0 以外で真とできること
  • 構造化プログラミングGoto に頼らずにプログラムの制御を記述し、可読性の高いブロック構造作れるプログラミングの方法。
プログラミング経験者(特にPCでのプログラミング経験者)なら、新世代 Casio Basic は違和感なく使えます。

旧来の命令
新世代 Casio Basic には、以前のプログラム電卓に搭載されていた旧来の命令も搭載されています。カシオによれは従来のユーザーの利便性を考慮して旧来の命令を残しているとのことです。最近、この旧来の命令を使いこなして、どの程度のプログラムを作れるのか色々と試して、それを反映させたエントリーを Casio Basic入門38から連載を始めています。使いこなしを検討してみると、確かに一定レベルの実用プログラムを比較的楽に作れることが分かります。

旧来の命令は表記はシンプルでも、多彩な機能を持っています。プログラミング経験の少ない人でも簡単に使えて便利です。しかし、旧来の命令が機能が多彩であることが、逆にプログラミングの自由度を減らしているとも言えます。この旧来の命令では実現できないプログラムを作るには、Casio Basic の構造化Basic を積極的に使えばよいのです。旧来の多彩な命令と Basic コマンドを併せて使いこなすことで、自由度が高く、実用的なプログラミングが可能になります。

<トップへ戻る>

Casio Basic 搭載機種の選定

上記製品の中でも、特に fx-5800P は最も安価であり、さらにハードウェアとソフトウェアのバランスが良いため、実用に最も適していると思うので、私は愛用しています。fx-9860GII も Casio Basic プログラミングを楽しむために使っていますが、日常には実用性の高い fx-5800P を多用しています。fx-CG20 も入手してみると fx-9860GII の Casio Basicの移植性が高いことは確認済みです (グラフィックスの一部コマンドやカラー対応の部分に手を入れる必要があります)。

fx-CG50、fx-CG20、fx-9860GII、fx-5800P について簡単にまとめています;

- fx-CG50: fx-CG50 の概要

- fx-CG20: fx-CG20 の概要

- fx-9860GII: fx-9860GII USB POWER GRAPHIC 2

- fx-5800P: 本記事は主に fx-5800Pの勧め になっています

- Casio Basic - 機種間の互換性

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


fx-CG50、fx-CG20 と fx-9860GII は、グラフィックス機能があり、高機能、高価格の製品(実売9千円台~2.5万円程度)で、これらの中で比較的安価な fx-9860GII は、処理速度が速い点が魅力です。さらに、fx-9860GII は Casio SDK (Casio 純正の開発環境)を使えば、パソコン上で C言語を使ってプログラムを作り、それを電卓に転送して Add-in プログラムとして利用できます。C言語で作った Add-in プログラムは、Casio Basicに比べてかなり高速動作し、Casio Basic では無理な処理も可能です。

fx-5800P
グラフィックス機能の無い fx-5800Pは、処理速度が相対的に低いものの、価格が圧倒的に安く(実売6~8千円程度)、関数電卓としてもプログラム電卓としてもバランスが取れた使いやすい機種です。

fx-5800P には プログラムリストを 通常の電卓モード (Comp モード) で呼び出して使えますが、fx-9860GII ではプログラムリストを表示するには一旦プログラムモードに入る必要があります。Casio Basicで作ったプログラムを日常的に使う場合は fx-5800P の方が利便性が高いことは、使ってみて分かります。fx-5800P と fx-9860GII を実際に使い比べてみると、日常使いには、バランスの良い fx-5800P が優れていると思います。

fx-9860GII
但し、プログラムの高速性やグラフィックス処理を重要と考えるなら、fx-9860GII も選択肢に入れるべきです。もし使いたい Add-in プログラムがあれば fx-9860GII が正しい選択肢となります。
例えば、当ブログで紹介している C.Basic (Casio Basic の上位互換、開発中) は fx-9860GII のアドインとして提供しているので、これが使いたいなら fx-9860GII がお勧めです。

fx-FD10 Pro
fx-FD10 Pro は、屋外使用を想定した堅牢な作りが特徴です。私自身が実機を持っていないので、取扱説明書から得られる内容から判断すると、上記の fx-5800P の使いやすさを備えていますが、実売1万6千円以上するが、Add-in プログラムが使えず Casio Basic のみが使えるので、fx-5800P と fx-9860GII の間にある機種だと感じます。従って、Casio Basic を使うのであれば、敢えて fx-FD10 Pro を選ぶよりも fx-5800P にするか、Casio Basic の上位互換の C.Basic が使える fx-9860GII を選択すべきだと思います。

fx-CG20 / CG10
fx-CG20 / CG10 は、カラー液晶が特徴で、内蔵の関数計算も高速化されています。但し、主に液晶への表示やメモリアクセス処理速度が fx-9860GII よりも遅く、Casio Basic プログラムの処理速度は fx-9860GII よりも遅くなります。さらに、オーバークロック・ツールを用いると fx-9860GII が fx-CG20 / CG10 の5倍以上高速になります。高精細カラー液晶の表示が必要だと考えるなら fx-CG20 / CG10 が良いのですが、それ以外の私なりの評価は、総合的に fx-9860GII の方が優れていると思います。

fx-CG50
fx-CG50 は、デザインや寸法が異なる以外は fx-CG20 / CG10 とほぼ同じ機能を持っていて、処理速度が向上しています。
 
 
<トップへ戻る>

Casio Basic の習得は容易

過去にPCでプログラミング経験があれば、Casio Basic はスグに使えると思います。私自身も過去にPCでのプログラミング経験があり、fx-5800P を買ってすぐにプログラミングができました。但し細かなところは取扱説明書に書かれていないので、自分で色々と調べました。その結果が当ブログです。

プログラミング経験があれは、当ブログの「Casio Basic コマンドリファレンス」、「Casio Basic入門」、「逆引き Casio Basic」を参考にすれば、すぐに使いこなせると思います。[2017/01/03 追記修正]

これからプログラミングをやってみようと思われる方の場合、新世代 Casio Basic を覚えることはPCで使う Basic 習得に有効だと思います。上で紹介した機種の中で特に fx-5800P は、ハードウェア的には最も非力ですが、最も安価で入手しやすく、さらに使いやすいので、学習用に向いています。僭越ながら、当ブログの Casio Basic 入門をほぼ理解できれば、Visual Basic の習得の敷居はかなり下がると思います。

Casio Basic のコマンドは、殆どが他のBasic と同じなので、覚えたことが将来無駄になりません。さらに必要最小限度の機能まで絞り込まれているので、覚えることが少いことが初心者向きの理由です。この点をもう少し説明してみます。

一般にプログラムを作る際、実現したい機能には無数の方法があります。無数の方法から適切な方法を選び出すことが、プログラミングの主な作業になるのですが、それは初級者には逆に習得の妨げとなります。Casio Basic は機能が少ないので、選択肢が限られます。従って、プログラミングの方法の選択で悩むことなく、必要なことを覚えやすいと言えます。色々なプログラムを作れば、効果的な反復学習になるわけです。

またコマンドが絞り込まれているので、アルゴリズムの工夫や計算式の応用で対応することになり、これも学習に向いていると考える理由の1つです。

機能が限定されていても、実用的なプログラムやゲームが作れることは、当ブログで紹介しています。実際にこれらのプログラムを作りながら、新世代 Casio Basic の良さに気付いたのです。実際に使ってみないと分からないものです。

<トップへ戻る>

fx-5800P の勧め

電卓でプログラミングを始めてみようと思う方には、私は fx-5800P を勧めます。

1.関数電卓としての fx-5800P
fx-5800Pは、関数電卓として見た場合、十分な機能を実現しています。プログラム機能の無い fx-995ES とほぼ同等の機能と操作性が有り、fx-5800P は高機能関数電卓と位置づけられます。カシオの関数電卓は電源を切ると、計算履歴もメモリの内容も全て消去されます。一方 fx-5800P は電源を切っても全てメモリに保存されたままです。これが関数電卓として fx-5800P を推奨する最大の理由です。

2.携帯型コンピュータとしての fx-5800P
携帯型コンピュータとして見た場合、手軽に実用プログラムを作れるので、パソコンでは真似のできない圧倒的な携帯性が最大の利点です。搭載されている Casio Basic は、ちょっとしたアクションゲームも作れます。実際に、fx-5800P のハードウェアの能力と Casio Basic の機能を確かめる目的で、「もぐら叩き」を作ってみました。結構遊べることが分ったので、冒頭で 『意外に良くできている』 と書きました。

3.Casio Basic
fx-5800Pに搭載されているCasio Basicは、グラフ関数電卓 fx-9860GII や fx-CG20 さらに 土木測量向けプログラム電卓 fx-FD10 pro に搭載されている Casio Basic と比べて、グラフィック機能や文字列処理、外部との通信機能を使うコマンドが省略されていますが、それ以外の機能は同じです。そして、fx-5800Pで作った Caso Basic プログラムは、上位機種への移植性が高いことは確認済みです。

<トップへ戻る>

Casio Basic を勧める背景

新世代 Casio Basic 搭載のプログラム電卓を勧めるには、いくつかの背景があります。

1. パソコンと同様な機能を求めない
パソコンでできることはパソコンでやれば良い。それをわざわざ電卓でプログラムを作る必要はありません。


2. サッと取り出し、パッと使える
必要な場所で、必要なタイミングで、上着やかばんのポケットからサッと出して、スグ使うのはパソコンでは絶対に出来ません。プログラムを作るだけで自分専用のオリジナル関数電卓が手に入ります。今や電卓は誰でも1台は持っている文房具です。プログラムを書くことで自分専用の機能にカスタマイズした文房具が手に入ります。


3. プログラムを簡単に作れる
ゲーム繰返し技術計算金融計算その他お金の計算単位や年月の換算時差計算 など作っておくと便利なプログラムが多くあります。自分に必要なプログラムを予め作っておくと、プログラム電卓のメリットは絶大です。

関数電卓の各種関数キーが[SHIFT]キーなどと併用しないと使えない(裏機能などと言われます)のは、2ステップキータッチが必要で効率が悪いとの評価基準があります(関数電卓マニアの部屋)。学生への関数電卓選びのガイダンスとしては、教育的配慮を斟酌すれば、私も100%同意するところです。しかし、この主張を金科玉条の如く受け売りする気になれないのも正直なところです。

実際に何度もキーを叩いて繰り返し計算を行う際には、プログラムを作ったり、数式記憶機能を使えば良いわけです。

道具は相応しい目的で正しく使えば良い。幸なことにfxー5800Pは、今や新品でも6000円程度で買えるので、2000円から3000円で関数電卓を買う変わりに、プログラム関数電卓を買うメリットを十分に感じる人は非常に多く居るはずです。ここでは、簡単なプログラミング・スキルがあれば良く、幸いなことにBasicを搭載しています。


4. 上位機へのプログラム互換性
高価で高機能なグラフ関数電卓や土木測量専業電卓への移植性が高いことは重要です。

fx-5800Pのハードウェア仕様に依存した部分を除けば、互換性、移植性が高いので、1からプログラムを作り直す手間はありません。上位機種を入手して、そこへfx-5800P のプログラムを容易に移植できるのは、Casio Basicの大きな利点です。

なお、カシオのグラフ電卓には、C、Lua、Python といった言語の開発環境(公式や非公式を含む)もあり、Casio Basic のプログラムを移植せずに別の言語でプログラミングする選択肢もあります。

fx-5800P の Casio Basicプログラムの fx-9860GII や fx-CG20 への移植をいくつか行いましたが、機種のハードウェアに依存するコマンド (GetkeyLocate)、旧来の命令 (出力命令 ◢ 、" "、入力命令 ? など) の動作の違いに適切に対処し、配列変数を行列やリストに置き換えれば、他の Basic コマンド類は互換性があります。


5. グラフ機能の優先度は低い
パソコンでできることはパソコンを利用する...と考えれば、プログラム電卓にグラフ機能は必ずしも必要ではないと思います。グラフィックスを利用したプログラムを電卓で使いたい場合は fx-9860GII のようなグラフ関数電卓を利用でき、Windows プログラミングよりは Casio Basic の方がプログラミングは遙かに楽です。

ゲームではなく、実用面からグラフ描画機能が欲しいと言う場合もあるでしょう。例えば、実験をしながらグラフを書くのは大変重要なことです。しかしそのために、プログラム電卓でわざわざプログラムを書く必要はあるでしょうか?
パソコンでエクセルを使えば、簡単にグラフを書けます。報告書、レポート、論文を書くのに最近ではエクセルのグラフが普通に使われているわけで、それなら最初からエクセルを使えば良いと思います。

私は、実用を強く意識して fx-5800P を使っていますが、グラフ機能がことさら必要だと思うことは殆どありません。本当に必要なら fx-9860GII などのグラフ関数電卓で、ブラフ表示をプログラミング可能です。しかし、正直に言えば グラフ機能の無い fx-5800P で十分に実用的なプログラムを作って、利用できます。

敢えて言えば、適材適所でしょう。そして Casio Basic 搭載機のなかでも fx-5800P は、プログラム利用の利便性が高く、小型軽量で、グラフ関数電卓よりもプログラム入力が格段に楽で、電池の持ちも長く、ハードウェアとソフトウェアのバランスが良いことは間違いありません。処理速度の遅い fx-5800P でも工夫次第で実用プログラムを作成できるので、プログラミング自体も楽しくなってきます。当ブログでは、その工夫について多く取り上げています。


6. 最も簡単にプログラミングできる携帯機器
Casio Basicを使うのなら、電卓本体のみでプログラミングできるので、いつでもどこでもプログラムを作れます。そして自分だけの付加機能を、恐らく最も簡単に追加できる携帯機器がプログラム電卓です。オリジナルプログラムを作りそれを使う楽しみと利便性があります。

<トップへ戻る>

fx-5800P の利点と弱点

fx-5800P は、新世代Casio Basic を搭載している点に最大の価値があり、同時に関数電卓としても使いやすい点が評価できます。関数電卓としてみた場合は、グラフ関数電卓 fx-9860GII よりも fx-5800P の方が必要な機能へのアクセスが速いので、使いやすいでしょう。しかしプログラミング時の使いやすさの点では fx-5800P が最も優れています。

fx-5800P のもう1つの利点は価格で、他の機種に比べて圧倒的に安価です。

要するに fx-5800P は、非常にバランスの良い製品と言えます。

fx-5800P に対する唯一にして最大の弱点は、プログラムコードのバックアップややりとりをパソコンとの間で行えるPCリンク機能が用意されていない点にあります。少なくとも fx-5800P 同志のプログラムデータのやりとりはできるので、外付けの3Pin - USB アダプタと対応ソフトウェアを発売して頂ければ実現するはずです。カシオ製でなく、サードパーティーでも良いのです。

PCとリンクしてプログラムを転送する機能の実現は、是非ともお願いしたい。

私の場合は仕事などで実用プログラムを作って、毎日のように使っていますので、電子データのバックアップ機能がどうしても欲しくなり、2台目の fx-5800p と専用通信ケーブル (SB-62)を購入しバックアップしています。なお、グラフ関数電卓を購入すれは、通信ケーブル(SB-62)は付属しているので、fx-5800P のために新たに購入する必要はありません。

<トップへ戻る>

Casio Basic の使いこなし

fx-5800P 搭載の Casio Basic は、使いこなしてみて初めてその価値が分かると思います。PCで一定以上のプログラミング経験があれば、この新世代 Casio Basicが構造化BASIC であることがすぐに分かると思います。カシオ自身がこの Casio Basic に関する情報発信を殆ど行っていないので、当ブログでは Casio Basic の使いこなしについて、異なる3つの切り口で紹介しています。

CasioBasic入門 / 目次
じっくりと読みながらプログラムを入力して Casio Basicの使いこなしやプログラムの作り方を修得する。題材のプログラムは、ある程度の完成度があり、実用的に使えるレベルになっている(と思う...)。

CasioBasic コマンドリファレンス 目次
Casio Basic のコマンドや命令を、出来るだけ詳しく調べた結果に基づいて解説している(抜けが無いことを祈るばかり...)。

逆引き Casio Basic 目次
Casio Basic で何か実現したいこと、やりたいことに対して、ピンポイントで実現方法、サンプルプログラム、考え方を紹介している(思いついたことから順次拡充中...)。

<トップへ戻る>



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


  

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

リンク集 | ブログ内マップ
関連記事

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

楽屋裏 - 最新プログラム電卓 fx-CG50 の記事

楽 屋 裏
e-Gadget


2017/07/04


fx-CG50 2017/01/09 に Casio Ameria が グラフ関数電卓の最新機種 fx-CG50 の発売をアナウンスしましたことが分かり 記事 にしました。

アナウンス通りに 2017年4月から欧米で発売されました。国内では fx-CG20が生産終了となっているのでいずれ発売されるでしょうが、その時期は未発表です。

fx-CG20 が国内で発売されたのは、欧米で発売されてから1年後だったので、fx-CG50に国内発売もかなり先になるかも知れません。私も国内発売を待ちきれずに、eBay で購入し到着を待っているところです。入手したら Casio Basic 動作の観点から評価記事を書く予定です。

既に海外から fx-CG50 を取り寄せて早速記事にしている方がいらっしゃるので、それを紹介します。Google で検索して、実際に入手したという日本語の記事を調べたところ、2017/07/04 時点で以下の2つのサイトみが見つかっています。


OptoEleMechの日記 - CASIOの最新関数電卓 (fx-260 SOLAR II、fx-CG50、fx-CG500)

古い機種を集めて紹介しているサイトはよく見ますが、最新機種を積極的に収集して紹介しているサイトは珍しいと思います。複数メーカーに渡って最新機種の様子がよく分かります。
ベンチマークの結果も公開されています。⇒ 総和のベンチマーク結果
このベンチマークは、関数電卓として内蔵されている総和関数 (Σ) を使ったもので、内蔵関数機能の評価を行っていることになります。


とね日記 - 最新のグラフ電卓 CASIO fx-CG50 (2017)

カシオ初のプログラム関数電卓 fx-201P の次の機種 fx-202P から 最新の fx-CG50 までの複数機種で同じ積分計算をさせてベンチマークの結果を公開されています。このベンチマークは、三角関数を含んだ積分計算をプログラミングしたもので、プログラム機能の評価を行ったことになります。





今後、随時追加してゆきます。




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



  


keywords: プログラム関数電卓、fx-CG50

リンク集 | ブログ内マップ
関連記事

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

楽屋裏 - カシオ グラフ関数電卓 fx-CG50 が2017年春登場

楽 屋 裏
e-Gadget


2017/01/16
続報 (1) 2017/01/21
続報 (2) 2017/07/02
続報 (3) 2017/07/03


2017年春に、カシオから北米向けにグラフ関数電卓 PRIZM fx-CG50 が発売予定とのアナウンスがあったと、sentaro様 から情報を頂きました

カシオアメリカの発表

・学生の数学教育向けを強調
・3Dグラフ機能の強化
・カタログ機能の進化
・教科書スタイルのディスプレイ
・より直線的 (tapered, クサビ型?) な筐体デザイン
・メーカー希望小売価格 99.99 ドル (実売はもっと安いだろう)

なんだか詳細はさっぱり分からない表現が多いですね。

これを受けて、カシオフリーク達はアドイン機能が無くなるのではないかと、おおいに心配しています。
そして、Casio Basic は相変わらず遅いまま、との推測もあります。

CHEMETECH の記事
 Universal Casio Forum の記事
 cordwalr US の記事

但し、アドインが無くなるとは公式には発表されていません。カタログ機能との言及がありますが、fx-9860GII や fx-CG10/20 では、Casio Basic のコマンドを一覧する機能なので、Casio Basic は搭載されるでしょうが、アドインが無くなるという話では無いかも知れません...

海外のコミュニティーで、アドイン無くすな!とこれだけ声が大きいのを、カシオ殿は是非冷静にくみ取って頂きたいと思います。アドインがあるから、これだけ普及したという考えもあります。

一方で、今後の携帯プログラミングは、ニンテンドー3DS  の一人勝ちとなるのでしょうか?
強力で高速な BASIC (プチコン) が使えるので、プログラム電卓でのプログラミング が出来なくなれば、これからは 3DS へ民族の大移動があるかも知れませんね。

いずれにせよ、しばらくは注目です!



=== 続報 (1) [2017/01/21] ===

その後、CHEMETECH で外観や画面の画像が出てきました。

CHEMETECH の記事

元ネタは CASIO の学校向け計算機のページ のようです。
fx-JP900 と似た外装で、角の丸い長方形です。これが Tapered (直線的) と言われたものなんですね。

画面のサンプルもありました

残念ながら、メニュー画面がありません。Add-In があるかどうかすぐ分かるんですけど...

但し、上の画面のサンプル のコメントに以下の記述がありました。
Those new main menu icons tell me (real) add-in support is most likely gone.
(それらの新しいアイコンメニューアイコンから、(本当の)アドインサポートは、ほぼ無くなったようだ。)

う~む、そうなんだろうか?


=== 続報 (2) [2017/07/02] ===

fx-CG50 はアドインプログラムを扱えることが判明しました (sentaro様からの情報)
TI Planet の情報

国内発売の情報はまだないが、欧米での発売が始まり品薄状態です。
このような中、ブログ友達の とね様 がアメリカ在住のご友人経由で早速 fx-CG50 を入手されたとのことです。

とね日記 - 最新のグラフ電卓 fx-CG50 (2017)

私も海外の知人経由での入手を検討中。sentaro様は セカイモン (eBay) で注文されたとのこと。今のところ並行輸入で入手するしかありません。


=== 続報 (3) [2017/07/03] ===

eBay の日本語サイトでは fx-CG50 が無く、英語のサイト (eBay.com) で送料込みで割合安い新品の fx-CG50 が有ったので注文しました。以前から利用していた PayPal を支払いに使うと安全なので 今回も PayPal を利用しました。届いたら、Casio Basic プログラミングの視点から評価記事を書こうと思います。


=== 続報 (4) [2017/07/03] ===

日本のカシオのサイトを見ると fx-CG20 が生産終了 となっています。fx-CG50 の国内投入がいつになるかの問題のようです。

カシオの fx-CG20 のサイト







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



  


keywords: プログラム関数電卓、fx-CG50

リンク集 | ブログ内マップ
関連記事

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

Casio Basic入門1

Casio Basic入門
<目次>

誤字脱字・記載ミスや分かりにくい表現などは随時追記・修正します.
最終更新:2017/07/02


はしがき
[2014/11/03追記]

fx-5800P を買ってきてプログラムを作ってみようと思い、取扱説明書を見ると、プログラムが分かる人向けのヒントくらいしか書かれていません。

これはヒドイ!!(以前は良かったのに...このあたりは「1.はじめに」で紹介してます)

とりあえずプログラミングを始めたものの、細かいことは、色々と試行錯誤を繰り返さないと分かりません。こうして、取扱説明書には書かれていない詳しいことが、少しづつ分かってきました。

プログラムを作りながら色々と調べているうちに、fx-5800P に搭載されているプログラミング言語:Casio Basic は、かなり優れモノだと分かってきました。プログラミング経験者向けに Casio Basic の面白さを一言で紹介すると、「電卓で使える構造化BASIC 」 です。

なかなか優れている Casio Basic なのに、こんな取扱説明書では、さっぱり使いこなせない人が多いだろうし、経験者が取扱説明書を読むと、未だに古い Basic 風言語と変わらないと思うだろうし、良さを知らないままにプログラミングを諦める人も多いだろうと思うので非常にもったいないと思います。

新世代 Casio Basic が使える fx-5800P は、非力なプロセッサしか積んでいないにもかかわらず、まともな実用プログラムを作れます。さらに、fx-5800P はプログラムを呼び出して使う利便性が高く、高機能な fx-9860GII や fx-CG20 よりも便利なことは、あまり知られていないのではないでしょうか? 

自分の必要性に合わせて、いくつもの実用プログラムを作ってみて、分かったこと試してみたこと を含めて、取扱説明書では絶対にわからない Casio  Basic の使いこなしを整理したものが Casio Basic 入門 講座です。それと並行して、取扱説明書では絶対にわからない Casio Basic のコマンドリファレンス 、逆引き Casio Basic を公開しています。

「1.はじめに」 では、Casio Basic や fx-5800P の歴史や特徴を私見を交えて書いていますので、「2.プログラミングとは」まで飛ばしてもらって結構です。



1.はじめに [2015/01/04 修正]

私が初めて手にした電卓が、カシオのFX-502Pという関数電卓でした。手帳サイズでプログラミングできる画期的な製品で、世界中にカシオファンを増やした原動力となったようです。

fx-502P 
手帳タイプのソフトカバーが付属した FX-502P

私がFX-502P を入手した当時は、関数電卓として使っていて、プログラミングの「プ」の字も知りませんでした。その後プログラムに興味を持ち、生まれて初めて作ったのが、FXー502Pのプログラム「反射ゲーム」
画面表示が変化した直後に、どれだけ早く反応してキーを押せるか...そんなゲームでした。
 ⇒ FX-502P / 602P / 603P のプログラム

カシオはFX-502Pに続いて、プログラム互換性の高い後継機として、1981年にFX-602P、1990年にはfx-603Pを発売しました。
FX-602P には取扱説明書だけでなく、「プログラムライブラリー」と言う厚い本が付属していて、それには数多くの実用プログラムが掲載されていました。掲載されているプログラムを入力し、理解し、さらに自分なりに改造することで、プログラミングがどのようなものか、少し分かりました。きちんと動作するサンプルプログラムを参考にして、自分でプログラムを改造する作業が、プログラミングの学習には非常に有効だと実感しました。

これらのプログラム機能は、今思えばアセンブリ言語に近い感じで、電卓のメモリに直接あるいは間接的にアクセスして、ジャンプはインクリメント/デクリメントを行うことができるなど、工夫のしがいがある面白いもので、プログラミングの好きな人には楽しく遊べるものでした。

その後登場したプログラム互換のFX-602P や FX-603P は、アルファベット表示が可能になり、記憶容量が増えたことで、測量計算などの実用に耐えるプログラム関数電卓として不動の地位を得てきました。プログラム言語としての完成度、ハードウェアとしての使いやすさがユーザーに支持された結果でしょう。


プログラミング言語仕様から読み解く Casio Basicの開発史

カシオは、プログラム関数電卓とグラフ関数電卓、そしてポケットコンピュータの3系統で、搭載言語の開発を進めている時期がありました。ポケットコンピュータはPCの高機能化、小型化、低価格化により市場からその姿を消しました。プログラム関数電卓では、fx-4850P を最後にプログラミング言語のバージョンアップを止め、新製品が出なくなりました。そして、唯一グラフ関数電卓が搭載言語とともに進化してゆきました。

プログラム関数電卓 fx-4000番台の製品に搭載された言語は、使いにくく、中途半端な仕様のまま成功せずに終わったと感じています。私見ですが、fx-4000番台では、2行表示の液晶ディスプレイを使って構造化プログラミングを実現しようとして、うまくいかなかったのではないかと、その跡が感じられます。

一方で、グラフ関数電卓での搭載言語は着実な進化を見せました。fx-7400シリーズでは、一応 構造化Basic といえる形にまで進化しました。そして、2005年に登場した CFX-9580GC PLUS の Casio Basic では、ついに GetkeyLocate コマンドが搭載され、現在の世代のCasio Basic に近づきました。但し制御構文の改行ができないので、もう一歩という感じです。しかし、これは Casio Basic の歴史上極めて重要な一歩だと言って良いと思います。GetkeyLocate が、Casio Basic の実用性を格段に向上させているからです。

翌年の 2006年に登場した fx-5800P は、基本的に CFX-9850GC PLUS の Casio Basic をベースに制御構文の改行を許すように改造され、さらにグラフィックス関連とI/O関連のコマンドを取り去り、あとはほぼ同じ構成で実装して、さらに使いやすく進化しました。

代表的な改良点を挙げてみます。

入力命令 ?A では、変数 A に既に入っている値を表示し、変更がなければ [EXE] キーを押すだけで確定できる機能が追加されました。一方、?→A とすれば、A の値を表示せずに新たに入力させます。この ?A の機能は、変更が無ければ [EXE] を押すだけで良いので、作成したプログラムの使い勝手が格段に向上します。現在のところ、この機能があるのは、fx-5800P と fx-FD10 Pro のみで、グラフ関数電卓にはこのような便利な機能はありません。

[FILE] キーでプログラムリストを表示し、そこからプログラムを実行できる機能も、fx-5800P の利便性を向上させる優れた改良だと思います。これが可能なのは、他には fx-FD10 Pro のみです。グラフ関数電卓では、一旦プログラムモードに入らないとプログラムを呼び出せません。

CFX-9850GC PLUS にあった グラフィックス関連とI/O関連のコマンドは、fx-5800P にはありません。fx-5800P をプログラム関数電卓に位置づけるなら、グラフィックス関連のコマンドは不要といっても良いと思いまが、I/O関連コマンドは残して欲しかったと思います。結果的に、fx-5800P の最大にして唯一の弱点はI/O関連だと思います。電卓とPCの間で、プログラムファイルをやりとりするPCリンク機能が無いのも fx-5800P の利便性を発揮しきれない仕様上の大きな弱点です。

このような弱点があるものの、fx-5800P は、グラフ機能の無いプログラム関数電卓として、極めて大きく進化した Casio Basic を搭載し、プログラム電卓としてバランスの取れた、そして関数電卓としても使いやすい優れた製品です。

プログラム関数電卓として大成功を納めた FX-502P や FX-602P の最終進化形 の FX-603P は、結果的に21世紀に入っても販売が続き、その製品寿命は10年以上の長きにわたりました。趣味ではなく仕事用に実用プログラムが使われ続け、ユーザーの大きな支持に答え続けた結果なのだと思います。FX-603P の実用品としての完成度の高さの証明でもあります。FX-603P に取って代わるプログラム関数電卓が永らく登場しませんでした。

※参考: プログラム関数電卓ノスタルジア(Casio fx-502P、fx-602P、fx-5800P)

さて、グラフ関数電卓で熟成してきた新世代 Casio Basic を機能制限して搭載した fx-5800P は、しばらく FX-603P と併売されていましたが、ついに FX-603P が生産中止となりました。fx-5800P が プログラム関数電卓 FX-603P の後継機となったわけです。

その後も Casio Basic の改良がグラフ関数電卓で続き、fx-9860GII で文字列処理コマンドが追加搭載され、ハードウェアとしては高精細カラー液晶搭載した fx-CG10/20 が登場しています。そして 2015年1月時点での最新機種、fx-FD10 Pro は、fx-5800P の利便性と最新の Casio Basic を搭載したハイブリッド機とでも言える、面白い性格を持っています (fx-FD10 Pro は Casio Basic専用機です。fx-9860GII とほぼ同じハードウェアを使いながらアドインが使えない設定にした判断は、販売戦略上のものなのでしょう)。

気がつけば、新世代プログラム関数電卓 fx-5800P は、2006年の登場から10年になろうとしており、その製品寿命を超える可能性も見えてきました。使用しているIC類などの部品調達の継続性を考えれば、FX-603P と同様に 10年を1つの区切りとすれば、2016 年には fx-5800P の後継機種が期待されるところです。

2014年12月に、スタンダード関数電卓の新シリーズ fx-JP500, fx-JP700, fx-JP900 (CLASSWIZ シリーズ) が発表され、順次発売が開始されました。高精細液晶の搭載、省電力でありながらCPUの大幅な処理速度向上、その他様々な改良が加えられ、死角が殆ど無い関数電卓と言えます。fx-JP900 のみに搭載された表計算機能 は、データ保存機能が無いので実用的とは言えないものの、実力をアピールする意味は十分にあります。この表計算が、操作性やユーザーインターフェースの面でグラフ関数電卓 fx-9860GII に似ていることは、大変興味深いのです。

高精細液晶と高速・省電力CPUと言う新しいハードウェアに加えて、グラフ関数電卓と酷似した表計算機能を新ハードウェアで走らせる機能のアピールは、発売開始から9年目の fx-5800P の後継機種がそろそろ現実性を帯びてきているのではないかと、大きな期待を寄せています。 

[2017/07/02 追記]:fx-CG50 が欧米で販売開始
2017年春に fx-CG10/20 の後継機として fx-CG50 が欧米で発売開始されました。残念ながら日本国内では発売開始の情報はありません。fx-CG50 は fx-CG10/20 とほぼ同じ仕様で、アドインプログラムも使え、さらに処理速度が1.5倍程度速くなっているようです。そのデザインは fx-JP900 と極めて似通ったものになっています。アメリカで fx-CG10 PRIZM が発売されてから1年後に 日本で fx-CG20 として発売開始されたので、fx-CG50 の国内販売が行われるとしても1年程度遅れる可能性がありそうです。

最新のグラフ関数電卓 fx-CG50 (2017) 

カシオは、プログラム電卓については欧米ならびに中国市場を中心に考えているののが残念なところですが、シャープがプログラム電卓開発から事実上撤退している状況で、日本企業として唯一カシオがプログラム電卓の開発を続けていることは、歓迎したいと思います。

このような状況下で、fx-5800P の後継機種の動向が気になります。fx-JP900 と fx-CG50 と同様のデザインで、これらの中間サイズの グラフィック機能を割愛したプログラム関数電卓が fx-5800P の後継として登場すれば面白いと思います。

===== 追記おわり ====




fx-5800Pの特徴

最新の Casio Basic から見れば、fx-5800P 搭載の Casio Basic はサブセット版と言えますが、プログラム関数電卓として不要な機能を省略しただけで、新世代 Casio Basic 搭載機としては、低価格で使い勝手の良い絶妙なバランスの製品です。

上て述べたように、fx-5800P の最大にして唯一の欠点が、作ったプログラムをPCにバックアップすることが出来ない点で、なんとも中途半端な仕様になっています。非常にもったいない。なぜこんな中途半端な仕様にしたのか?機会があれば、是非ともカシオに話を聞きたいところです。

fx-5800P で作ったプログラムは、もう1台の fx-5800Pへ転送することはでき、そのための通信ケーブルがオプションで用意されています。バックアップしたいなら「もう1台買って下さい」と言うわけです。 ここを参照

ところで、この通信ケーブル(3pinシリアルケーブル)は、fx-9860GII や fx-CG20 にUSBケーブルと共に標準添付されているものです。

fx-5800P の後継機種では、同様に3PシリアルケーブルとUSBケーブルを標準添付してPCリンク機能を実現してもらいたいものです。これがあれば、fx-5800P のプログラムも PCにバックアップ可能になるからです。

なお、私は作ったプログラムをエクセルに転記して、バックアップをしています。
[2014/09/30 追記] バックアップ用に、専用通信ケーブルと2台目のfx-5800P を購入してしまいました。但し、エクセルへのソースコードの記録は続けています。→ ここを参照


fx-502P&fx-5800P 
fx-502P と fx-5800P (写真は「プログラム関数電卓ノスタルジア(fx-502P、fx-602P、fx-5800P)」掲載のもの)

My Prog Calc 
※ 管理人所有のプログラム電卓


fx-5800P は、薄型、軽量で上着の内ポケットに十分入る大きさです。そして、4行x16桁の液晶ディスプレイを搭載し、加えて新世代 Casio Basic が搭載されています。 高機能グラフ関数電卓 fx-9860GII も入手し、fx-5800P と比較していますが、改めて fx-5800P のバランスの良さを再認識しています。新世代 Casio Basic は、実用プログラムに加えて、ちょっとしたアクションゲームを作れるレベルの構造化Basic です(本ブログでも、いくつか紹介しています)。さらに、fx-5800Pは実売で6000円台前半なので圧倒的に購入しやすいのです。

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

商品詳細を見る


さて、新世代 Casio Basicを搭載した fx-5800P の取扱説明書では、プグラミングが分かっている人しか分からない程度の記述しかありません。その上、プログラム事例は殆ど紹介されていません。カシオは、紙のプログラムライブラリーやウェブでの情報も国内では用意するつもりはなさそうです。

2014/1/21 追記: fx-CG20の簡単なプログラミングの紹介を見つけました。申し訳ない言い方ですが、とりあえずやっつけたといった内容に感じられ、電卓の使い方の導入で終わっています。それが目的ならば敢えて申し上げることはありませんが、プログラミング入門としては、あまり力を入れているとは思われません。→ここ

一方で、海外では、カシオのホームページで動画による様々な説明(Webinar)が紹介されています。但し全て英語なので、明らかに日本人向けではありません。日本メーカーであるカシオ製品のサポートが、日本で積極的に行われないのは、非常に残念です。

Webinarの一例

そこで新世代 Casio Basic の良さを共有したいと考え、私なりの「Casio Basic入門」を公開することにしました。fx-5800P のプログラミングのしきいを下げてみよう、という試みです。合わせて、プログラミング経験者、特に長らく Casio プログラム電卓でプログラムを作ったことのある方には、新世代 Caso Basic が大きく進化していることを伝えたいという気持ちもあります。

[2016/04/23 追記]
この連載を始めた当初は、fx-5800P しか持っておらず、その後 fx-9860GII そして fx-CG20 を入手し、それらの Casio Basic でプログラムを作っています。その結果 これら3機種の Casio Basic は互いに一定レベルの互換性が保たれるように考慮されていることが分かっています。fx-5800P で Casio Basic を使いこなせるようになれば、fx-9860GII や fx-CG20 でも問題無く使えるということです。



2. プログラミングとは
[fx-5800P] [fx-9860GII / fxCG20]

プログラムの「プ」の字も知らない方のために、最初にあらかじめ知っておいて頂きたい基本的な事柄を紹介します。


プログラムって何だ?

プログラムと言うのは、「手順書」です。そして予め用意された単語と文法を使って、手順を書くことをプログラミングと言います。
手順を書くために使う言葉を「プログラミング言語」と言います。

そして、その単語と文法が分かればプログラムを書けるようになるわけです。

プログラムを読む相手は電子回路ですから、そこには情緒も感性も不要です。むしろ曖昧さがは有ってはなりません。厳密に一通りにしか解釈できないように書くために、単語や文法が考えられています。

言葉に動詞や文型があるように、プログラミング言語にもコマンド(命令)やステートメント(文)があります。これらの単語を覚え、文法を覚えるのは難しくありません。普通の外国語に比べると覚えることはとても少ないのです。Casio Basic については、覚えるべき事柄が非常に少ないので、さらに楽です。



プログラミング言語とは?

プログラムは手順書なので、基本的にはコマンド(動詞)と必要な名詞(目的語)をステートメントの規則(文型)に従って書きます。

「~をしなさい」  「~に~をしなさい」

といった短い文の組合せと繰返しで、プログラムは構成されます。


プログラミング言語には、多くの種類があります。C言語、java、BASIC、FORTRAN などを見聞きしたことは有りませんか?これらは最もよく用いられる代表的な言語です。これらの言語に一般的な優劣は有りませんが、それぞれ得意とするものが異なっています。

なお、これらの多くはアメリカで発明されたので、英単語から派生した単語を使い、語順は英文法に近くなっています。「O に V しなさい」 は、「V O」 といった語順になります。「ピアノを弾きなさい」「Play piano」 となるのと同じです(動詞 + 目的語)。

fx-5800P や fx-9860GII などのカシオのプログラム電卓には、BASIC が内蔵されています。但し、カシオが作った BASIC なので、Casio Basic と呼ばれています(特に海外のサイトでは、この表現をよく見ます)。基本的な単語や文型はパソコンで使う BASIC とほぼ同じです。

一部カシオ独自のものがありますが、古くからのユーザーのために残しているとのことです。古くから採用されていた独自のものは、当ブログでは旧来の命令と読んでいますが、使い勝手が良いので残っていても良いと思います。

ちなみに、Casio Basic で検索すると、おかげさまで当ブログがヒットしますが、CASIO Basic はカシオ時計のブランドだというのが分かります。



プログラムで計算

プログラムを書く時に、計算をさせることもできます。

1234 x 5678

とプログラムに書けば、電子回路が計算してくれます。プログラムを書く時に計算結果を知る必要はありません。

但し、上の計算結果を知るためにわざわざプログラムを書く人はいないでしょう。電卓のキーをチョイチョイと叩けば答えが出ますね。

上のように決まった数でなくて、色々と異なった数のかけ算をしたい時、プログラムが役立ちます。

A = 1234
B = 5678

としておいて、

C = A x B
Print C


とプログラムを書くと、かけ算の結果を画面に表示します。この書き方はパソコンで使う一般的なBASICの書き方です。

A x B は、A や B に色々と異なった数を入れると、異なった答えを出してくれます。これを Casio Basic で書くと、

1234→A
5678→B
AxB→C


正確に、このように3行のプログラムを書いて、それを実行させると、画面には 7006652 と計算結果が表示されます。


前置きが長くなりましたが、ポイントは以下の6項目です。

1) パソコンのプログラミングは、こんなに簡単ではありません
プログラム電卓ならではの簡便さです。

2) A や B は変数
変数は、数を入れておく容器です。A や B は容器の名前です。
予め、容器Aに数1234を入れ、容器Bに5678を入れておきます。
そして、AxB は、容器の中身の数のかけ算をしなさい、と言うプログラムです。
このように、プログラムでは頻繁に「変数」を使います。

fx-5800P や fx-9860GII などのプログラム電卓で使える変数は、アルファベットの A~Zの26文字です。但し、配列変数 (fx-5800P) や 行列 (fx-5800P や fx-9860GII など) という変数を必要に応じて追加して使うことができます。配列変数や行列については、その使い方を含めて、後で説明します。今は忘れてもらって結構です。

3) → は代入命令
変数Aに 1234を入れることを、「変数Aに1234を代入する」と言います。
そして、Casio Basic では、代入をしなさいと言う「代入命令」を 「」と言う右矢印の記号で表現します。

の左のものを、右へ代入すると決められています。
1234→A
のように、数字を変数に代入するだけでなく、変数を変数に代入できます。

例えば、

1234→A
5678→B
A→B


とすると、変数Bの中身は、5678でなくて、1234 に変化します。

CasioBasicコマンドリファレンス: → (代入命令)

パソコンの Basic では、変数 A に 1234 を代入するとき、

A = 1234

と書きます。代入命令については、Casio Basic は独特なものですが、 記号は代入の方向を示しているので、却って分かりやすいと思います。



4) は出力命令

これも Casio Basic 独特の命令です。◢ は出力、つまり画面表示するだけでなく、併せて一時停止の機能があります。

上の3行のプログラムは、上から下へ順に実行されます。

AxB

は、AxBの結果を表示して、そこでプログラムの実行を一時停止しなさい、という命令です。そして、[EXE] キーを押すと一時停止が解除されます。これも命令に含まれる機能です。

CasioBasicコマンドリファレンス: (出力命令)


5) ?は入力命令
変数Aと代入命令を併せて使って、

?→A

と書くと、画面表示が、

?

となり、そこでプログラムが一旦停止します。

の表示は、キー入力をしてください、と言う意味です。そして、プログラムが一時停止し、何かキー入力を待ちます。[EXE] キーを押すと入力内容が確定され変数Aに代入され、プログラムの一時停止が解除されます。これも Casio Basic 特有の命令です。

実はここには、Casio Basic 特有のおもしろい面があります。
画面に

?

と表示され、入力が促されている時に、例えば

9999÷3

と入力して[EXE] キーを押すと、この計算結果が変数Aに代入されます。

fx-5800P は関数電卓なので、様々な関数機能が内蔵されています。そこで、? が表示されて入力待ちの状態で、sin(30) と入力して[EXE]キーを押すと、計算結果の 0.5 が変数 A に代入されます(DEGモードの時)。関数電卓特有の機能を活かした入力命令になっていることが分かります。

"A="?→A

と書くと、画面には" と "で括られた文字

A= ?

のように表示され、入力待ちになります。

"A="?→A
5678→B
AxB


は、キー入力した数字を変数Aに代入して、AxBを計算した結果を表示するプログラムです。様々な数値や計算結果に5678を掛け算した結果を表示します。

CasioBasicコマンドリファレンス: ? (入力命令)


6) プログラムは上から下へ連続実行
プログラムは、上から下へ連続的に実行されます。

そして、出力命令や入力命令は、一旦停止の機能があるので、そこで実行が一旦停止します。この一旦停止は特別な例です。さらに、実行の流れを変えるコマンドや文があり、これらを使えば上から下への実行順序を変えることができます。

このような明示的なコマンドや文が無い限り、プログラムは上から下へ連続的に実行され、プログラムの一番下の行で、完全に実行が停止します。

プログラムは上から下へ実行される原則は、当たり前のように感じられるでしょう。しかし、これを忘れるとプログラムの動作が分からなくなるものです。とても重要な原則なので、必ず覚えてください。


関連記事:
- プログラム関数電卓でプログラミング
- fx-5800P【プログラミング入門】:プログラム作成から実行までの操作



*****


次からは、実際にプログラムを作りながら、プログラムの単語や文型をみてゆきます。


つづく...

⇒ CasioBasic入門2 / 目次




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


  


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

リンク集 | ブログ内マップ
関連記事

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

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

やす (Krtyski)

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


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

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

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


人気ブログランキングへ


FC2ブログランキングへ


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

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

この人とブロともになる

QRコード
QR