Casio Basic の勧め
カシオのプログラム電卓で新世代 Casio Basic を勧めたくなるには、幾つかの理由があります。
例えば、コマンド体系がシンプルなためプログラミングは敷居が低く、初心者にも覚えやすいこと、プログラミング経験者はスグに使えること、Casio Basic が意外に構造化プログラミング風のコーディングが可能な高機能言語であることなどが、その理由に挙げられます。
目 次
- プログラミングは特殊技能なのか?
- 新世代 Casio Basic とは?
- Casio Basic 搭載機種の選定
- Casio Basic の習得は容易
- fx-5800P の勧め
- Casio Basic を勧める背景
- fx-5800P の利点と弱点
- Casio Basic の使いこなし
▋プログラミングは特殊技能なのか?
プログラミングは、理系や文系、男女差、年齢や経験などとは無関係に習得可能なことはよく知られており、IT企業ではごく普通に文系出身のSEやプログラマが活躍しています。特に Casio Basic は覚えることが少なく、簡単なので、誰でも電卓プログラミングが出来ると思います。
なお、最先端でクリエイティブなプログラミングには数学(論理学含む)が得意であることは必須だと思いますが、それは別の世界の話であって、プログラム電卓でプログラムを書くには殆ど関係ありません。
参考:
▋新世代 Casio Basic とは? [2020/05/30 更新]
実際にCasio Basic を使いながら、取扱説明書には記載のない機能や仕様が分かってくると、以下に挙げる機種に搭載されている Casio Basic が意外によくできていることが明かになってきました。
1) fx-5800P (プログラム関数電卓)
2) fx-9860Gシリーズ (グラフ関数電卓)
3) fx-9860GIIシリーズ (グラフ関数電卓)
4) fx-CG10/CG20/CG50 (カラーグラフ関数電卓)
5) fx-FD10 pro (プログラム関数電卓 - 土木測量向け)
6) fx-9860GIII (グラフ関数電卓)
7) fx-9750GIII (グラフ関数電卓)
これらに搭載されている言語は、私は 新世代 Casio Basic と呼び、CFX-9850G で初めて搭載された Casio Basic とは区別しています。
新世代 Casio Basic は、上から下へ処理が流れるようなブロック構造のコードが書けます。Getkey コマンドと Locate コマンドがあるため、スクロールを抑えて1画面で自由に入出力できるプログラムが作れます。また、条件判定は基本的に 0 で偽、0 以外で真としてコーディングできます。但し、引数と戻り値のある関数をユーザーが作ることが仕様上できず、ローカル変数が使えずグローバル変数のみといった制限かあります。しかし、新世代Casio Basic は、実用プログラムを作れるだけの機能を備えていることは、意外に知られていません。実用性を与えている主な要件は、以下の項目だと思います;
- Getkey: [AC] キー以外の全てのキーに異なるキーコードが割り当てられ、押したキーをリアルタイムで判定できるコマンド。
- Locate: パラメータに、即値以外に変数、式、コマンドを指定して位置を柔軟に指定して出力するコマンド。
- 条件判定を 0 で偽、0 以外で真とできること
- ブロック構造のコーディング: Goto に頼らずにプログラムの制御を記述し、可読性の高いブロック構造でプログラミングする方法。
プログラミング経験者(特にPCでのプログラミング経験者)なら、新世代 Casio Basic は違和感なく使えます。
旧来の命令
新世代 Casio Basic には、以前のプログラム電卓に搭載されていた旧来の命令も搭載されています。カシオによれは従来のユーザーの利便性を考慮して旧来の命令を残しているとのことです。最近、この旧来の命令を使いこなして、どの程度のプログラムを作れるのか色々と試して、それを反映させた連載を Casio Basic入門38から始めています。使いこなしを検討してみると、確かに一定レベルの実用プログラムを比較的楽に作れることが分かります。
旧来の命令は表記はシンプルでも、多彩な機能を持っています。プログラミング経験の少ない人でも簡単に使えて便利です。しかし、旧来の命令が機能が多彩であることが、逆にプログラミングの自由度を減らしているとも言えます。この旧来の命令では実現できないプログラムを作るには、Basicコマンドを積極的に使えばよいのです。旧来の多彩な命令と Basic コマンドを併せて使いこなすことで、自由度が高く、実用的なプログラミングが可能になります。
▋Casio Basic 搭載機種の選定
[2020/05/30 更新]
上でリストアアップした新世代 Casio Basic を搭載した機種にはは、既に国内で販売中止になった機種と国内では発売されず海外でのみ発売されている機種を含んでいます。現時点で国内での購入に限定すれば、fx-5800P と fx-CG50 のどちらかを選ぶことになります。
但し、セカイモンやAmazon USAなどのネット通販を利用すれば、日本に居ながら海外から購入できますので、管理人はよく利用しています。fx-CG50については、並行輸入品を国内通販で購入するか、海外から直接購入すると、半額近い価格で入手できます。最近の例でいえば、アメリカ専用モデルのモノクログラフ関数電卓 fx-9750GIII が fx-5800P とほぼ同じ価格(千円程度の違い)で入手できます。そこで上でリストアップした機種は、日本で入手可能なものという前提で、機種選定について説明しようと思います。
プログラム関数電卓 fx-5800P は最も小型軽量で、最も安価、そして関数電卓としても使いやすく、ハードウェアとソフトウェアのバランスが良いので、実用に適しており推奨機種の1つです。グラフ機能はありませんが、プログラムを実用的に使うには十分な能力があります。
グラフ関数電卓はデータや数式から様々なグラフを描画できますが、主に教育用に設計されているので、実用には fx-5800P ほど向いていないと感じています。しかしグラフ関数電卓は fx-5800P に比べてCPUパワーが遙かに高いので、Casio Basic プログラムの処理能力が高く、プログラミングを楽しむにはお勧めです。なおグラフ関数電卓には、モノクロ液晶を搭載した機種と高精細度のカラー液晶を搭載した機種があります。日本国内では、fx-9860G と fx-9860GII は既に販売されておらず、高精細カラー液晶を搭載した fx-CG20 と fx-CG50 のみが発売されています。
fx-CG20は、既に製造中止品でありOSアップデートも最近は行われていないので推奨しません。一方、現在でもOSアップデートが継続し Pythonモードも搭載している fx-CG50 を推奨します。
但し、モノクロ液晶で良いならば、現在発売されている機種ならば、fx-5800P か fx-9750GIII (Amazon USA) の二択だと思います。仮に中古機を含めるならば、fx-9860G Slim が管理人の一推しです。
Casio Basic の機能は、fx-9860G に OS2.00 以降を導入したもの以降の全ての機種がほぼ同じで、互換性があります。fx-CGシリーズは高精細カラー液晶に特化したコマンドが追加されていますが、モノクロのグラフ関数電卓の Casio Basicプログラムはそのまま動作します。
各機種の概要を以下の記事でまとめていますので、参考にしてください。
▶ fx-CG50: fx-CG50 の概要
▶ fx-CG20: fx-CG20 の概要
▶ fx-9860GIII: fx-9860GIII の概要
▶ fx-9750GIII: fx-9750GIII の概要
▶ fx-9860G Slim: fx-9850G Slim の勧め
▶ fx-9860GII: fx-9860GII USB POWER GRAPHIC 2
▶ fx-5800P: 本記事は主に fx-5800Pの勧め になっています
▶ Casio Basic - 機種間の互換性
▶ Casio プログラム電卓の価格動向
fx-5800P 以外のグラフ関数電卓の Casio Basicには、グラフィックス機能があり、高機能ですが fx-5800P よりも高価です。これらの中で安価な fx-9750GIII は、fx-5800P と価格差が極めて少な点が魅力です。
[2020/05/31 更新]
国内で既に販売中止になっている fx-9860G や fx-9860GII は Casio純正の開発環境 - Casio SDK を使えば、パソコン上で C言語を使ってプログラムを作り、それを電卓に転送して Add-in プログラムとして利用できます。C言語で作った Add-in プログラムは、Casio Basicに比べてかなり高速動作し、Casio Basic では実現できない機能を使った処理が可能です。
しかしこれらのモデルはもはや販売されていません。その代わりに C.Basic を推奨します。C.Basic は純正Casio Basic の上位互換を目指しつつ、多くの独自コマンドにより Cプログラミングに近いコーディングが可能で、Cで作った Add-inプログラム並の高速処理が可能です。C.Basic は fx-9860G 以降の Add-in プログラムを使えるグラフ関数電卓で動作するので、もはや Casio SDK を使う必要はありません。
C.Basic を使うモデルとしては、個人的には fx-9750GIII (モノクロ液晶モデル) か fx-CG50 (高精細カラー液晶モデル) を勧めます。
▶ fx-5800P
グラフィックス機能の無い fx-5800Pは、処理速度が相対的に低いものの、グラフ関数電卓に比べて、相対的に低価格(実売6~7千円程度)であり、それ以上に関数電卓としてもプログラム電卓としてもバランスが取れた使い易さと小型軽量な点が特徴です。
fx-5800P には プログラムリストを 通常の電卓モード (Comp モード) で呼び出して使えますが、グラフ関数電卓ではプログラムリストを表示するには一旦プログラムモードに入る必要があります。Casio Basicで作ったプログラムを日常的に使う場合は fx-5800P の方が利便性が高いことは、使ってみて分かります。fx-5800P と グラフ関数電卓を実際に使い比べてみると、日常使いには、バランスの良い fx-5800P が優れていると思います。
▶ fx-9750GIII
プログラムの高速性やグラフィックス処理を重要と考えるなら、fx-9750GIII も選択肢に入れるべきです。もし使いたい Add-in プログラムがあれば fx-9750GIIIを推奨します。このモデルは北米専用モデルで国内販売されていませんが、Amazon USA や セカイモンを利用して安い時で7千円台、少なくとも1万円未満で入手できます。有用な Add-In プログラムの1つとして、当ブログで紹介しているアドイン版 Casio Basic (Casio Basic の上位互換) があり、fx-9750GIII でも使えます。そして C.Basic では Casio Basicプログラムを極めて高速に実行できることに加えて、多くの C.Basic 独自コマンドを使えば Casio Basicで実現不可能な処理ができます。C.Basic が使いたくて、モノクロ液晶で十分ならば fx-9750GIII がお勧めと言えます。
▶ fx-FD10 Pro
fx-FD10 Pro は、屋外使用を想定した堅牢な作りが特徴です。私自身が実機を持っていないので、取扱説明書から得られる内容から判断すると、上記の fx-5800P の使いやすさを備えていますが、実売2万円程度と高価で、さらに Add-in プログラムが使えません。堅牢な作りが必要ならば選択肢に含めるべきでしょう。そうでなければ、fx-5800P か fx-9750GIII を推奨します。
▶ fx-CG50
fx-CG50 は、高精細度カラー液晶が特徴で、内蔵の関数計算も高速化されています。表現力の優れた高精細カラー液晶が必要だと考えるなら fx-CG50 を選択すべきです。性能重視で選ぶのなら fx-CG50 を勧めます。
▋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 への移植をいくつか行いましたが、機種のハードウェアに依存するコマンド (Getkey や Locate)、旧来の命令 (出力命令 ◢ 、" "、入力命令 ? など) の動作の違いに適切に対処し、配列変数を行列やリストに置き換えれば、他の Basic コマンド類は互換性があります。
5. グラフ機能の優先度は低い
パソコンでできることはパソコンを利用する...と考えれば、プログラム電卓にグラフ機能は必ずしも必要ではないと思います。グラフィックスを利用したプログラムを電卓で使いたい場合は fx-CG50 のようなグラフ関数電卓を利用でき、Windows プログラミングよりは Casio Basic の方がプログラミングは遙かに楽です。
ゲームではなく、実用面からグラフ描画機能が欲しいと言う場合もあるでしょう。例えば、実験をしながらグラフを書くのは大変重要なことです。しかしそのために、プログラム電卓でわざわざプログラムを書く必要はあるでしょうか?
パソコンでエクセルを使えば、簡単にグラフを書けます。報告書、レポート、論文を書くのに最近ではエクセルのグラフが普通に使われているわけで、それなら最初からエクセルを使えば良いと思います。
私は、実用を強く意識して fx-5800P を使っていますが、グラフ機能がことさら必要だと思うことは殆どありません。本当に必要なら fx-CG40 などのグラフ関数電卓で、ブラフ表示をプログラミング可能です。しかし、正直に言えば グラフ機能の無い 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 のために新たに購入する必要はありません。
[2017/08/18 追記] 最近はグラフ関数電卓に 3Pin ケーブルが付属していません。別途購入する必要があります。
[2017/09/28 追記] 2017年10月から国内販売される fx-CG50 には 3Pinケーブルが付属します。
[2018/02/26 追記] ついに fx-5800P のPCリンクが可能になりました ⇒ こちらの記事
▋Casio Basic の使いこなし
fx-5800P 搭載の Casio Basic は、使いこなしてみて初めてその価値が分かると思います。PCで一定以上のプログラミング経験があれば、この新世代 Casio Basicが 非常に使いやすく、効率的な制御構造を作れる点がすぐに分かると思います。カシオ自身がこの Casio Basic に関する情報発信を殆ど行っていないので、当ブログでは Casio Basic の使いこなしについて、異なる3つの切り口で紹介しています。
⇒ CasioBasic入門 / 目次
じっくりと読みながらプログラムを入力して Casio Basicの使いこなしやプログラムの作り方を修得する。題材のプログラムは、ある程度の完成度があり、実用的に使えるレベルになっている(と思う...)。
⇒ CasioBasic コマンドリファレンス 目次
Casio Basic のコマンドや命令を、出来るだけ詳しく調べた結果に基づいて解説している(抜けが無いことを祈るばかり...)。
⇒ 逆引き Casio Basic 目次
Casio Basic で何か実現したいこと、やりたいことに対して、ピンポイントで実現方法、サンプルプログラム、考え方を紹介している(思いついたことから順次拡充中...)。
応援クリックをお願いします。励みになるので...
keywords: fx-5800P、CasioBasic、プログラム関数電卓
リンク集 | ブログ内マップ
- 関連記事
-
- プログラム関数電卓でプログラミング 2023/06/23
- fx-5800P【プログラミング入門】:言語仕様 2021/11/05
- Casio Basic の勧め 2020/05/31
- Casio Basicでグラフィックス 2020/05/21
- Casio Basic のバージョンとバグ 2017/10/10