Casio Basic: 配列変数

Casio Basic
コマンドリファレンス

Casio fx-5800P、fx-9860GII、fx-CG20 で確認をとっています。Casio fx-FD10 Pro では互換性はあると考えられますが、実機で確認していないので「可能性」としてご覧ください。
最終更新: 2017/01/03

fx-5800P
配列変数 Z[ ] 

◆ 概 要:
インデックス付き変数。多くの高級言語でいう 配列 と似ている。Z[ ] の [ ] 内に1以上の整数のインデックスを入れて使う。 インデックスに0(ゼロ)や負の整数を指定するとエラーとなる。fx-5800Pでは、通常の変数と同様に数値のみを代入可能 (文字列には対応していない)。

変数領域を確保してから使用する必要があり、変数の数を指定して領域確保する。メモリが許す限りの領域を確保できるが、配列変数を多く確保するとプログラム領域が減る。


◆ 領域確保 
50→DimZ

DimZ[SHIFT] [・] と入力する。
この例では、50個の配列変数を確保し、Z[1]、Z[2]、・・・ Z49]、Z[50] を使える 
※ 領域確保を行うと、各配列変数は0で初期化されます。


◆ 領域解放
0→DimZ

0個の領域確保をすれば、領域解放となる。


◆ インデックス
数値や変数を使える。1以上の整数を返す式も使える。配列変数をインデックスにすることもできる。


※ fx-9860GII や fx-CG20 の場合、搭載 Casio Basic には配列変数が無いので、配列変数の代わりに行列かリストを使う。リストよりも行列の方が処理が速いので、行列の使用を勧める。



プログラム事例

fx-5800P では、インデックス付き変数という配列変数の特性を活かした使い方があります。

参照テーブル(但し1次元)としての使い道が最もふさわしいと思われます。但し、配列変数を使う場合は、アクセス速度が非常に遅いことを十分に留意する必要があります。実行速度が必要な場合は配列変数の利用は最小限にすべきです。


キーコードに対応するテンキーの値を返す事例 [2015/04/30 修正]

87→DimZ
1→Z[35]:2→Z[36]
3→Z[37]:4→Z[21]
5→Z[22]:6→Z[23]
7→Z[31]:8→Z[32]
9→Z[33]:0→Z[25]


Do
Getkey→K
Locate 1,1,"  "
Locate 1,1,Z[K]
LpWhile K=0
0→DimZ

これを実行すると、押したテンキーの値が表示されます。「入力命令: ?」 以外の方法で、テンキー入力を得る一例です。
この方法の利点は、入力を自在に操れる点にあります。入力のエコーバックをさせたくない、入力のエコーバックを自由な位置に表示したい、テンキーを入力させ ONE、TWO、・・・と対応する内容を表示させる...など、自在な入力機能を実現可能です。



フィボナッチ数列の1項から50項までの総和を計算する事例

フィボナッチ数列は、
・1項と2項がそれぞれ1
・3項目以降は、「1つ前」と「2つ前」の項の和になる

1 1 2 3 5 8 13 21 34 55 ...と続く

100→DimZ
1→Z[1]:1→Z[2]
2→S
For 3→I To 60
Z[I-2]+Z[I-1]→Z[I]
S+Z[I]→S

Next
0→DimZ
S◢


これを実行すると、正解の 2147483646 と表示されます。




配列変数へのアクセス速度

配列変数へのアクセスは、通常変数に比べて大変遅いことがわかっています。

通常変数を使ったプログラム
0→A
1000→C
Lbl 0
A+C→A
Dsz C
Goto 0
A◢


これを実行すると、約15秒で結果A (500500) が表示されます。


配列変数を使ったプログラム
1→DimZ
1000→C
Lbl 0
Z[1]+C→Z[1]
Dsz C
Goto 0
Z[1]◢


これを実行すると、約50秒で結果 Z[1] (500500) が表示されます。

この実験結果では、配列変数への入出力は、通常変数に比べて3倍近く時間がかかります。従って配列変数へのアクセスが頻繁なプログラムは動作が非常に遅くなることに留意すべきです。





応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ


keywords: fx-5800PCasioBasic配列変数プログラミング入門プログラム関数電卓

リンク集 | ブログ内マップ
関連記事

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

コメントの投稿

非公開コメント

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

やす (Krtyski)

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


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

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

おもしろい・役に立つならクリックしてください。励みになります。
にほんブログ村 IT技術ブログ 開発言語へ
にほんブログ村


人気ブログランキングへ


FC2ブログランキングへ


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

RSSリンクの表示
最新トラックバック
ブロとも申請フォーム

この人とブロともになる

QRコード
QR