温故知新 - CFX-9850G

プログラム電卓 温故知新
 - 搭載プログラミング言語に注目して、プログラム電卓の変遷を考える -

 
2019/08/14
追記修正 2019/08/15
追記修正 2018/08/18


特定のカシオ製プログラム電卓に搭載されたプログラミング言語にスポットライトを当てて、過去から現在に至る仕様の変化を調べる。


4. Casio Basic 登場 - 可読性と機能の向上 (1)


今回は、fx-7000P シリーズ登場後 CFX-9850G に至る搭載言語の変遷を取り扱う。

1996年に発売された CFX-9850G には、Basic コマンドが追加されている。特に CFX-9850G の最大の特徴は LocateGetkey コマンドが初めて搭載された点にある。

ところで Casio Basic という呼称は、カシオが公式に使っているものではないが、欧米のプログラム電卓愛好家のコミュニティでは以前から使われている。当ブログでは、当初管理人が CasioBasic と呼んでいたが、その後海外のコミュニティで同じ名称が使われているのを知った。

但しそれらの海外のコミュニティにおいて Casio Basic の明確な定義が見当たらない。当ブログでは以前から、Basic風のコマンドが追加された搭載言語を "Casio Basic" と呼んでいる。それには LocateGetkey コマンドが追加されたもの (CFX-9850G が初)も含む。
次に、下記の条件を備えたものを "新世代Casio Basic" と呼んでいる。
 - Locate と Getkey を含んだ Basic コマンドが追加されている
 - 行頭の改行がエラーにならない
 - Then と Else 直後の改行がエラーにならない
以上が、当ブログでの定義だ。

今回は、"新世代" 前夜の "Casio Basic" に焦点を当てる。


Basicコマンドの追加

ネットで得られる操作マニュアルを調べたところ、最初にBasicコマンドが追加されたのは、1995年フランスで発売された GRAPH 20 (fx-9610aG) であり、世界市場で最初に Basicコマンドが搭載されたのは、1996年発売の fx-7400G であった。
  GRAPH 20 (fx-9610aG) の User's Manual 
 ▶ fx-7400G の User's Manual - Programming編
これらでは、If 文、For 文、Do 文、While 文、Break、Return、Stop が追加されている。 


Locate, Getkey の追加

カシオのプログラム電卓で、初めて Locate コマンドと Getkey コマンドが追加されたのは、1996年発売の CFX-9850G であった。

それまでの搭載言語では、入力できるのはテンキーと[EXE]キーのみ、文字列や数値の出力は " " コマンドや  コマンドで行うが出力位置は指定できなかった。ところが、Getkey コマンドが追加されたことで、[AC]キー以外の全てのキーの入力を個別に検知できるようになり、Locate コマンドが追加されたことで、出力位置を自由に設定できるようになった。これにより、画面がスクロールしないプログラムを書けるようになり、プログラムの自由度が格段に向上した。極めて大きな進化といえる。

CFX-9850G は、LocateGetkey が初めて追加された機種だ。カシオのプログラム電卓の系譜で重要なマイルストーンだ。CFX-9850G の系統には下記がある。
- CFX-9850G / CFX-9850G Plus / CFX-9850GA Plus / CFX-9850GB Plus (1996 1998)
- CFX-9950G / CFX-9959GB Plus (1996 - 2003)
- CFX-9850GC Plus
(2004 - 2010、2005年国内発売)


CFX-9850G
が発売された頃は、fx-4500Pfx-4800P が販売されていた。
1996年4月発行のカシオ電卓総合カタログ - CFX-9850G (国内では 1996年3月発売), fx-4500P, fx-4800P


Casio CFX-9850G

CFX-9850G_22GBのメモリに、プログラム領域26KBが含まれる。

CFXシリーズは、3色カラー液晶搭載のグラフ関数電卓で、デフォルトがブルーで、オレンジとグリーンを追加した3色が使える。実際の画面は、輝度も色もコントラストが低い。液晶を見る角度でコントラストや色合いが大きく変化するのも見づらさの原因だ。明るいところでは問題ないが、少し暗くなると見づらいと感じる。この3色カラー液晶は応答性が悪い。

CFX9850G_Display 

プログラムの転送
PClink_9850G_2 PCリンク
3pin-USBケーブル (SB-88) と プログラムリンク ソフトウェア (FA-124) を使えばPCリンクや電卓の画面取得が可能になる。
3pin-USBケーブル (SB-88)
現在は製造中止品だが、takumako様により互換ケーブルが有償頒布されている。
プログラムリンク ソフトウェア (FA-124)
カシオのサイトから無償ダウンロードできる。

 電卓間転送
3pin-3pinケーブル (SB-62) を使えば、3pin端子のあるグラフ関数電卓とプログラムの転送ができる。
3pin-3pinケーブル (SB-62)
まだ販売されている。takumako様により互換ケーブルが有償頒布されている。

ところで、電卓本体右下にある3pinコネクタには、防塵防滴用と思われるゴム製の "栓" が刺さっている。ある程度使われた中古品だとこれが無くなっているケースが多いのではないかと思う。


搭載言語 (Casio Basic) の概要
Basicコマンドが追加されたことでプログラムの可読性と機能が向上し、さらに GetkeyLocate が追加されたことでプログラムの自由度が向上している。

主なコマンド
 - 入力:?→, Getkey
 - 出力:" ", , Locate
 - カラーコマンド:Orange, Green (" "とSketchコマンドにのみ有効)
 - 無条件ジャンプ:Goto / Lbl
 - 条件ジャンプ: (fx-4000P、7000G と同じ仕様)
 - カウントジャンプ:Isz, Dsz
 - 条件分岐:If / Then / Else / IfEnd
 - For ループ:For / To / Step / Next
 - Do ループ:Do / LpWhile
 - While ループ:While / WhileEnd
 - 制御コマンド:Break, Return, Stop
 - 比較演算: =,, >, <,,
 - 論理演算: And, Or, Not
 - 配列:無し
 - リスト:List (配列としても使える)
 - 行列:Mat (配列としても使える)、
但し初期化コマンド Dim は適用できない
 - 各種関数
GRAPH20fx-7400G 以降で追加されたBasicコマンドを青色で示す
CFX-9850G で追加されたコマンドを赤色で示す

但し、以下の要因により可読性が損なわれている。
 - Then / Else 直後の改行:Syn ERROR になる
 - 行頭での改行 (空白行):Sys ERROR になる

 主なグラフィックス コマンド
 - グラフ設定:CoordOn/CoordOff, GridOn/GridOff,
        AxesOn/AxesOff, LabelOn/LabelOff
 - 座標系設定:ViewWindow,
        Xmax/Xmin/Xscl/Xfct, Ymax/Ymin/Yscl/
Yfct
 - 消去コマンド:ClrGraph, Cls
 - Sketchコマンド:Plot, PlotOn/PlotOff, PlotChg, PxlOn, PxlOff, PxlTest
          Line, F-Line, Vertical, Horizontal, Circle

但し、Plot, PlotOn, PlotOff, PlotChg, PxlOn, PxlOff, PxlChg, Circle の詳細仕様は、後継の fx-9860G 以降とは異なる。CFX-9850G ではこれらのコマンドのパラメータに X, Y を使うと誤動作する。X, Y は内部動作のために予約されていると思われ、コード上予期せぬ値が X, Y に自動的に入力されてしまう。つまり、X, Y をパラメータに使ってはいけない。

後継機種である fx-9860G 以降 fx-CG50 までのグラフ関数電卓では、上記のコマンドで X, Y を使える。書くコマンド実行後に、それぞれのコマンドの詳細仕様に従った正しい値が自動的に入力されるので、それを理解して X, Y をパラメータとして使える。


プログラムの作成と実行
キーコード取得プログラム GETKEY を入力してみた。コマンドを入力するためのキー (キープレス) は、fx-9860Gシリーズや最新の fx-CGシリーズと全く同じだ。言語機能の基本仕様はこの機種の頃から固まっていることが分かる

ファイル名:GETKEY
Locate 1,1,"=== GET KEYCODE ==="
Locate 1,3,"KEYCODE ="
Locate 10,5,"HIT ANY KEY"
Locate 13,7,"[AC]:QUIT"
While Getkey
WhileEnd
Do
Do:Getkey→K
LpWhile K=0
Locate 9,3,"=   "
(スペース6個)
Locate 11,3,K
LpWhile


Getkeycode_1 Getkeycode_DEL  
[DEL]キーを押したところ、キーコード44が表示されている。
fx-9860Gシリーズや fx-CGシリーズと同様に、テキスト表示の範囲は21桁7行だ。

[AC]キーを押してプログラムを終了させると、画面下8行目に Break と表示される。
ここで、[EXE] を押すとプログラムが再起動し、もう一度 [AC] を押すとProgram List に戻らず RUNモードに切り替わる。
この仕様は、fx-9860Gシリーズや fx-CGシリーズとは異なる。完成したプログラムを繰り返し使うには便利な仕様だ。一方、プログラムを試してから修正する場合は面倒だ。RUNモードに戻った後、[MENU] を押して PRGMモードに移行して編集するプログラムを探す必要がある。

Program List には、プログラム名 (ファイル名) は入力した順序で並んでおり、アルファベット順になっていない。プログラムの数が多いと、編集あるいは実行したいプログラムを探す最善の方法は、サーチ(検索)機能だ。Program List 画面で [F6] (▷) - [F1] (SRC) と押せば Search For Program 画面が現れるので、そこで探しているプログラム名の頭のアルファベットを押せば良い。すると同じ頭文字で始まるプログラム名が全て表示される。この機能は必須だ。


プログラムの編集
プログラム編集画面は使いにくい。
パソコンで文章を書く時は、通常は挿入モードで利用しているはずで、上書きモードは必要な時のみ切り替えて使うと思う。fx-9860Gシリーズや fx-CGシリーズでも、プログラム編集画面は常に挿入モードになっていて、必要な時に [SHIFT]-[DELL](INS) と押して上書きモードに切り替えて使う。

ところが、CFX-9850G は、通常が上書きモードになっていて、必要な時に [SHIFT]-[DELL](INS) を押して挿入モードに切り替える。一旦挿入モードに切り替えると、カーソルのある行内で挿入モードが維持されるが、カーソルが別の行に移ると上書きモードに戻ってしまう。


fx-9860Gシリーズからのプログラムの移植
以前 fx-9860Gシリーズで作ったプログラムを CFX-9850G に転送した。fx-9860Gシリーズは"次世代Casio Basic"を搭載しており、CFX-9850G への移植にはコードへの若干の手直しが必要だ。多くの場合はなんとかなるが、移植不可能、あるいは極めて困難なケースもある。

モグラ叩きゲーム
Whack-a-Mole_1 Whack-a-Mole_2  
fx-9860GII
で作ったアクションゲーム - "Whack-a-Mole(もぐら叩き)" は移植できた。トップ画面のタイトルをオレンジにしてみた。CFX-9850G の処理速度に対応するために、WHACKAMO の冒頭にある変数A の初期化を 2→A と変更しただけで、ロジックは変えていない。実際に遊んでみると、液晶の応答性が悪さは、さほど気にならない。
 Whack-a-Mole のダウンロード

キーコード取得プログラム
fx-9860GIIで作ったキーコード取得プログラムを移植した後、CFX-9850G 用になるよう表示を一部変更した。
 Keycode_1 Keycode_MENU 
左:起動直後の画面、右:キーコード取得プログラム、[MENU] キーを押したところ。

CFX-9850G は、fx-9860Gシリーズや fx-CGシリーズと全く同じキーを備えており、キーコードも同一になっている。
 Keycode のダウンロード

ところで、上記2つの移植したプログラムでは小文字アルファベットが表示されている。CFX-9850G 本体では、プログラム編集画面で小文字アルファベットを入力する方法が無いが、小文字を使ったプログラムを転送すると小文字が表示される。システムには既に小文字フォントが準備されていることが分かる。

プログラムリンクソフトウェアFA-124でCATファイルを開くとコードを編集できる。そこで出力文字列を小文字アルファベットに変更できる。変更後のCATファイルを保存し、CFX-9850G に転送すれば、プログラムで小文字アルファベットを表示可能になる。 



処理速度の比較

四則演算および関数計算

加算プログラム
加算 

プログラムを起動し、N に 1000 を入力して実行時間を計る。

CFX-9850G のプログラム
fx7000G_source_adding_up_Isz2 AddTest_For 
繰り返しに Goto / Lbl を使うケース(左)と For を使うケース(右)の2通りで処理速度を調べる。


数値積分プログラム
関数 

この通史積分は、とね日記 - 席初の手帳型プログラム関数電卓 CASIO FX-502P (1979), FX602P (1981) で取り上げられているものをそのまま使わせていただく。

プログラム起動し、分割数として 1000 を入力して、時効時間を計る。

CFX-9850G のプログラム
FuncTest_Goto_9850 FuncTest_For_985 
クリア絵師に Goto / Lbl を使うケース(左)と For を使うケース(右)の2通りで処理速度を調べる。

以前調べた結果と併せて、上記の計算速度のを比較結果を示す [2019/07/31 修正]
加算プログラム数値積分プログラム
機種実行時間比較実行時間 (秒)比較
FX-502P123.1 秒---1261.8 秒---
FX-602P111.2 秒1.1 倍716.5 秒1.8 倍
FX-603P37.8 秒3.3 倍166.2 秒7.6 倍
fx-4000P61.7 秒2.0 倍349.1秒3.6 倍
fx-4500P195.0 秒0.6 倍798.1 秒1.6 倍
fx-4800PA=A+126.3 秒4.7 倍114.3 秒11.0 倍
Isz A21.2. 秒5.8 倍109.4 秒11.5 秒 
fx-7000GA=A+120.7 秒5.9 倍146.1 秒8.6 倍
Isz A19.3 秒6.4 倍143.2 秒8.8 倍
CFX-9850GGoto20.9 秒5.9 倍98.3 秒12.8  倍
For9.2 秒13.4 倍84.3 秒15.0 倍
記念すべき FX-502P を基準に、速度が何倍になっているかも併せて示している。

Basicコマンドとして追加された For 文は効率化、高速化している。Basicコマンドは可読性向上だけでは無いことが分かる。併せて関数処理も高速化していることが分かる。


グラフィックス描画
▶ ドット描画プログラム

fx-7000G のグラフィック画面が 95 x 63 ドットなので、それに合わせて CFX-9850G でも 95 x 63 ドットを塗りつぶして処理速度を比較する。

fx-7000G のプログラム
fx7000G_Dot DOT_fx7000G  

CFX-9850G のプログラム
Dot_Plot Dot_Pxl Dot_9850 
Plot を使うケース(左)と PxlOn を使うケースの2通りで処理速度を調べる。

PlotPxlOn
fx-7000G213 秒
CFX-9850G926.5 秒0.23 倍496.0 秒0.43 倍

fx-7000G では Rangeコマンドで指定した論理座標系に従って Plot コマンドでドットを描画する。CFX-9860G では ViewWindowコマンドで指定した論理座標系に従って Plot コマンドでドットを描画する。

For 文は効率化・高速化されていることは上の例で分かっているが、ドット塗りつぶしプログラムでは CFX-9850G がかなり処理が遅い。グラフィック画面へのデータ転送に時間がかかっており、それがボトルネックになっていると考えられる。
fx-7000G の液晶は 95 x 63 = 5085 ドット、CGX-9850G は 127 x 63 = 6001 ドット、その差 2016 ドット。1ドット出力するたびに転送しているなら、CFX-9850G のグラフィック画面への転送は fx-7000G よりもデータが多いから転送が重い理由となり得る。 

CFX-9850G には、PxlOn コマンドが追加されている。このコマンドは左上が原点 (1, 1) の物理座標系でのドット描画コマンドであり、Plot よりは約2倍高速だ。PlxOn は論理座標系のように座標計算が不要なので高速になっていると考えられる。


画面更新プログラム
上で、画面へのデータ転送が処理速度のボトルネックになることが分かったので、頻繁に画面更新するプログラムを実行して、その処理速度を調べて比較することにする。

ところで Getkey コマンドの追加によりテンキーと[EXE]キーだけでなく、[AC]を除く全てのキー入力が検知可能になり、Locate コマンドの追加により任意の位置への出力が可能になったので、プログラムの自由度が大きく向上し、画面がスクロールしないプログラムを書けるようになった。画面がスクロールしないプログラムでは、画面更新速度は重要な評価ポイントになる。

出力画面は、テキスト画面とグラフィックス画面 (グラフ画面) の2つがあり、これらは同時に表示できない。そこでテキスト画面の高速更新プログラムとグラフィックス画面の高速更新プログラムを作成して評価に利用することにする。

第一弾として CFX-9850G で調べる。

グラフィックス画面更新プログラム - モンテカルロ法にょる円周率計算
MonteCar_9859 
プログラムのダウンロード - Montecar.cat を電卓に転送する
プログラムの詳細はこちら
ランダムに500回点を打って出力するまでの時間を調べると、165.6 秒であった。

テキスト画面更新プログラム - ピタゴラス数の計算
Pytha_9850 
プログラムのダウンロード - Pytha.cat を電卓に転送する
プログラムの詳細はこちら
ピタゴラス数500個を計算して結果を出力するまでの時間を調べると、294.3 秒であった。


プログラム電卓の系譜

1978年発売の FX-502P に搭載されたプログラミング言語はキーストローク型で、表示レジスタやメモリに直接アクセスして演算を行うことで効率の高い処理が行え、プログラムのサイズも小さく抑えられる。一方でコードの可読性はアセンプラに似て決して良くない。シリーズ最終の FX-603P は1990年に発売され、CPUの高速化、メモリの増強、シリアル通信機能とPCリンク機能などハードウェアが充実しており、2006年の生産中止までの16年間製造が続いた。この間ポケットコンピュータが市場に登場し消えてゆき、プログラム関数電卓が生き残ったのは興味深い。

fx-3000Pシリーズやfx-4000Pシリーズでは、大きく異なる2系統の言語を搭載された機種が発売された。これらはいずれもコードの可読性が向上している。シンプルな計算マクロ言語を搭載した機種も発売された。シリーズ最終の fx-4850P は1997年に発売され、CPUの高速化、メモリ増強(26KB)などバードウェアが充実し 2006年まで生産が継続された。ハードウェアデザインやソフトウェアメニューが fx-5800P に引き継がれたが、一方で fx-4850P に搭載されていた言語は主流とはならず、1985年発売の fx-4000P の搭載言語の系統がその後のグラフ関数電卓の主流となり、fx-5800P にも搭載されたのが大変興味深い。

世界初のグラフ関数電卓 fx-7000G が1985年に発売された。fx-4000Pシリーズの初号機 fx-4000P も同年に発売されている。fx-7000G はグラフ機能以外は fx-4000P と同一の関数電卓としての機能とキーレイアウト、そして同一の搭載言語を有しているのは着目すべきだろう。fx-7000Gfx-4000P が同時開発された可能性が考えられるが、それが偶然なのか意図的なのかは大変興味がある。

いずれにせよ、グラフ関数電卓初代の fx-7000G の言語系統がそのままグラフ関数電卓で発展してきている。これはネットで確認できるマニュアルを調べると明らかだ。1995年フランスモデルとして発売されたグラフ関数電卓 GRAPH 20、そして1996年に世界で発売された fx-7400G で初めてBasicコマンドが追加された。追加されたのは 条件分岐 (If) とループ (For, Do, While) 関連のコマンドで、処理効率の向上が図られた。また明らかにコードの可読性も向上した。 Casio Basic の登場である。しかし残念なことに、入力がテンキーと[EXE}キーに限定されており、出力位置もプログラムで制御できないものであった。

1996年に発売された CFX-9850G では、[AC]キー以外の全てのキーの入力を検知できる Getkey コマンド、そして任意の位置に出力できる Locate コマンドが追加された。このたかだか2つのコマンドの追加により、プログラムの自由度が飛躍的に向上した。大きな進化と言える。現行の最新機種 fx-CG50 や1つ前の fx-9860GII で動作するプログラムの多くが、CFX-9850G で動作するのは、その進化の大きさを示している。

但し CFX-9850G は、行頭に改行があると Syn ERROR となり、空行が許されない。さらに If 文で使う ThenElse の直後が開業だと Syn ERRORになってしまう。この残念な仕様のためコードの可読性が損なわれている。
それだけではなく、行列の初期化コマンドが無いので変数を用いた行列の初期化ができない、現行最新機種に搭載されている便利な関数が不足しているなど、まだ発展途上と言える。

なお、ドット描画コマンド Plot と PxlOn / PxlOff の詳細仕様が現行の最新機種とは異なり、理解できない動作をする。これについては調査継続中だ。



温故知新 - FX-502P / FX-602P / FX-603P
温故知新 - fx-4000P / fx-4500P / fx-4800P
温故知新 - fx-7000G
温故知新 - CFX-9850G
温故知新 - CFX-9850GC PLUS

温故知新 - fx-9860G
温故知新 - fx-5800P
温故知新 - fx-CP400
温故知新:番外編 - 関数電卓としての使い勝手



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


 


keywords: プログラム関数電卓、プログラミング、Casio Basic、CFX-9850GC PLUS

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













関連記事

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

コメントの投稿

非公開コメント

Re: Re:Plot, PxlOn の謎

sentaro様、

管理人のやすです。

> >さて、カーソルを動かして(動かさなくても)、[EXE] を押せば、そこにドットが描画され、論理座標での位置が自動的に変数 X と Y に代入されるのが、9860G以降の仕様ですが、CFXシリーズでは異なっています。
>
> これは気がついてませんでした。(^^;
> CasioBasic仕様の詳細探索はやはり管理人様ならではですね。(^^)

ありがとうございます。fx-9860GII で徹底的に調べたので、気がつきました。

> ViewWindow値で変化する一定値というのがポイントのようですね。
>
> ViewWindow 1,127,0,1,63,0
> だと
> X=10
> Y=56
>
> ViewWindow 127,1,0,63,1,0
> だと
> X=118
> Y=8
>
> 座標は左上の一点(10,8)に固定されますね。(^^;

やはりこの結論になりますよね!


> これが仕様だとすると
> 変数としてのX,Yを使えなくしていることがいまいち意味不明なので、
> X,Yの値が更新されないのはやはりバグっぽい気もします。(^^;

バグを残して見切り発車したのではないかと想像されます。
とりあえずバグとして扱おうかと思います。


他の Sketchコマンドも調べてみようと思います。

Plot, PxlOn がこんな感じなので、Circle の詳細仕様も同様の問題がありそうです。

あと、F-Line の描画順序も怪しそうです(^_^;



> PXLの方もViewWindowで固定化されてしまいますね。(^^;

あ、これはまだ確認していませんでした。
ありがとうございます。


Re:Plot, PxlOn の謎

管理人様、こんにちは!

>さて、カーソルを動かして(動かさなくても)、[EXE] を押せば、そこにドットが描画され、論理座標での位置が自動的に変数 X と Y に代入されるのが、9860G以降の仕様ですが、CFXシリーズでは異なっています。

これは気がついてませんでした。(^^;
CasioBasic仕様の詳細探索はやはり管理人様ならではですね。(^^)


>ところが、X, と Y に代入される値が、現在のカーソル位置ではなくて、妙な値になっています。カーソル位置に限らず一定値になります。

内部的に保持していたX,Y座標値をX,Yに代入するつもりだったはずが実際には代入されていなかったというバグの可能性もありますね。


>ところが、ViewWindowの設定が変わると、一定値が異なる値になりますが、一定は一定なのです。

ViewWindow値で変化する一定値というのがポイントのようですね。

ViewWindow 1,127,0,1,63,0
だと
X=10
Y=56

ViewWindow 127,1,0,63,1,0
だと
X=118
Y=8

座標は左上の一点(10,8)に固定されますね。(^^;

これが仕様だとすると
変数としてのX,Yを使えなくしていることがいまいち意味不明なので、
X,Yの値が更新されないのはやはりバグっぽい気もします。(^^;


PXLの方もViewWindowで固定化されてしまいますね。(^^;

Plot, PxlOn の謎

sentaro様

管理人のやすです。

Plot X,Y は、◢で一旦停止すると、十字カーソルが現れ、カーソルを動かせます。ここまでは、CFXシリーズでも同じ動作をします。
さて、カーソルを動かして(動かさなくても)、[EXE] を押せば、そこにドットが描画され、論理座標での位置が自動的に変数 X と Y に代入されるのが、9860G以降の仕様ですが、CFXシリーズでは異なっています。

異なるのは良いのですが、例えば、Plot X,Y◢ の次に Plot X,Y を書けば、[EXE]キーでカーソル位置にドットが描画されるからOKです。

ところが、X, と Y に代入される値が、現在のカーソル位置ではなくて、妙な値になっています。カーソル位置に限らず一定値になります。

ところが、ViewWindowの設定が変わると、一定値が異なる値になりますが、一定は一定なのです。

従って、以下のコードは意図した動作をしません。

Filename:PLT
ClrGraph
CoordOn
GridOff
AxesOff
LabelOff
0→X:0→Y
While 1
Plot X,Y◢
Text 1,1,"X= "
Text 8,1,"Y= "
Text 1,10,X
Text 8,10,Y
WhileEnd

===================

PxlOn については、以前sentaro様が提供くださった以下の面白いプログラムが、意図した動作をしないことが分かりました。

Filename:PXL
0→X:0→Y
ClrGraph
ViewWindow 1,127,0,1,63,0
For 1→Y To 63
For 1→X To 10
Text 12,15,"X= "
Text 12,24,X
Text 18,15,"Y= "
Text 18,24,Y


これについても PxlOn で描画した位置が X と Y に自動的に代入される仕様が適用されていないことは分かりますが、詳細がまだよく分かっていません。


ここは、お知恵拝借致したく、よろしくお願い致します。

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

やす (Krtyski)

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


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

実際に触って気づいたこと、自作プログラム、電卓プログラミングについて書いています。

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


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR