2025年11月26日水曜日

ようやく、CASIO 関数電卓ページのトップ画像に fx-CG100 が登場しました

 永らく、fx-CG50 が写真では上がっておりましたが、ようやく写真が更新され、fx-CG100 が登場しました。

ref. 関数電卓 - CASIO 
https://www.casio.com/jp/scientific-calculators/#program

やす親分も申されておりましたが、fx-CG100 では CASIO BASIC を廃してしまったため、実用的な計算の必要な場合、upython のみという、結構キツイ状態とも言われます。
他にも Add-in が使いにくい構造になっているなど、fx-CG50 successor としては「?」な点が多いとも言われております。
そうした評価の CG100 が、遂に CASIO 関数電卓の top となった様で、CASIO の経営方針を垣間見たような感じでもあります。

CASIO 関数電卓は、学生、生徒向けの「教育型」関数電卓と、fx-5800P を筆頭とする「実用型」関数電卓の両者は、現時点で併売されております。
電卓製品では切磋していた Sharp ですが、PC の事業を切り離したらしく、今は dynabook株式会社から製品を出しているそうで、目下、技術的な成果を問うスマートフォンに経営資源を集中しているかの様でもあります。

「実用型関数電卓を必要とするならば、PCやスマートフォンを使うべし」の様な意見もあるようですから、実用型は、新機種を期待するのが難しいGenreになっているのかも知れません。
しかし、個人的には、密かに「製品が多種類、潤沢に用意されている事が"豊かさ"の指標なのではないか ?」という思いがあります。

ついでに記しておきますと、連休中、CASIO の 電卓アプデ提供ページが、止まっておりましたネ。今は復旧しております。 


こんな話と関係しているのかなぁ ? 

ref. クラウドフレアの大規模障害と海賊版訴訟が示す「ネットインフラの責任」
https://www.watch.impress.co.jp/docs/series/nishida/2065820.html 

そういや、1970年11月25日は、作家の三島由紀夫氏が自衛隊有志に決起を呼びかけ、呼応した自衛官が居なかった事に絶望し、割腹自殺を図った日だそうです。
( 何か、意図があるでもありません。単なる史実を書いただけ )

今後の動向に注目したく思います。

2025年11月16日日曜日

fx-CG50 の Add-in は強力な様子

 こんな post があったので、取り上げてしまいました。

 ref. https://x.com/bockringElec/status/1989343294028140609

 fx-CG50 で Bad Apple というアニメーション表示を行うデモを取り上げ、「fx-CG50 は非力なので、別の電卓を推奨する」としております。

確かに、TI-83+ CE では、Z80の binary が動き、海外ユーザーがゲームを作成しているそうで、うまくプログラムを組めば、同等の事が出来るかも知れません。

しかし、HP Prime は Binary プログラムを導入できるのか、まだ、よく判らない ( 昔、HP Prime のファームを根こそぎ削除して Linux を boot する、という研究があったそうですが)。

それらを以て、fx-CG50 が非力と断じるのは、ちょっと無理があるようにも思われます。

ただ、TI 電卓、HP Prime も面白い電卓でありますから、こうして取り上げるのは有り難いものではあります。 

Sentaro 様は、fx-CG50 で Clock up のプログラムを作成しており、 さらに C.BASIC まで登場しております。

他にも、KhiCAS(io), Python Extra の様な Add-in も公開されてて、かなりの事が出来るのです。

 Add-inの作成が出来る人ならば、fx-CG50 で、こうしたアニメーション表示をするプログラムを作成出来るかも知れません。

 fx-CG50 が Dis continue 製品となって、新しいグラフ電卓 fx-CG100 は、Add-In の利用が出来ない様にしており、Add-In を使うのは容易ではありません。

それでも、海外のユーザーは活発に、fx-CG100 でも Add-in を使用できる様な Hacking を行っているそうで、既に一部の Add-in が 稼働していると言われます。

しかし、アニメーション表示、スゲェな ... 画像を圧縮しても、かなりのデータ量と思われます。デモとしては凄さが伝わってきますが、電卓に常駐させるとなると、他に何も入らないかも 。

Add-in 作成は、かなりの知識が必要でありますから、「物欲しげ」に周囲をうろつくしかありません。

 

2025年11月7日金曜日

χCAS(io) が見られないゾ ... (追記しました)

 fx-CG50, fx-9750GIII などで動く、CAS「χCAS(io)」が、2025-11-06 現在、見られない状態になっております。

https://www-fourier.ujf-grenoble.fr/~parisse/casio/khicasioen.html

そこで、Wayback machine で検索した所、ちゃんとアーカイブがあると解りました。

https://web.archive.org/web/20250911060358/https://www-fourier.ujf-grenoble.fr/~parisse/casio/khicasioen.html

本家サイトが回復するまでは、ここでお世話になるようです。

ついでに、以前、芝村先生の記事が出ていたのですが、トピックス・ページという所に収録されております。

https://www.casio.co.jp/topics/

色々と面白い記事があるので、気になった方は是非ともご覧頂きたく思います。

 

2025-11-23 追記

KhiCAS(io) のアドレスを紛失してしまい、再度、検索した所、以下のページが出てきました。

ref.  χCAS(io)
https://www-fourier.univ-grenoble-alpes.fr/~parisse/casio/khicasioen_o.html

どうも、アドレスを見る範囲では、ドメインに変更があったらしく、以前のページが見られなくなったようです。

所が、新しいページでは、気になる部分があります。

  •  fx-CG50 向けのファイル「khicasen.g3a」のみになっております
  • それまで 2MB あったサイズが、1.0MB になっております 

新しくなった事で、サイズが小さくなったのか、と思い、手持ちの fx-CG50 で試してみましたが、どうにも不具合で、実行できないのです。
具体的には、Menu に出て来ないので、実行できない状態。ウーム ?

以前は fx-CG100 で動かす手段として mpm も紹介しておりました。また、fx-9860GIII, fx-9750GIII でも動く khicasen.g1a も用意されておりましたが、今は見当たりません。
その場合は、上記に示しました wayback machine のページからダウンロードできます。

もしかすると、新しいサイトの Add-in ファイル、fx-CG50 では動かないものの、mpm を使った fx-CG100 なら動くのかも知れません。
蛮勇をお持ちの方は、お試し下さい。

2025年10月30日木曜日

生産終了の fx-CG50 に アプデが登場しました

 既に fx-CG100 が発売、fx-CG50 は生産終了となっておりますが、珍しい事に、fx-CG50 のアプデが登場しておりました。

ref. fx-CG50 アプデ
https://support.casio.jp/download.php?cid=004&pid=2126

- バージョン履歴
(2025年10月29日)  fx-CG50 OSアップデーター(⇒Version 3.81)及び関連アプリソフトの公開 (Windows/Mac OS)

- バージョンアップ内容
  (Ver3.80.XX1X → Ver3.81)
    軽微な修正

との事で、内部的な不具合の修正、という具合のようです。

これで casioplot.getkey() とかが追加になれば興味深いのですが、マニュアルの更新はなさそうですから、機能面は変更なし、として差し支えなさそう。
他方で、OS に lock を掛ける、というイヤな更新もあるかも知れません。

確か、XCAS は、OS 3.7 では問題なしだったものの、3.8 になって、導入が困難になったそうで、3.7 へ roll back する必要があると記されておりました。
今般の 3.81 は、OS の downgrade を阻止する、そんなイヤなメカが入っていたりしないか、などと思う所。
(当方、未だに 3.40 だったりします)
 
で、XCAS, PythonExtra を使っていない皆さん、おそらく最後のアプデが提供されましたので、是非ともご利用戴きたく ... !

突然のアプデ襲来に驚いてしまい、出だしはこんな事で始めましたが、先日から、チョット手遊びで、こんなコードを作っておりました。

四角形の中に少し傾けた線を引き、それを繰り返していくと、規則性のある図柄が現れる、というものです。

# recsq.py 2025-10-27
from math import *
#from casioplot import *
from u import *

a=(86,191)
b=(86,0)
c=(277,0)
d=(277,191)

def sqlin(a,b,c,d):  
  line(int(a[0]),int(a[1]),int(b[0]),int(b[1]))
  line(int(b[0]),int(b[1]),int(c[0]),int(c[1]))
  line(int(c[0]),int(c[1]),int(d[0]),int(d[1]))
  line(int(d[0]),int(d[1]),int(a[0]),int(a[1]))

def tr(r,p,q):
  return (p[0]*(1-r)+q[0]*r,p[1]*(1-r)+q[1]*r)

def recsq(n,r,a,b,c,d):
  for i in range(n):
    sqlin(a,b,c,d)
    b=tr(r,b,c)
    c=tr(r,c,d)
    d=tr(r,d,a)
    a=tr(r,a,b)

recsq(60,0.05,a,b,c,d)
但し、やす親分作成の線引き module 「u.py」を使用しております。折角作っていただいたので、有り難く使わせて戴いております。
親分、多謝であります ! 

ref. Casio Python - グラフィックス出力関数の追加 - e-Gadget - プログラム関数電卓
https://egadget.blog.fc2.com/blog-entry-739.html

このコード、元々は再起処理っぽい感じで書いておりました。
def recsq(n,r,a,b,c,d):
  if n<=0:
    return
  sqlin(a,b,c,d)
  b=tr(r,b,c)
  c=tr(r,c,d)
  d=tr(r,d,a)
  a=tr(r,a,b)
  recsq(n-1,r,a,b,c,d)
しかし、繰り返しの回数が 50 になると stack overflow になってしまいました。なんだよ、オイ !
upython では、バルクデータを扱う必要もあって、heap oriented らしく、Stack は少し控えめに配分するのだと思う所です。
で、作業中のコード、入力している最中、「無理に recursive にする必要はなさそうだナ」と、単純な繰り返しにした所、stack 消費がないため 50 を越えて 100 でも問題なく動くと判明しました。

先日来、ダイソーで買ってきた NiMH 電池を使っていたのですが、今日になって、Low Batt replace が出る様になったものの、一度電源をサスペンドすると、一時的に復帰する事をいい事に、使い続けておりました。
流石にこのままではキツそうと、電池交換のため、編集中のコードを保存しておこうとすると、Low Batt 警告が出るのであります。Flash memory は書き込みに電力が要るのです。そこで、一旦サスペンドで電圧回復を図り、保存しなおすという際どい操作で、切り抜けたという具合。(良い子はマネしちゃダメよ)

昔のポケコンでは、RAM に BASIC プログラムを置いておりました。電池が切れると、内容をすっかり忘れてしまうのですが、それを思うと、隔世の感、ではあります。

2025年10月26日日曜日

fx-CG50 : Julia 集合のグラフィクス

 理屈はさておいて、Julia 集合のグラフィクスというのが、Mandelbrot set graphics のコードをいじるだけで作成できるとの話で、作業してみました。


from math import *
from casioplot import *

clear_screen()

def julia(deg):
 tbl=[ (0,0,0),(255,0,0),(0,255,0),(0,0,255),(255,255,0),(255,0,255),(0,255,255),(255,255,255) ]
 n=len(tbl)*deg
 xmin = -3.84/2
 xmax = 3.84/2
 ymin = -1.92/2
 ymax = 1.92/2
 dx = (xmax-xmin)/384
 dy = (ymax-ymin)/192
 for yp in range(192):
  for xp in range(384):
   z = xmin+(xp*dx) + (ymax-(yp*dy))*1j
   c = -0.8 + 0.156j
   cnt = 0
   while (abs(z) <= 4.0 ) and ( cnt < n ):
    z = z*z+c
    cnt = cnt+1
   rgb = int(cnt*255/n)
   #col = (int(rgb),int(rgb*0.75),int(rgb*0.25))
   col = tbl[cnt%8]
   set_pixel(xp,yp,col)
  show_screen()

julia(6)
末尾の julia(6) で「計算深度」を指定しております。
この計算深度は、反復回数を指定するもので、カラーテーブルの大きさの倍数となっていて、カラーテーブルの大きさが 8 なので、最大で 6*8 = 48 回の計算繰り返しを行います。

どうして、こんな事をしているのか、と申しますと、計算回数の上限を上げる事で、色々と画像が変化してくるのですネ。
fx-CG50 のスクショを取る方法がわからないので、パソコで擬似的に行ったのが、つぎの画面であります。

中心部から黒の領域がウネウネと出ておりますが、回数を増やすと、黒の部分にも細かい色が現れるのです。
しかし、fx-CG50 ではチョット荷が重いので、上限を 6*8 にしているという次第です。

さて、このコードをやっていて、隘路に入ってしまったので、メモを書いておきます。
当初、ファイル名を jul-1.py としていたのですが、実行すると、「Syntax error」が出るのですネ。色々とコードを手直ししてみましたが、どうにも見通しがつかない。
結局、実行時に 「from jul-1.py import * 」と出ていて、ファイル名にあるハイホンを「コレって、引き算じゃね ? エラーじゃんかよ !」となっていたらしい。
そういや、CG50 本体で python コードを作成するとき、ファイル名にハイホンは入力できんのですね。道理で。

... なんとも情けないオチでありました。スマソ。

 

 

2025年10月11日土曜日

電卓の話題で、こんな話を見た

 確か、以前にもあったと思うけれども、6÷2(1+2) の答えが色々と悩ましいとの事。

ref. 6÷2(1+2) - Wikipedeia
https://ja.wikipedia.org/wiki/6%C3%B72(1%2B2)

電卓で計算しても処理方式が様々で、答えが 9 であったり 1 であったりするのだそうです。

まずは、CASIO fx-CG50 でやってみましたヨ。
6÷2(1+2) を 6÷(2(1+2)) と自動で書き換え、1 を返しますネ。教育用途という所で、配慮されているようであります。

続いて、fx-CG50 の upython ですが、プログラム言語なので、こうなりました。

>>>6/2(1+2)
TypeError : 'int' object is not callable
エラーです。なるほど。2は関数として呼び出せない、という具合です。

HP Prime の simulator でもやってみました。


"6/" まで入力した所、自動で分数表記になり、以降の 2(1+2) を入力すると 2(1+2) の分子の扱いとなって、結果は 1 になりました。これはこれでウマイ回避法です。

HP電卓で広く使われていた RPN でやるならば、こんな具合になりましょうか ?

6 [ENTER] 2 [ENTER] 1 [ENTER] 2 [+] [*] [/]  → 1 を返します
また、6÷2*(1+2) として計算するには、

6 [ENTER] 2 [/] 1 [ENTER] 2 [+] [*]  → 9 を返します

括弧で括った項と数値の掛け算で、掛け算記号が省略されてしまう事から、演算子の優先順位に混乱が生じるため、こんな具合になるのでしょう。

Wikipedia の記述によると「この式自体の記述がオカシイ」とする方式もあるそうで、式記述について、曖昧にならない様な指導が期待される所でもありますが、学校教育の現場では、今暫く、この問題に悩まされることになりそうです。

【おまけ】
fx-CG50 XCAS で試したら、

6/2(1+2)
Warning : using implicit multiplication for (2)(1+2)
                  1
でした。暗黙の掛け算処理を適用、という具合です。

2025年9月14日日曜日

HP50G がイカれてしまった ...

 永らく使っていた HP50Gのキーボード。遂に入力できないキーが出てしまい、泣く泣く使用を断念する事にしました。エーン ...
接点復活剤をキーの隙間から吹き付けると回復するらしい、という話をみたので試してみたのですが、好転せずショボーンなのであります。

その為もあって、目下、手遊びのお供としては、fx-CG50 を使っているばかりなので、そろそろ HP電卓についての話題も止めざるを得ないのであります。ウーン。

そうした折、以下の post を見ました。

bockring 様 ( @bockringElec ) X post

圧倒的にHP Prime
fx-CG50持ってるし

CASIOくんのほうが3Dグラフは多機能だけど、全体的にPrimeが上かな
まぁレビュー記事でも読んでくれぃ

https://qiita.com/bockring/items/53b4b887d8885be4da50
https://x.com/bockringElec/status/1966761390204768714

bockring 様は、以前にお知らせを戴いた方だと思います。HP Prime fimware の翻訳、更新などに貢献されて居られる様で、誠に頭の下がる思いであります。

Sentaro 様も、HP Prime G2 は電卓の中では"爆速"の部類に入る様子のお知らせを戴きまして、正直、いじってみたい気もあるのです。
しかし、電卓とPCをリンクする際、Windows 版 Linker Apps が要るのが、正直クルシイ。なんと言っても、未だに Windows 持っておらんのですヨ、ハイ。

そりゃ、PCといえば  Windows と言う位ですから、一般常識としては抑えておくのが当然ではあります。
所が、今まで Windows を使わず過ごしてきた身としては、今から電卓の為に Windows PC を用意するというのは、懐にも堪えるものがあるのでありまする。
今般、近所の家電量販店に行ってみましたら、今時の ノートPC, 15万円が最低線の様な印象を受けました。代わりに、RAM 16GB とか。ゲゲゲのゲーッ ! と思いましたが、最近では生成AIを使うとかで、コレくらいの RAM は当たり前、という風潮。まぁ、ついていけまへんなぁ、コレは。
生成AIという新しい「活用法」が提示され、同時に Win 10のサポート終了とあって、Windows (11) PC もより売上を伸ばす事になるのでしょう。しかしながら、価格が低廉になるには、今暫くの時間を要する様でもあります。

HP Primeは、上記の bockring 様など、様々な方が翻訳やBug Fix に貢献されて居られる様で、今後の発展も気になるのですが、如何せん、Windows PC を持っていないと、ついて行けないという哀しみがあるのですネ。

Windows PC を持っていないと、fx-CG100 も「ゴニョゴニョ」出来ない、という意味では通じる所がありますから、目下の所、「生産完了品」fx-CG50 でポツポツと遊んでいる日々であり。

そんな具合ですから、HP 電卓のネタは、どうにも触れる機会が減ってしまいました、申し訳ない次第。

HP 電卓の様々な情報がアップされる MoHPC も頻繁にCrackers Attack を受けているらしく、時折、Members only になったりします。そんな具合でもあり、HP電卓の情報を漁ろうにも制約が ... 

マイッタなぁ。