Casio Graph Math+ を使ってみる

## 届いた
[11/23に独 Amazon で購入した Graph Math+](https://qiita.com/harycurl/items/873ab6ad491dea0c8da1) が12/3に到着した。ECMS Express から日本郵便に引き渡されての国内配送だった。

同一デザインである2代目 ClassWiz と大きさを比較。グラフ電卓だけあって圧倒的に大きい。
![GraphMath_photo_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3943774/7d1d9c64-59fe-6e0e-a6d0-24b08e436793.jpeg)
なお、スペック上は fx-CG50 とほぼ同じ大きさである。


## どんな機種なのか
Planète Casio に詳細なレビューがあるので、フランス語を日本語に機械翻訳して読んでもらえば機種の特徴がわかると思う。おわり。

https://www.planet-casio.com/Fr/forums/topic17728-1-decouverte-graph-math-v100-de-rentree-2024-grace-a-son-manuel.html

…とするのも何なので、初期設定と Python に絞ってこの機種を概観しようと思う。

ちなみにフランス専売モデルのため、マニュアルすらフランス語版しか用意されていない。しんどい。
幸いマニュアルは PDF のほか、 HTML 版が用意されているので、機械翻訳が使える。

https://support.casio.com/global/fr/calc/manual/GRAPHMATH+_fr/

## 初期設定
立ち上げるといきなり言語設定が出る親切設計。日本語は無いが英語が選択できる。
![GraphMath_prep_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3943774/ebdaef6e-17e0-b416-4610-47390a989758.png)

その後、バックライトの明るさ、オートパワーオフやバックライトオフの時間、電池の種類を選んで初期設定は完了。下部で次の設定項目を見せているのでわかりやすい。
![GraphMath_prep_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3943774/2b9b0050-a9f2-b47a-0dba-25dbe11a50e1.png)

## Graph Math+ で MicroPythonを使う
Python については fx-CG50 と比較していく（fx-CG50 については実機を持っていないのでエミュレータで確認）。
メニューから Python を選ぶと、fx-CG50 と違っていきなり Python ソースの編集画面となる。ファイル名も仮に module.py と付けられている。
文字サイズは小さめになっており、横35文字、縦9.5行入る。
![GraphMath_python_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3943774/9f7b8ee8-c741-4a8e-dabb-a8cdeab9a763.png)

fx-CG50 と fx-9750GIIIはいずれも横21文字。縦は6～7行である。
![GraphMath_python_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3943774/aa2b7470-fc12-5010-763b-075f6791590c.png)![GraphMath_python_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3943774/62f58622-0069-b686-c90b-a5170129975c.png)

ちなみに Graph Math+ の計算モードでは fx-CG50 と同じく横21文字の大きめ文字になっている。 Python のソース入力に関して、 fx-CG50 は高解像度を活かせていない。
![GraphMath_python_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3943774/b985468e-442e-b2c5-4b52-4dea05c3327a.png)

Editor 画面の下部でわかる通り、 Shell との切り替えは左右タブキーで瞬時に切り替えられる。Editor にソースコードが入力されていれば、 Shell で即実行される。
Shell も Editor と同じく小さめのフォントで表示される。
![GraphMath_python_5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3943774/65772dca-cc89-1f6c-d501-49714e5e11e4.png)

ファイル操作等は Editor の TOOLS メニューから。
![GraphMath_python_6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3943774/a1822752-bd4c-1854-0939-e8c8ffc9a9e1.png)

使える関数・コマンドは Editor の CATALOG メニューから呼び出すことができる。
標準で備えているモジュールは、math, random, matplotlib, turtle, casioplot。
![GraphMath_python_7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3943774/971919bd-8754-a7ba-8a49-a03790d3beea.png)

## PC と データのやり取りをする
Graph Math+ の本体右上部に USB Type-C ポートが用意されている。通信のできる Type-C ケーブルをつなぐと、 USB Flash か OS Update かを選ぶポップアップが出るので、 USB Flash を選ぶと USB ドライブとして認識される（取り外しの画面を見ると、 CASIO MassStorage Drive という名前が付いている）。
![GraphMath_python_8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3943774/6317e65c-c628-8ebf-3c8d-096f40c2c658.png)


PC から Python のソースファイルを転送する場合、ルートに入れても、フォルダを作って入れてもよい。誤って `@MainMem` （メインメモリ）フォルダにソースファイルを入れてしまっても、切断時にエラーが出て SAVE-F フォルダに自動退避される。

注意事項を一つ。ソースファイルと同名のフォルダが同一階層にあった場合、スクリプトを実行できない。 Shell は実行時に `from ファイル名 import *` でスクリプトを実行するからと思われる。

画面キャプチャ（カメラマーク = SHIFT + x10<sup>■</sup>）したファイルは Capt フォルダに収められている。
キャプチャ形式は g4p と bmp の2種類。PCで開くには予め System Manager → Capture Format → Bitmap と設定してbmp形式にしておく必要がある。
Bitmap 形式だと最大20枚程度しかキャプチャできないため、こまめに PC へ転送する必要がある。