Casio Python のポテンシャル

Python Casio Python
 Casioグラフ関数電卓の Python を使ってみる
     - Casio Python のポテンシャル
目次


初版:2020/06/07
更新:2020/06/29
更新:2020/11/03
更新:2021/03/25

 次の記事 - 1. はじめに:電卓で作る初めてのスクリプト



カシオ・グラフ関数電卓にある Pythonモード - Casio Python

[2020/11/03 更新]
カシオグラフ関数電卓に Pythonモード <パイソン・モード> が搭載されるようになり、casioplot モジュールが追加されたので、それで遊んでみようと思います。Casio Basic やPCでのプログラミング経験があれば、Casio Python は意外に敷居が低いかも知れません。

管理人はネットでチョコチョコっと調べながら、結構使えています。そこで、 プログラミング経験はあるが Python 初心者の人向けに Casio Python のサンプルプログラム作成の連載をしばらくやってみようと思います。Casio Basic プログラムを Casio Python へ移植することからスタートし、Python らしいスクリプトの書き方の紹介へ進んでゆく予定です。併せて、Casio Python のリファレンス情報、特に Casio Python 特有の仕様があれば、それを公開してゆこうと思います。

本連載の全体像は 目 次 をご覧ください。

さて、Casio Python の連載は、管理人がそのポテンシャルの高さに驚いたことが全ての始まりなので、今回はそのあたりを紹介します。
==== 2020/11/03 更新ここまで ====


0. Casio Python のポテンシャル

Python の準備

Casio Python 搭載モデルの準備
Casio Python
搭載電卓を入手して、必要に応じてOSのアップデートをします。
現時点では casioplotモジュールが追加された fx-CG50 OS3.40 以降を強くお勧めします。

ちなみに、Casio Python が搭載されているのは、以下のモデルです (2020/06/07 現在);
fx-CG50, OS3.20 以降
fx-9750GIII, OS3.21 以降 (北米限定発売モデル)
fx-9860GIII, OS3.21 以降 (ヨーロッパ限定発売モデル)
GRAPH 90+E, OS3.20 以降/ GRAPH 35+EII, OS3.21 以降 (フランス専用モデル)
 それぞれが fx-CG50fx-9860GIII と同じ

[2020/10/22 追記]
Pythonモードで使い物になるスクリプトを書くにはグラフィックモジュール casioplot が不可欠です。casioplot は OSアップデートで追加するしかありませんが、それが可能なのは下記のモデルとOSバージョンです (2020/10/15 現在)
 fx-CG50, OS3.40以降     このモデルの概要 
fx-9750GIII, OS3.40以降    このモデルの概要 
fx-9860GIII, OS3.40以降    このモデルの概要 
 GRAPH 90+E, OS3.40以降
 GRAPH 35+EII, OS3.30以降

fx-CG50 のOSは、2020/10/15 時点で OS3.50 にアップデート可能です。OSアップデートは、それぞれのモデルが発売されている地域のカシオサイトからアップデートファイル と アップデートされたマニュアルが入手できます。具体的なアップデートサイトについては上記の "このモデルの概要" ページで紹介しています。

Pythonモードでは、casioplotモジュールを使わないと、まともに動作するスクリプトになりません。本連載は主に fx-CG50 OS3.40以降を前提にして進めてゆくつもりです。但し、モノクロ液晶搭載モデル fx-9750GIII や fx-9860GIII の Pythonモードに casioplot を追加するOSアップデートファイルが 2020/10/15 に公開されたので、これらをアップデートした Casio Python についても紹介する予定です (目次参照)。

 fx-CG50, OS3.40以降: 日本語マニュアルがあり国内どこでも入手できます。
 fx-9750GIII, OS3.40以降: 最安値のモデルです。国内でもAmazon USAで購入可で安価(英文マニュアル)。
fx-9860GIII, OS3.40以降: ヨーロッパ専用モデル。ほぼ同じ機能の fx-9750GIII をお勧めする。

モノクロ液晶搭載モデルのうち、現状最も安価に入週できる fx-9750GIII も無視できないとことがあります。これらモデルの Pythonモードはメモリの制限が強く、使い勝手が fx-CG50 よりも悪いのは残念です。

さて、Pythonモードのアップデートにより新機能や新モジュールが追加された場合は、随時 対応することにします。


Python スクリプト保存フォルダの作成
工場出荷状態では、ストレージメモリのルートにスクリプトファイルが保存されるようになっています。

これから多くのスクリプトファイルを作ってゆくので、ストレージメモリ直下に専用フォルダ、例えば @Python フォルダを作ると良いと思います。電卓内に新たなフォルダを作るには、PCとリンクしてからエクスプローラで電卓の内部を表示して、そこでフォルダを作ります。もし C.Basic を既にお使いの場合は、C.Basicプログラム専用フォルダを作り、そこへ移動しておくことも合わせてお勧めします。これで Python スクリプトと C.Basicプログラムが混在することを防げます。


Python スクリプトファイルの正体
スクリプトファイルは、アスキー文字で書かれたテキストファイルです。Python の構造制御に不可欠なインデントは半角スペースです。電卓上でスクリプトを書く場合、自動インデント機能によりスペース2個が付加されます。また、改行は Windows標準の CR LF (0x0d 0x0a)になっています。

PCに転送すれば、テキストエディタを用いて、スクリプトの確認や編集ができます。PCで編集する場合は、アスキーコード以外を入力しないように留意しましょう。



Casio Python とは? [2020/06/09 の夜に大幅改訂]

Casio Python は、カシオグラフ関数電卓にある Pythonモードを指します。ある程度の関数があらかじめビルトインされていますが、追加ビルトインするモジュールはカシオから提供されていません。自分で作った関数をモジュールとして使うことはできます。Casio Basic では自分で関数を作って使うことはできないので、その分 Casio Pythonは使い勝手が良いと言えます。

Pythonモードが公開された当初は、mathモジュールとrandimモジュールが追加された状態でした。その後 casioplotモジュールが追加されて、ようやくグラフィック描画が可能になりました (fx-CG50, fx-9750GIII, fx-9860GIII)。但し、ピクセル単位でドットを描画すること、ピクセルの色を得ること、テキスト文字を表示することのみができる程度で、Casio Basic のようにグラフを自在に描く機能はまた公開されていません。今後カシオからさらに新しいモジュールが提供されることを期待しています。汎用的に使える自作関数を複数まとめてモジュールにして、それを使うことも紹介してゆきます。

ところで、Casio Basic で書いたものはプログラムと言い、そのファイルをプログラムファイルと言っています。一方、Python については、取扱説明書の表現によれば、スクリプトを書いて、スクリプトファイルに保存する、と言っているので、本連載でもこの表現を使ってゆきます。

Python は機械学習やDeep Learningで多用されている言語で、"1つのことをするには1つの書き方しかない" といったポリシーで、分かりやすく使いやすいことを目指して作られた言語です。様々な専門分野に特化したライブラリ(=モジュール)が様々な人によって多く提供されるようになり、初心者でも専門家でも使いやすい言語して大きな広がりをみせています。また、Webサービスでも使われています。Pythonを使えるようになるのは、今後を考えると有意義なことだと思います。

Casio Python は組込用Pythonである Micro Python Ver 1.94 がライセンスされ、カシオがカスタマイズして電卓に組み込んだものなので、一般にPCで使われている Python (CPython) に比べて Casio Python は機能が限定されています。

実際に管理人がCasio Pythonを使い始めて感じるのは、提供されている機能が限定されているので、覚えることが極端に少なく、理解が容易だということです。カシオ電卓に搭載されている Python は、一般のPythonのサブセット版ではありますが、最近のソフトウェア技術のパラダイムに沿った基本仕様は損なわれていませんので、Python の味見用のお試し版、学校での学習用の位置づけではないかと思います。

Casio Basic を使いこなして作ったプログラムを Casio Python に移植しようとすると、機能不足、関数不足のために、どうしても移植できないプログラムがあります。Casio Basic と同じ事を実現するために必要不可欠な機能が Casio Python にはまだ揃っていないのは残念なことですが、それなりに工夫すれば使いこなせると思います。
例えば、Casio BasicGetkeyLocate に相当するものが Casio Python にはありません。
Getkey ⇒ これは、どうにもなりません。カシオさんお願い...
Locate ⇒ さらに機能追加した locate() 関数を自分で作り使用中 ⇒ ユーザー関数 locate()

ところで、Python は本来オブジェクト指向言語です。ライブラリ(=モジュール)を呼び出して使う時に、オブジェクト指向特有のobject.method といった記述が必要なケースもありますが、オブジェクトとメソッドをあまり意識しないで、関数型言語のように使える側面もあると思います。特に Casio Python ではほとんど関数型言語のように使っても、とりあえずスクリプトが書けると思います。マニュアルの記述にもオブジェクトやメソッドという単語が殆ど出てこず、関数という表現が多用されています。



Casio Python の潜在能力 - fx-CG50 OS3.40以降

純正Casio Basic のプログラムから移植可能なものを 実際にCasio Python書き直してみました。すると、

Casio Basic に比べて実行速度が圧倒的に速い!

以下で紹介しますが、その爆速っぷりは、チョット驚きです!
俄然 Casio Python に興味を持ち、詳細を調べたくなりました。
先ずは、その速さを紹介します。


純正Casio BasicCasio Python の処理速度の比較 
Casio Python でグラフィックス描画、関数計算、加算計算をさせて、純正Casio Basic と比較してみます。

グラフィック描画の比較 - フラクタルでシダの葉

shida_py_s 

これは、以下の記事で取り上げたフラクタル図形の描画プログラムです。
fx-CG50 でフラクタル - シダの葉

そこで作成した 純正Casio Basic のプログラム SHIDACG.g3m を Python に移植しました。
Casio Basic プログラムファイルと Python スクリプトファイルのダウンロード

フラクタル図形描画時間の比較
純正Casio Basic40 分
Casio Python24.4 秒
アドイン版Casio Basic - C.Basic for CG Ver 1.45β43.0 秒
※ C.Basic for CG Ver 1.45βについては こちらを参照
※ C.Basic は、コードの最適化により、さらに10倍近く高速化可能です。
 比較のため下記の純正Casio Basic コードを走らせました。

Python は100倍速い!

Casio Basicオリジナルコードと Python スクリプトを以下に示します。できる限り忠実に再現していることが分かると思います。

shida_g3m_py_src3


関数計算の比較 - sin と cos の繰り返し計算

tstfinc2_g3m_py_src
TSTFUNC2.g3m と tstfunc2.py のダウンロード

N に1000 を入力した時 (1000回ループ) の関数計算の比較
純正Casio Basic6.5 秒
Casio Python0.6 秒
アドイン版Casio Basic - C.Basic for CG Ver 1.45β0.38 秒

Pythonでの関数計算が10倍速いことが分かります。


加算計算の比較 - 加算とループ

tstsum2_g3m_py_src2  
TSTSIM2.g3m と tstsum2.py のダウンロード

N に1000 を入力した時 (1000回ループ) の加算計算の比較
純正Casio Basic2.2 秒
Casio Python0.15 秒
アドイン版Casio Basic - C.Basic for CG Ver 1.45β0.02 秒

Pythonでの加算計算が15倍程度速い結果になりました。


Python が速い理由
加算計算や関数計算で10~15倍程度速いだけでなく、グラフィックス描画がさらに10倍程度速いことが分かりました。

ちなみに、シダの葉描画のPhytonスクリプトの最下行にある show_screen() を for ループの外に出すと、VRAM上で全てのデータが揃ってから一気に画面転送を行うことになり、この時は 20.8 秒とさらに速くなります。つまり、show_screen() による画面転送速度が極めて速いことが、シダの場描画の爆速の原因と言えます。

複雑な計算やグラフィックスやグラフ表示には極めて役立つという、Casio Pythonの潜在能力が明らかになったと思います。今後のグラフィックおよびグラフ描画のためのモジュール追加が期待されます。

なお、シダの葉描画で利用した clear_screen() メソッドは、OS3.40では隠し機能でマニュアルやカタログ機能にありませんでしたが、OS3.50 で両方に載るようになりました。但し、マニュアルやカタログ機能で見つからない隠し関数がまだ多くあり、これらを探索する方法があります。
Casio Python とは? の "2.2 Casio Python に組み込まれているオブジェクト名の一覧" を参照してください。



Casio Python 探索

Casio Python の潜在能力が意外に高いことが分ったので、これから色々と詳細を調べながら探索を進めたいと思っています。

fx-CG50 や fx-9750GIII のマニュアルを読んでも、Python モードでの操作法は書かれていますが、関数やメソッドの使い方は殆ど書かれていません。幸いなことに今ではネットで簡単に調べることができるのではありますが、それでもクラス、メソッドなどで構成される言語に慣れていないと分かりにくいと思います。

そこで、Casio Python を探索しながら、記事をいくつか書こうと思います。



 目 次

次の記事 - 1. はじめに:電卓で作る初めてのスクリプト




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


 


keywords: fx-CG50Pythonfx-9750GIIIfx-9860GIIIプログラム関数電卓

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

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

コメントの投稿

非公開コメント

dir() があったなんて...

通りすがりの方へ、

お名前が無いので、通りすがりの方とさせて頂きます。

貴重な情報を頂き、大変ありがとうございます。

dir() が隠れていたのですね!

お陰で隠しオブジェクトが結構あることが分かりました。

casioplotに clear_screen() があるのも確認できました。

隠しコマンドを試してみるのも楽しそうえす。

Re^5:Pythonパワー炸裂ですね!

管理人様、Colon様、皆様、こんにちは!

管理人様、
>ここのところ気温が高くなってきていますので、体調にはお気をつけくださいね。
>マスクによる熱中症のリスクも高まっていますので、なかなか厄介です。
>私は、広いところではマスクを外すようになりました。

>C.Basic はとりあえずは安定バージョンなので、どうぞごゆっくりと...

ありがとうございます!
猛暑とマスクの組み合わせはかなりきついですね。
うまく乗り切っていこうと思います。(^^)


>シダの葉グラフィックスの爆速っぷりを体験したことで、Casio Python を見る目がすっかり変わってしまいました。
>これはスゴイと思いました。

やはり言語系は処理速度があってこそですね。
ClassPadのように遅ければ高機能でも積極的には使う気にならないので、速度は大事です。(^^)


>Casio Basicのようにはいきませんが、ピンポイントで Casio Pythonを適材適所で使えば、グラフ電卓の活用の幅が広がるのではないかと思ったことから、先ずは自分の勉強のため、そして勉強したことを定着させるため、Casio Pythonプログラミングの連載を始めることにしました。

計算処理に関しては電卓のCPUパワーほぼ最大限引き出せますし、
グラフィックスが使えるようになったことで表現力も飛躍的に上がりました。
あとは入力系ですが、これもいずれは搭載されると期待したいです。(^^)


>グラフィック出力用に draw_screen()関数が追加されたのですが、これを使ったユーザー関数 locate() を作って使っています。出力先はグラフィックですが、フォントサイズを大中小の3通りが選べ、色もrgb指定できるとても便利な関数になっています。

コマンド数がやけに少ないとは思っていたのですが、基本的なところはしっかり押さえてありますね。
フォントの大きさが選べるのはやっと公式に内蔵フォントが活かせることになりますね。(^^)


>いずれ、やってみようと思います。
>備わっている関数やメソッドを一通り把握してみる段階が済んだら、Pythonスクリプト最適化の一貫で、ループ速度テストや、整数のみでの高速化の調査をやりたいと思っています。

楽しみにしています!(^^)




Colon様、

>了解しました。

>コメントが埋まりそうなので、バグの報告は sentaro様のほうが落ち着いてからまとめて行います。

>致命的なバグは見つけられないので、
>新しいコメントが追加される中で、遡らないと確認できないよりは sentaro様に余裕が出来てからコメントした方がよいかな、というつもりでした。(^^
色々とお待たせしてしまってすみません。
新たに発見されたバグがちょっと気になりますが、致命的な感じのバグでしょうか?(^^;



>グラフィックは Python のほうが高速ということでびっくりしています。
>ここまで速いとは思いませんでした。

>数値計算のループは C.Basic のほうが速いのですね。

以前試した感じでは、VRAMへの1ドットアクセスの比較だとC.BasicのMLコマンドが速い感じですが、
数値計算処理は、ガチガチに最適化を施したC.Basic≒Pythonという感じかなと思っています。


>INSIGHT アドインで何かしらコマンドの名前を検索に掛けて前後のメモリ領域を調べれば、隠し関数は簡単に見つけられそうですね。

さすがColon様!
コマンドを検索するというのは未だにやったことがなかったです。(^^;

ここまで来ると、そろそろ、Colon様もCG50を入手されませんか?(^^)





>モジュール内の関数や変数などの名前だけであれば、dir()という組み込み関数(これも隠されていますね)を使うとわかります。

>組み込み関数自体の一覧が欲しい場合には、

>import builtins
>for i in dir(builtins)

>とするとズラズラ出てきます。

Pythonは超初心者の私なので、これは全然知りませんでした(^^;

>他、高速化については、できるだけpythonのインタプリタが出力するCのコードに依存するように書くと良い、という傾向があるようです。実際のところは実機で確かめないとどうなるかわからないところではあると思います。

要はいろいろプログラムで試してみてというところなのですね。

お名前が空欄なので、どうお呼びしていいのか分からないのですが、
貴重なコメントをありがとうございます!(^^)

No title

すみません、先ほどの命令文は2行目を

for i in dir(builtins): print(i)

としてください。お目汚しすみません。

No title

横やりすいません。

モジュール内の関数や変数などの名前だけであれば、dir()という組み込み関数(これも隠されていますね)を使うとわかります。

組み込み関数自体の一覧が欲しい場合には、

import builtins
for i in dir(builtins)

とするとズラズラ出てきます。
(直接print()しないのは、文字列が長すぎてエラーが出てしまうためです)

他、高速化については、できるだけpythonのインタプリタが出力するCのコードに依存するように書くと良い、という傾向があるようです。実際のところは実機で確かめないとどうなるかわからないところではあると思います。

Re^4: Pythonパワー炸裂ですね!

管理人様、sentaro様、こんにちは!

>> コメントが埋まりそうなので、バグの報告は sentaro様のほうが落ち着いてからまとめて行います。

> ありゃ、そろそろですか?
> C.Basic for CG beta 用の Part 2 を作って、準備しておきます。

あ、すみません。(^^;

致命的なバグは見つけられないので、
新しいコメントが追加される中で、遡らないと確認できないよりは sentaro様に余裕が出来てからコメントした方がよいかな、というつもりでした。(^^;

Part 1 にはまだ書き込みできます。

> MicroPythonの標準組込モジュールからさらにそぎ落としたもので、この素材の良さがそのまま現れているかも知れないと勝手に思っています。まだ調べないと真相は分かりませんけど...

原型があるので幾分探索はしやすそうですね。

> カシオがオリジナルで作ったグラフィックスモジュールがようやく追加されたのが、fc-CG50 OS3.40で、あと getkey も是非追加して頂きたいと思うわけです。
> 問題は入力なんです。現在のところ入力は、標準入力の input() 関数しかありません。入力はSHELL画面を使うしかありません。そして、必ず入力待ちになります。これに折り合いを付けながら、スクリプトを書くしかありません。

Casio Basic でいうと入力が "?" しかないような感じですね。(^^;

> グラフィック出力用に draw_screen()関数が追加されたのですが、これを使ったユーザー関数 locate() を作って使っています。出力先はグラフィックですが、フォントサイズを大中小の3通りが選べ、色もrgb指定できるとても便利な関数になっています。
> あと、line() とか circle() なども作っていて、ユーザー関数を充実してゆけば、出力についてはグラフィック画面をうまく活用できそうです。

VRAM が 2 つあるとなると活用の幅が広がりますよね。(^^)


> これって、以前どこかで聞いたような気がするのですが、どこから入手できますか?

最新バージョンかは分かりませんが、(^^;
私が使っているバージョンはここからダウンロードできます。

http://www.casiopeia.net/forum/downloads.php?view=detail&df_id=153&sid=e0f6d58490c76caa6a263d236ce009da

多機能で色々と内部を見るなどできますが、電卓を壊す可能性もあるのでそこだけお気をつけください。


起動して [F1] を押すと Memory View に入ります。

起動したら [F1] (ADDR) で OS の先頭アドレスに移動し、[F4] (FIND) で目的の文字列やバイナリを検索します。
※ [F6] (SWAP) で文字列とバイナリの切り替えができます。

文字列検索の際は小文字の入力ができませんが、[SHIFT] + [9] (PASTE) は機能するので、
私はプログラムエディタからのコピペで乗りきっています。


他に内部調査によく使うのは "MCS view", "OpCodes", "SMEM" です。

Re^3: Pythonパワー炸裂ですね!

Colon様、sentaro様、

管理人のやすです。


> コメントが埋まりそうなので、バグの報告は sentaro様のほうが落ち着いてからまとめて行います。

ありゃ、そろそろですか?
C.Basic for CG beta 用の Part 2 を作って、準備しておきます。


> グラフィックは Python のほうが高速ということでびっくりしています。
> ここまで速いとは思いませんでした。

この驚きが、Casio Python を調べようというか、使いこなせないか?という気持ちに火を付けました。
MicroPythonの標準組込モジュールからさらにそぎ落としたもので、この素材の良さがそのまま現れているかも知れないと勝手に思っています。まだ調べないと真相は分かりませんけど...

カシオがオリジナルで作ったグラフィックスモジュールがようやく追加されたのが、fc-CG50 OS3.40で、あと getkey も是非追加して頂きたいと思うわけです。

グラフィック出力用に draw_screen()関数が追加されたのですが、これを使ったユーザー関数 locate() を作って使っています。出力先はグラフィックですが、フォントサイズを大中小の3通りが選べ、色もrgb指定できるとても便利な関数になっています。

※グラフィック画面にテキストを出力する関数
locate(column, row object, [, 'size'[, color]])
- column: 出力文字列左端の桁 - 0から始まる整数
- row: 出力文字列左端の行 - 0から始まる整数
- object: 整数、浮動小数点数、文字列
       計算式を1行以内に指定すればその結果を表示する
- 'size': 3択、's' / 'm' / 'l' - 's' small font, 'm': medium font, 'l': large font
  省略時は、'm' がデフォルト
- color: 3通りの指定が可能
  1) カラーコード指定、
    0 : 'white', 1: 'black', 2: 'blue', 3: 'red',
    4: 'magenta', 5: 'green', 6: 'cyan', 7: 'yellow'
  2) RGB指定、(r, g, b) の書式
  3) 色の名前で指定:
    'white', 'black', 'blue', 'red', 'magenta', 'green', 'cyan', 'yellow'
  省略時は、1 / (0,0,0) / 'black' がデフォルト


あと、line() とか circle() なども作っていて、ユーザー関数を充実してゆけば、出力についてはグラフィック画面をうまく活用できそうです。

問題は入力なんです。現在のところ入力は、標準入力の input() 関数しかありません。入力はSHELL画面を使うしかありません。そして、必ず入力待ちになります。これに折り合いを付けながら、スクリプトを書くしかありません。

グラフィックに"大"フォントでテキストを出力すると、SHELL画面のフォントと同じサイズになるので、SHELLとグラフィックスの画面切り替えが気づきにくい作りにすれば、面白いかも知れませんね。


> 計算自体の速度差なのかループの速度差なのか分からないので、
> 空のループのみの比較もあると良いと思います。> 管理人様

いずれ、やってみようと思います。
備わっている関数やメソッドを一通り把握してみる段階が済んだら、Pythonスクリプト最適化の一貫で、ループ速度テストや、整数のみでの高速化の調査をやりたいと思っています。


そうそう、

> INSIGHT アドインで何かしらコマンドの名前を検索に掛けて前後のメモリ領域を調べれば、隠し関数は簡単に見つけられそうですね。
>
> 暗号化されていると使えない方法ではありますが。(^^;

これって、以前どこかで聞いたような気がするのですが、どこから入手できますか?

Re^2: Pythonパワー炸裂ですね!

管理人様、sentaro様、こんにちは!

> ここのところ、電卓にじっくりと触れない状態がちょっと続いてます。
> ということで、C.Basic更新の方はもうしばらくお待ちくださいませ。m(_ _)m

了解しました。

コメントが埋まりそうなので、バグの報告は sentaro様のほうが落ち着いてからまとめて行います。

> C.Basicは言語的には旧世代なので速度面しか利点は無いですが、結構いい勝負してますね。(^^)

グラフィックは Python のほうが高速ということでびっくりしています。
ここまで速いとは思いませんでした。

数値計算のループは C.Basic のほうが速いのですね。

計算自体の速度差なのかループの速度差なのか分からないので、
空のループのみの比較もあると良いと思います。> 管理人様

> 最近思ったのですが、教育市場がメインなので、学校の先生にだけこっそりと詳細マニュアルや詳細リファレンスを配っているのではないか? 配っていないとしても、公開リファレンスを出さないことによって、先生の仕事を作ってあげているのではないかという疑惑です。

CASIO のサイトには教育関係者のみ入れるページもあるっぽいので、先生のみリファレンスをダウンロードできる、とかはあるかもですね。

> [SHIFT][4] で現れるカタログにある関数やメソッドの80%程度は使ってみました。隠しパラメータもいくつか見つけました!
> 残念ながら隠し関数は、まだです(^_^;

INSIGHT アドインで何かしらコマンドの名前を検索に掛けて前後のメモリ領域を調べれば、隠し関数は簡単に見つけられそうですね。

暗号化されていると使えない方法ではありますが。(^^;

Re: Pythonパワー炸裂ですね!

sentaro様、皆様、


管理人のやすです。


> ここのところ、電卓にじっくりと触れない状態がちょっと続いてます。
> ということで、C.Basic更新の方はもうしばらくお待ちくださいませ。m(_ _)m

ここのところ気温が高くなってきていますので、体調にはお気をつけくださいね。
マスクによる熱中症のリスクも高まっていますので、なかなか厄介です。
私は、広いところではマスクを外すようになりました。

C.Basic はとりあえずは安定バージョンなので、どうぞごゆっくりと...


> e-Gadget初のPython記事は、純正CasioBasicとPythonとC.Basicの比較がとても興味を引く記事ですね。(^^)
> C.Basicも比較対象に加えていただきましてありがとうございます!
> C.Basicは言語的には旧世代なので速度面しか利点は無いですが、結構いい勝負してますね。(^^)

> Python版シダの葉グラフィックスは劇的ですね。
> さらにPythonでもC.Basicでの高速化と同じ整数処理をすればさらに10倍くらい速くなりそうな気がします。(^^)

シダの葉グラフィックスの爆速っぷりを体験したことで、Casio Python を見る目がすっかり変わってしまいました。
これはスゴイと思いました。

Pythonの最適化は、チョット後回しです。

Casio Basicのようにはいきませんが、ピンポイントで Casio Pythonを適材適所で使えば、グラフ電卓の活用の幅が広がるのではないかと思ったことから、先ずは自分の勉強のため、そして勉強したことを定着させるため、Casio Pythonプログラミングの連載を始めることにしました。

標準組込モジュールについては、マニュアルでは殆ど何も説明がありません。いつもの事とは言え、困ったものです。
最近思ったのですが、教育市場がメインなので、学校の先生にだけこっそりと詳細マニュアルや詳細リファレンスを配っているのではないか? 配っていないとしても、公開リファレンスを出さないことによって、先生の仕事を作ってあげているのではないかという疑惑です。

[SHIFT][4] で現れるカタログにある関数やメソッドの80%程度は使ってみました。隠しパラメータもいくつか見つけました!
残念ながら隠し関数は、まだです(^_^;


> CasioPythonはグラフィックスが可能になって一気に実用度というか遊べる度が広がった感じですね。
> これであとは、Getkey相当の機能が加われば…以下略(^^;

はい、おっしゃる通りです。
Getkeyが無いと、欲求不満になります。

とりあえず、標準出力であるSHELL とグラフィック画面への出力をうまく使い分けるような、Casio Pythonならではのプログラミングスタイルが見つかりそうではあります。

Pythonパワー炸裂ですね!

管理人様、皆様、こんにちは!

ここのところ、電卓にじっくりと触れない状態がちょっと続いてます。
ということで、C.Basic更新の方はもうしばらくお待ちくださいませ。m(_ _)m


e-Gadget初のPython記事は、純正CasioBasicとPythonとC.Basicの比較がとても興味を引く記事ですね。(^^)
C.Basicも比較対象に加えていただきましてありがとうございます!
C.Basicは言語的には旧世代なので速度面しか利点は無いですが、結構いい勝負してますね。(^^)

Python版シダの葉グラフィックスは劇的ですね。
さらにPythonでもC.Basicでの高速化と同じ整数処理をすればさらに10倍くらい速くなりそうな気がします。(^^)

CasioPythonはグラフィックスが可能になって一気に実用度というか遊べる度が広がった感じですね。
これであとは、Getkey相当の機能が加われば…以下略(^^;
最新記事
検索フォーム
最新コメント
カテゴリ
C# (3)
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

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


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

プログラム電卓を実際に使って気づいたこと、自作プログラム、電卓での Casio Basic や Casio Python プログラミングについて書いています。

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


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR