Casio Python - 入出力

Python Casio Python
 Casioグラフ関数電卓の Python を使ってみる
     - Casio Python の入出力:プログラムのデザイン 
目次


初版:2020/06/20
追記:2020/10/20
前の記事 - 2. Casio Python とは? |  次の記事 - 4. Casio Python への移植


3. Casio Python の入出力:プログラムのデザイン

Casio Python の標準入出力はシェル画面です。それに加えて、グラフィックス画面が出力先として使えます。


3.1 入力 - input() <fx-CG50, fx-9750GIII, fx-9860GIII OS3.40以降>

Casio Python で入力を行うのは、input() 関数のみです。
これだけ覚えておけば、入力処理が可能です。

input() 関数で取得できるのは数値と文字列のみです。input() 関数が実行されると、入力待ちとなり、キー入力を行った後[EXE]キーを押して入力確定となり、処理が次に進みます。

Note: Casio Python の制限
input() による数値や文字列の取得以外に、電卓にある多くキーが押されたことを取得するのは、今のところ Casio Python ではできません。プログラムが動作中にキー入力により処理を変更することはできないので、リアルタイムのキー入力を可能にする機能追加が大いに待たれます。


3.2 出力 - print() と グラフィックス出力関数
   <fx-CG50, fx-9750GIII, fx-9860GIII OS3.4以降>

Casio Python で可能な出力先は、シェルとグラフィックス画面(描画画面)です。
マニュアルでは描画画面と書かれていますが、ここではグラフィックス画面と言うことにします。

シェル画面への出力は、print() 関数のみです。

グラフィックス画面への出力は、あとで追加された casioplot モジュールで提供される set_pixel()draw_string()show_screen()、そして clear_screen() が使えます。clear_screen() は、OS3.40 では隠し関数でしたが、OS3.50 で公式になりました。詳しくはマニュアルを参照してください。Casio Python では、グラフィックス出力を優先的に考えているように思われます。

Note: シェル画面とグラフィックス画面の切り替え
画面にデータを出力するとき、先ずVRAMメモリに出力データを書き込み、次にそれを画面に転送します。

print() 
関数は、VRAMへの書き込みとシェル画面への転送をまとめて実行します。
グラフィックス関数 set_pixel()draw_srting() はVRAMへの書き込みだけを実行し、VRAMからグラフィックス画面へ転送するには、show_screen() を実行する必要があります。

グラフィックス出力関数を実行すれば、グラフィックス画面に切り替わります。シェル画面に切り替えるには print() (パラメータ無し) を実行します。これらの画面切り替えを行うための 電卓のハードウェアキー (Casio Basic[F6] キーのようなもの) は、割り当てられていません (OS3.40)。


3.3 Casio Python で作るプログラム <fx-CG50 OS3.40以降専用>

入力がシェル画面でしか行えない現状は、実用的なスクリプトを作る上で極めて大きな制約になります。そこで、最初にシェル画面でスクリプトを実行するに際して必要な入力実行させ、その後グラフィックス画面に切り替えて、テキストやグラフィックスの出力を行うのが、現行仕様の Casio Python では最善の方法だと思います。

この方針で、以前 Casio Basic で作ったモンテカルロ法による円周率計算のプログラムを、Casio Python に移植してみました。
オリジナルの Casio Basic プログラムについては、fx-9860GII モンテカルロ法 をご覧下さい。


Monte Carlo Method by Python ver 1.0: monteca1.py のダウンロード

入力と出力を切り替える方法で以下のように Casio Python に移植しました。

起動直後は、シェル画面でシミュレーション回数を指定するようにしました。デフォルトで500回です。ここで、10000 と入力して、[EXE]キーを押します。
monteca_first_screen monteca_10000_start 

すると、グラフィックス画面への出力に移行します。
monteca_500 monteca_3193 

500回、3193回と、点が増えてゆきます。

monteca_7639 monteca_10000 

実際の動作をみると、Casio Python の処理速度が高いことがよく分かります。





Casio Basic のコードを Casio Python に移植しながら、Casio Python について調べた結果を、次回はざっくりと紹介しようと思います。



目 次

前の記事 - 2. Casio Python とは?

次の記事 - 4. Casio Python への移植





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


 


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

リンク集 | ブログ内マップ

関連記事

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

コメントの投稿

非公開コメント

最新記事
検索フォーム
最新コメント
カテゴリ
C# (3)
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

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


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

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

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


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR