2025年6月2日月曜日

fx-CG50 の最終アップデートから 1年以上経ちました

以下のページをご覧頂きたく。 

 ref. グラフ電卓:fx-CG50 OS アップデート
https://support.casio.jp/download.php?cid=004&pid=2126

fx-CG50 のアップデーターですが、最終版の Version 3.80.XX1X が公開された 2024年4月24日から、1年以上が過ぎております。
(2024年8月6日のアップデーターは、Windows Smart App Control 対応版なので、内容は不変 )

Graph MATH+, fx-CG100 が海外で発売されている所で、upython の version が 1.9.4 と fx-CG50 と同じという事なので、

Graph MATH+, fx-CG100 と fx-CG50 は 同じ upython だから、fx-CG50 のアプデは終了ネ ! 日本でも fx-CG100 を発売するから、それを買ってチョ !!

 だったりしたら、サミシイなァ。

 せめて、getkey() くらいは追加して欲しいのヨ。

でも、ゲームプログラム とか書いた事がないから判らんのだけれど、最近のゲームプログラムって、イベントドリブンな構造だったりするのか ? 

loop 内で getkey() でキー入力検出と分岐処理というsingle thread, 手続き型ループ処理だと「もたつくからイヤ」とか贅沢な事を言ったりして ? fxCG50 の upython 実行速度は結構早いと思うので、あとは工夫の問題なのか、と思ってみたり。

まあ、「無駄口叩く前に、面白いコードでも書けや」 と言われたら、ぐうの音も出ません、オソマツ !

 

2025年5月27日火曜日

fx-CG50 : カッシーニの卵形線を描いてみるゾ

 前に「カッシーニの卵形線」というのがあると聞いたので、手持ちの fx-CG50 upython で描いてみた、という小ネタです。

ref. カッシーニの卵形線 - Wikipedia
https://ja.wikipedia.org/wiki/%E3%82%AB%E3%83%83%E3%82%B7%E3%83%BC%E3%83%8B%E3%81%AE%E5%8D%B5%E5%BD%A2%E7%B7%9A

 

2025-06-01 追記

やす親分から、線引きなどの機能を実現した module「u.py」のお知らせを戴きまして、大いに刺激を受け、改変致しました。親分、お世話になります ! 

 

こちらのページから u.py を取得して、導入しておいて下さい。 

ref. Casio Python - ユーザー関数 line() - e-Gadget 様
https://egadget.blog.fc2.com/?no=764

 

座標軸の表示を盛り込みましたが、「目盛り」は盛り込んでおらんです。いずれの課題としておきます。

代わりに、デカルトの正葉線の式を追加致しました。 

また、表示領域の指定をチョット凝るなどしております。

元々、関数の絶対値が指定の値よりも小さい時に 0 とみなして、点を打つ具合に動作しておりますから、正確な線と較べると、太くなってしまう所がります。

デカルトの正葉線のWikipedia をみると、媒介関数表示が出来るので、 fx-CG50 のグラフ機能できれいな線を描けます。比較してみると面白いと思います。

 

ref. デカルトの正葉線 - Wikipedia
https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%AB%E3%83%AB%E3%83%88%E3%81%AE%E6%AD%A3%E8%91%89%E7%B7%9A

  

upython のコード ( 改訂新版 : やす親分の u.py module を使用します)

 
from u import *
from casioplot import *

#
def f(x,y):
return (x*x+y*y)*(x*x+y*y)-2*(x*x-y*y)-(1.02**4-1**4)

#
def f1(x,y):
return x*x*x-3*x*y-y*y*y

#
def scrSize() :
if isCG() :
return 384, 192
else :
return 384/3, 192/3

#
def axis(xs,xe,ys,ye):
i = int(-xs/(xe-xs)*width)
j = int(-ye/(ys-ye)*height)
line(0,j,width,j)
line(i,0,i,height)

#
def draw(func,xs,xe,ys,ye,eps):
for j in range(height):
for i in range(width):
x = (i*(xe-xs)/width +xs)
y = (j*(ys-ye)/height+ye)
if abs(func(x,y))<eps:
set_pixel(i,j)
# show graphix progressively
show_screen()


# main part
width, height = scrSize()
#xs,xe,ys,ye= -1.6,1.8,-0.7,0.9
xs,xe,ys,ye= -2.4,2.7,-1.05,1.35
eps=0.05

draw(f,xs,xe,ys,ye,eps)
axis(xs,xe,ys,ye)
 

( 参考 : 最初のコード )

 
 from casioplot import *
#
def f(x,y):
  return (x*x+y*y)*(x*x+y*y)-2*(x*x-y*y)-(1.02**4-1**4)


def draw():
  width  = 383
  height = 191

  xs=-1.8
  xe= 1.8
  ys=-0.9
  ye= 0.9
  eps=0.05

  for j in range(height):
    for i in range(width):
      x = (i*(xe-xs)/width +xs)
      y = (j*(ys-ye)/height+ye)
      if abs(f(x,y))<eps:
        set_pixel(i,j)
      #  show graphix progressively
      show_screen()
        
draw()

2025年5月22日木曜日

他人様のpostを肴に ...

 Ellefacia Marguerite ( @ellefacia_m ) 様、ポスト

この内部演算での扱いのせいで定数を定数と表示できないバグを何とかしてくれ!! 何でfx-5800Pですらちゃんと表示されるものが,数倍価格の高いfx-CG50でダメなのじゃ!? w →
https://x.com/ellefacia_m/status/1923199772313186771

Machinの公式を自然表記で計算してもpi表示にならないとお怒りの様子。
fx-5800P では、pi表示になる様ですネ、羨ましい。

処理方式が変更された所で、取りこぼしがあったのでしょうか ?

せっかくなので、XCASでやってみましたヨ !

4*(4*atan(1/5)-atan(1/239))=>/

と入力すると「答え一発」ですネ。
( 「=>/」は、「→」、「÷」のキーを使います。式の計算と簡便化、との事 )

2025-05-25 追記
XCAS の入力表記に誤り ( atan(1//5) としておりました ) を訂正しましたヨ

 

2025年5月7日水曜日

( こんな事ァ、書きたくないのだけれど )

目下、Trump大統領の「関税だッ !」大号令もあってか、アメリカからの物品の値段が大きく影響を受けている様子です。

以下は、並行輸入版の fx-CG50 ですが、

ref. カシオ計算機 カシオ 電卓10桁 グラフ関数 FX-CG50 ブラック [並行輸入品] - Amazon JP
https://www.amazon.co.jp/%E3%82%AB%E3%82%B7%E3%82%AA%E8%A8%88%E7%AE%97%E6%A9%9F-%E3%82%AB%E3%82%B7%E3%82%AA-%E9%9B%BB%E5%8D%9310%E6%A1%81-%E3%82%B0%E3%83%A9%E3%83%95%E9%96%A2%E6%95%B0-FX-CG50/dp/B07HYY1DCT

2025-05-07 時点で、17,800 円となっております。以前なら、15,000円くらいで買えましたが、諸物価高騰の折 ...

日本で TI 電卓の正規代理店となっております NAOCO INC. 様の Amazonの販売は、今の所価格に影響は出ていない様子です。

ref. NAOCO INC. 様 の Amazon JP
https://www.amazon.co.jp/s?i=merchant-items&me=AUGV0LKUMT9L3

しかし、以前は在庫していた「TI-84Plus CE Python日本語マニュアル付き[正規輸入元] 」が、今は在庫切れになっております。

以前ほど、入荷に手間取る事はないはずですから、今は何らかの理由で在庫を整理しているのでしょうか ?

円安傾向は継続しており、アメリカも関税政策を進めていて、海外からの輸入品の価格にも大きく影響する可能性があります。
NAOCO INC. 様の TI 電卓も、在庫のない商品から順次「価格改定」となるのかも。

こんな事を書くと「TI-Nspire CX II CAS [正規輸入元]」なんかも、たちまち売り切れになってしまいそう。

ref. TI-Nspire CX II CAS [正規輸入元] - Amazon JP
https://www.amazon.co.jp/%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%82%AC%E3%82%A4%E3%83%89%E3%83%96%E3%83%83%E3%82%AF%E4%BB%98%E3%81%8D-Texas-Instruments-TI-Nspire-CAS/dp/B07XCM6SZ3

マイッタなァ。価格改定でも、安くなれば歓迎なのですが、果たしてどうなるのでしょうか ?

2025年5月3日土曜日

fx-CG100 のマニュアルPDF をみて

 先日、アメリカで販売開始となった、fx-CG100 Classwiz でありますが、マニュアルPDF をみていたら、余り急いで買うようなもんじゃなさそうな気がしてきました。

  • upython version が 1.9.4 
  • casioplot module に、線を引く機能がない

なのヨ。 

もちろん、

  • matplotlib.pyplot, turtle といった module がスグに使える
  • code editor のフォントが小さく、狭い画面を広く使える

という利点は在りますから、ここに使いやすさを求める向きは、是非とも購入をご検討戴きたく。

upython version 1.9.4 と云うと、当方が使っている、fx-CG50 の upython の version とおんなじなのですネ。まだ、OSは古いママ。

なので、もしかして「隠しcommand があったりして ?」と、getkey() の代わりに _getkey(), getkey_() ... とかやってみたのですが、流石にそれは無かった。海外のユーザーはHack済みなのでしょう。

fx-CG50,  fx-CG100 の casioplot には線引きの機能がありませんが、fx-CG50 で動く Python Extra には線引きの機能があったはず (gint module, dline method )で、upython も大分新しいものを導入しております。

casioplot で線を引きたい場合、Bresenham  algorithm により、自前で線引きのmethod を書けばいいのでしょう。それを含めて「学習用途」なのかも知れません。

 確かに、code editor など、導入されていない機能は多くあり、まだ安定していない部分もあります。

 fx-CG50 user としては、fx-CG100 Classwiz に飛びつく前に「射撃待て」 と注意喚起しておこうと思います。

 当方、懐具合が寒いので、こんな事を言っておりますが、懐具合のイイ方は、是非とも fx-CG100 のご購入を !?

 

2025年4月25日金曜日

fx-CG100、アメリカで販売開始

 先日、つぎの X post が出ておりました。

ref. ハリー ( @harycurl ) 様 X post
https://x.com/harycurl/status/1915245139330810017

カシオのグラフ電卓、fx-CG100(fx-CG50の後継)はアメリカで24日から発売とのこと。
日本ではいつから発売するのでしょう。
#関数電卓 #グラフ電卓
との事で、確かに、発売されている模様です。

ref. fx-CG100 ClassWiz® Color Graph - casio.com
https://www.casio.com/us/scientific-calculators/product.FX-CG100/

マニュアルを取得しましたら、Python には、つぎの module があるという記述がありますネ。 

  • math 
  • random
  • matplot.pyplot
  • turtle
  •  casioplot

残念ながら、cmath は無い模様。ながらも、matplot.pyplot、turtle が「標準装備」で、すぐに使える所がウレシイ。

そして、多くのユーザーが期待していた(?)、リアルタイムキー入力機能が準備されました。

  getkey() (No argument)
Returns the key code of the calculator key pressed at the time this function is executed.
The key codes of the keys are shown below.
getkey() は、casioplot module に入っていると、マニュアルにはあります。

Python の機能が充実し、3D plot Apps なども使える様ですが、
一方で、CASIO BASIC が入っていない様です。Python が早く動作するという事で、省略されてしまったのでしょうか ?
また、国設定が4つとなっております。fx-CG50 にはあった、繁体字フォントを削除していたりするのでしょうか ?

fx-CG50 で新しいファームウェアが提供されれば、casioplot に getkey() の追加、という事はありそうです。

さて、どうなるのでしょうか ? 以上、速報でした !



2025年4月9日水曜日

fx-CG50 ユーザーとして、気になる X のポストを見てしまった

 手元にある fx-CG50 の使い方、特に Python Extra のコードを書き出そうかと思っていながらネタづまりで、悶々とする日々。人様の X のネタを肴に、何か刺激に出来ないモンか、と。
そうしたら、幾つか気になるポストがあったので、槍玉、ではなく、少し考えるネタとして。

ref. たほもあ ( @tka32201 ) 様 X post
https://x.com/tka32201/status/1909256664831906297

関数電卓のFX-CG50は、FX-CG100がもうちょいしたら出るから買わないほうが良いよ

確かに、fx-CG100は新製品なので、判らないでもありません。
一方、心配な所もあります。

アメリカでfx-CG100販売開始、fx-CG50が終売となると、アメリカ版fx-CG50が安く買えなくなります。
目下のTrump関税が由来しているのか、今は円高でありますが、これも何時まで続くのか判りません。
日本では fx-CG100 の発売は発表されておりませんから、モウ暫くは fx-CG50-N が継続販売されるでしょう。
円安に転じるまでの若干のタイムラグではありますが、北米版 fx-CG50 を購入するには絶好の(そして最後の ?)機会なのかも知れず、という事を"吹聴"しておきますヨ。


ref. 堀江 伸一 ( @horiesiniti ) 様 X post
https://x.com/horiesiniti/status/1908348559843615064
casio fx-cg50
仕事を頑張った自分へのご褒美、ガジェット満載に惹かれて購入。
casio basicで動くゲームを21本製作しただけで満足してしまい、本来の購入目的である数学独学の補助にはならなかった。
canvas使えばブラウザゲームに移植できそうなのは何本かあるけどどうしよかな。
堀江 氏は、たびたび fx-CG50 BASIC でゲームを作成、公開されて来られたのですが、数学勉強の道具としては使い物にならなかったとの事です。
当方なんぞ、未だにグラフを描いたりなど、勉強の最中。堀江氏のやうな事を言える程度に勉強が進めばいいのでしょうが、オツムが冴えず、ダラダラとしている ... 。

最近は、Python Extra でコードを書こうと思いつつもネタがなく。一方、「調和級数の値」というものを調べていたら、fx-CG50 で XCAS を使うと、興味深い答えを提示してくれるのですね。
sum(1/(k^2), k, 1, inf)
を打ち込んでやると、1/6*pi^2 という、ビックリする答えが返ってくるのヨ、驚いちゃった。

fx-CG50 は、グラフ電卓+BASICで大変面白く、C.BASIC, python でプログラミングの幅も広がり、 XCAS で高度な計算も出来る、と、不勉強な当方には、当面手放せない機能が沢山利用できるのですネ。

北米版ならば、まだ、安価に入手できます。今の内ですヨ。


オマケ。Numworks のポスト。

ref. ~/Funada/ ( @sentoki ) 様 X post
https://x.com/sentoki/status/1902975814431543682
そういや昨日、電卓の日と聞いて、全然使ってないのに何をしても電源が入らなくなったNumWorksを分解したんです。そしたら案の定、のっぺりしたLiPo電池が出てきてヤル気を失ったのでした。捨てLiPoの缶へ放り込んで、蓋を閉じました。

当方、古い Numworks 電卓を知り合いから借りて使ってみたのですが、ドレイン落ちで再起動の時、再起動するのに手間取った憶えがあるので、触れておきます。Numworks 電卓の再起動手順は、つぎの様です。

1. USBケーブルで充電する。説明によると、1時間程度で充電終了。
2. USBケーブルをはずす。コレ、重要です。
3. 裏にあるリセット穴を爪楊枝などで突き、リセット・リブート

充電をしながらだと起動しないのは、ファームウェアが過充電を抑える様にしているから、なんじゃろうか ?
とは言え、上記の記述は、N0100 ( 初代 Numworks ) での話であります。最新版の機体でも同じかどうかは判りません。
これで起動しないとすれば、~/Funada/ 様 の様に LiPo電池を取り出してポイ、は仕方がないと思いますが、一応、出来ることならば、逸らずに再起動の手順を確認してもいいと思います。