2022年7月24日日曜日

fxーCG50の現状から考えていた

 昨今の岸田円安で、輸入品の価格が暴騰しており、高機能電卓の価格も鰻登り。猛暑の上、うなぎも食っていない内から「これはたまらん」とナケナシの財布を叩いて、海外版の fx-CG50 を緊急に購入した次第。

そんな具合で、暫くは fx-CG50 の newbie であります。HP Prime欲しかったのですが、30,000円近いので、よう手が出ません。御容赦戴きたく。

そこで、人様のTweetをネタに、色々と思う所を。まずは、以下のTweetから。

https://twitter.com/BlackcatKrnk/status/1548675041327747073

fx-CG50を買おうか迷っているけれど、OSとかのダウンロードって今から購入しても最新バージョンって入ってない…? PC環境がないから最新バージョン入れる必要あったら無理かも。あとアドイン(化学定数等)とかも初期で入ってなかったら使いたいのに使えない…

 そうでありました。海外版もファームが古い。
そして、世はまさにスマートフォン全盛、今日、PCを使う「餅ベーション」はありません。若い人はPC持っていなくとも、困ることはないのでしょう。
Officeでワープロ、表計算とか使う場面もあるでしょう。今日、MS Wordは公官庁でも広く利用されております。中には「文書改竄」の具としても。それは言いすぎかも知れませんが、そういった場面でもなければ、PCを積極的に使用しようとは思いますまい。
そんな具合で、高機能電卓のファーム更新も、できれば本体で完結できるのが望ましい。のであります。
実際、当方もWindows、暫く使っておりませんヨ、情けない。
ちなみに、当方が入手したfx-CG50には、周期律表のAddOnが準備されていて「ニホニウム」も表示できましたネ、このあたりは、そこそこ新しいみたい。
他方、高機能電卓を使いこなす、となれば、PC, Windows/Macでも持っておくのが「便利」ではあります。
ファーム更新は元より、プログラムなどを保存するのにも重宝します。更には、blogネタを書いて、公開するなど。
安っぽいもので十分です。Officeも要りません。面白いですヨ。
 

https://twitter.com/V_Mizui/status/1547190592387440640

 FX-CG50のプログラム言語が左辺値を右辺に対して代入する仕様になってるの不思議だし頻繁に間違える。

プログラミング言語、特にBASIC, pythonあたりから始めたりすると、そう思うのは当然の成り行きであります。
しかし、    fx-CG50は、出自が「電卓」なので、計算結果をメモリに保存する、というキーストロークで考えると、右辺変数に代入、という記述方式は仕方のない所ではあります。

https://twitter.com/DchzTb4WftPvlKG/status/1543007909659176960

今もってPB-100を愛用されているとは、物持ち良いなぁ、いや、そこではなかった。

PB-100とfx-CG50のLoop速度比較であります。
「35歳の年齢差を流れを考えると現行機種の負けです。」とは、カナシイ。
それだけ、当時のPB-100が「完成」された製品であった、という事を言いたかったのかも知れません。
他方、現行製品たるfx-CG50の実行速度の遅さを憂いている発言でもあるのですが、
同時に、fx-CG50のBASIC自体も大きく進歩しているので、単純な比較は出来ないものです。
Tweet主は、そこも押さえた上で上記の発言をされたのだと思うのですが、SH4という32bit processorを採用しているのであり、もっと早い実効速度を期待したい、という所でもあります。

fx-CG50は、カラー表示で、乾電池稼働する稀有の機体であります。実行速度がイマイチなのは、その辺りにも原因があるのですが、Sentaro様はSH4のClock up設定をするAdd Onを作られており、電池の消費を度外視すれば、更なる実行速度が稼げます。
更には、upythonでは、より実行速度が早いらしい。

一方で、upythonの機能は、残念ながら、BASICの様な機能を持っていない部分があります。
リアルタイム・キー入力が一つの例です。
また、複素数、統計計算などのBASICで利用可能な機能は、upython にて自前で作成しないとならない。

他のupythonグラフ電卓でも言える部分があるのですが、upython機能は、電卓のAPIを拡張する様には出来ておらず、独立したupython環境として、電卓のUser I/Fから分離する方向でインプリメントされております。
これが何を意味するのか ?

例えば、グラフ電卓では、数式を登録して、そのグラフを簡単な操作で描図出来ます。
しかし、その数式が簡単ではない場合、自前の「関数」としてプログラム作成、数式描図機能に盛り付けたい、と思うのは人情でありましょう。
upythonならば、自前の関数を定義して、グラフ描図機能で使ってみたくなりますよネ。
しかしながら、電卓環境とupython環境は別個のものなので、こうした利便は提供されておらんのであります、ハイ。

もちろん、BASICでも状況は大差ないですが、よりましなのは、グラフ描図機能を呼び出す事は可能であるのです。

4 件のコメント:

やす (Krtyski) さんのコメント...

akatuki様

fx-CG50ユーザーになられて、おめでとうございます!!
\(^_^)/


素因数分解プログラムを機種別、さらに Casio Basic, C.Basic, Casio Python に分けて、動作時間の比較をしました。
https://egadget.blog.fc2.com/blog-entry-215.html

一番速いのは fx-CG50 x C.Basic
2番手が fx-CG50 x Casio Python

となりました。Casio Pythonよりも C.Basic の方が速い結果!

===

これらは、ノーマルクロックでの話。Sentaro様のチューンアップツールを使えば、さらに高速化します。


ってなところで、先ずは突っ込みを失礼致しましたm(_ _)m

akatuki さんのコメント...

やす (Krtyski) 様

親分、遅くなりまして申し訳ない !

> fx-CG50ユーザーになられて、おめでとうございます!!
> \(^_^)/

有難う御座います ! 多謝 !!

> 素因数分解プログラムを機種別、さらに Casio Basic, C.Basic, Casio Python に分けて、動作時間の比較をしました。
> https://egadget.blog.fc2.com/blog-entry-215.html
> 一番速いのは fx-CG50 x C.Basic
> 2番手が fx-CG50 x Casio Python
> となりました。Casio Pythonよりも C.Basic の方が速い結果!

ウーム、やはり C.Basic はイイですね !
python 使いたさ、というのもあるのですが、やはり、電池で動くカラー電卓となると、fx-CG50 ですネ。
昨今の岸田円高で、諸般、物価高騰という有様、fx-CG50(海外版)は最も安価であります。
カラー電卓が欲しかった所なので、いよいよ重い腰を上げて購入に至りました。
でも、まだOSの更新とかやっておらんです。C.Basicの「威力」も体験したいのですが、まずは「素」の状態をじっくりと堪能して、C.basicの速さなどは後から楽しみたいと。

> これらは、ノーマルクロックでの話。Sentaro様のチューンアップツールを使えば、さらに高速化します。

お知らせ、有難う御座います !

やす (Krtyski) さんのコメント...

akatuki様

fx-CG50搭載のPythonは、PC用の CPython に比べて、かなり制限が多い現状です。

実用的なプログラムを書きたいと思う際、Casio Basicよりもさらに制限が強くて、なかなか不便だと思います。
特に、リアルタイムのキー入力検知をする方法が全く提供されていないのが、致命的です。
入力を受け取るのは input() 関数ただ1つなので、英数字を入力後に[EXE]キーを押して確定するという入力方法一択といった悲しい状況です。

なので、ゲームには思いっきり不向きなのが Casio Python です。

それでも、うまく工夫するとお遊び程度のプログラムは作れるし、なんたって動作が速いこと、15桁の精度が有る点は、Casio Basic を凌駕しています。この良いところに前向きに目を付ければ、それなりに遊べますヨ!

既にご覧になっているかも知れませんが、以下のページを基点に Casio Pythonの良いところを活かすサンプルプログラムや、私オリジナルのユーザーモジュールを紹介しています。
https://egadget.blog.fc2.com/blog-entry-726.html

能力的には C.Basic がダントツではありますが、私はちょうど昨年の4月あたりからPCで使うPythonの勉強を始めたので、Casio Pythonの探索には丁度良いタイミングだったので、とりあえず連載を始めたという次第。

Pythonの学習目的で、カメラとラズパイ(Linux)を有線で繋ぎ、ラズパイとWindows PCをWiFiで繋ぎ、スナップショットをして得られた画像を PCまで飛ばして、得られた画像をウィンドウ内に表示してから、ボタンクリックでズームイン/.アウト、画像の保存、任意の四角形領域の切り取りなどの機能を作ったりしました。

良いライブラリさえ見つかったら、結構楽にPythonでコーディングできるという、面白い経験ができました。

知り合いの電子系の大学教員は、PCのPythonは使えて当たり前、ExcelのマクロをVBAで作るよりも PythonでExcelのリモートコントロールの方が、楽で便利なのだと言っています。機会をみてExcelでPythonがどのように役立つのかを試してみたいと思っています....ただし時間が取れないので、な~んにもしてませんけど....

最近は、言語のつまみ食いがマイブームになっていて、4年前にはC#をつまみ食い、昨年はPythonをつまみ食い、今はWebアプリを作るつまみ食いを画策中(どーなるかは、まだ分かりません)...

何か、1つアプリを作って満足⇒放置、のパターンが繰り返されております(^_^;)

まぁ、気楽なものです。

Casio Python はもう少し試してみたいことがあって、時間ができればと思って時間ばかりが経っています。
Casio Python入門も、少し書きためているところで、クラスの作成、継承といったあたりまで、Casio Pythonでやって、サンプルプログラムを紹介するあたりを目標としています。

akatuki様のネタ提供を、わりと楽しみにしております。


akatuki さんのコメント...

やす (Krtyski) 様。大変遅れており申し訳ない !
ネタが枯渇で、blogは「放置新聞」という有様 ... 。

> fx-CG50搭載のPythonは、PC用の CPython に比べて、かなり制限が多い現状です。
> 実用的なプログラムを書きたいと思う際、Casio Basicよりもさらに制限が強くて、なかなか不便だと思います。
> 特に、リアルタイムのキー入力検知をする方法が全く提供されていないのが、致命的です。
> 入力を受け取るのは input() 関数ただ1つなので、英数字を入力後に[EXE]キーを押して確定するという入力方法一択といった悲しい状況です。
> なので、ゲームには思いっきり不向きなのが Casio Python です。

リアルタイムキー入力、ゲームには欲しい所でありますネ。

> それでも、うまく工夫するとお遊び程度のプログラムは作れるし、なんたって動作が速いこと、15桁の精度が有る点は、Casio Basic を凌駕しています。この良いところに前向きに目を付ければ、それなりに遊べますヨ!

そこです ! CG501には、BASICもあり、C.BASICもあります !
upython以外の選択肢があるというのは、それだけで「安心」なのだと思うのです。多い日も安心 ...
一方、upython, 整数処理では、かなりの桁数が採れるはずですネ。オイシイ所をつまみ食いが出来るのが、楽しい。

> 既にご覧になっているかも知れませんが、以下のページを基点に Casio Pythonの良いところを活かすサンプルプログラムや、私オリジナルのユーザーモジュールを紹介しています。
> https://egadget.blog.fc2.com/blog-entry-726.html

いや、面目ない !
本体をいじるので精一杯でして、未だにOSの更新すらやっておりませんのヨ。upythonもまだ使っておりません。

> 能力的には C.Basic がダントツではありますが、私はちょうど昨年の4月あたりからPCで使うPythonの勉強を始めたので、Casio Pythonの探索には丁度良いタイミングだったので、とりあえず連載を始めたという次第。

当方、PCでpythonを勉強しておりますが、ポンコツなので、まだ入門の所で足踏みしております、情けない ... 。

> Pythonの学習目的で、カメラとラズパイ(Linux)を有線で繋ぎ、ラズパイとWindows PCをWiFiで繋ぎ、スナップショットをして得られた画像を PCまで飛ばして、得られた画像をウィンドウ内に表示してから、ボタンクリックでズームイン/.アウト、画像の保存、任意の四角形領域の切り取りなどの機能を作ったりしました。

おおっ、RaspPi ですか ! やりますね !!
PCと通信とは、なかなか凄い事になっております !
RaspPiだけで十分PCとしても使えるとは思うのですが、PCとネットワーク接続で制禦とは、恐れ入ります !

> 良いライブラリさえ見つかったら、結構楽にPythonでコーディングできるという、面白い経験ができました。

RaspPiとカメラの応用、かなり凄い事が出来るらしいですネ。

> 知り合いの電子系の大学教員は、PCのPythonは使えて当たり前、ExcelのマクロをVBAで作るよりも PythonでExcelのリモートコントロールの方が、楽で便利なのだと言っています。
> 機会をみてExcelでPythonがどのように役立つのかを試してみたいと思っています....ただし時間が取れないので、な~んにもしてませんけど....

ウウム, そうなのですネ。スゴイなぁ。
Excel、使った事がないのでワカランのですが、外部からの制禦が出来るAPIとかをいじるというのは、
pythonとExcelの両方に通じておらんとならず、なかなか大変であります。

> 最近は、言語のつまみ食いがマイブームになっていて、4年前にはC#をつまみ食い、昨年はPythonをつまみ食い、今はWebアプリを作るつまみ食いを画策中(どーなるかは、まだ分かりません)...

オオッ、webアプリもですか ! 凄いです !!

> 何か、1つアプリを作って満足⇒放置、のパターンが繰り返されております(^_^;)
> まぁ、気楽なものです。

当方、趣味でプログラムを作業する程度なので、コレは同意です !
ただ、当方の場合、手元の電卓、PCで停滞していて、ネットワークの活用にまで及んでおりません。

> akatuki様のネタ提供を、わりと楽しみにしております。

当方、ポンコツに磨きを掛ける様になってをり、ネタも枯渇して候。
御期待にそえる胆力もなく、目下、ネタ探しで脂汗を滴り流す日々、平に御容赦戴き度。