第7講 配列の学習

第1話 配列とは?

皆さん、配列とは何でしょうか。
この講義は、初心者が対象ですから、皆さんはそんなこと聞かれても困ります。
何しろ、この講義ではじめて登場する言葉ですから。
ですが、実は皆さんはすでに実質配列を使っています。
しかも、使っている配列は2次元配列です。

お分かりでしょうか。正解は、Cells( i , j )です。
配列となはにかというと、それは添え字付き変数のことです。
そして、添え字の個数が次元を表します。
ですから、Cells( i , j )は、添え字が2つですから、2次元配列です。

学習が進むと、数独(ナンバープレイス)問題作成ソフトや魔方陣作成ソフト
(魔方陣については、詳しくは魔方陣を参照していただきたいと思いますが、
この講義では、魔方陣をしばしば題材として扱いますので、例を示しておきます。

16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1


これは4次魔方陣です。
つまり、すべての行、列、対角線の和が同じになるものです。
その和が、すべて34になっていることをご確認ください。
鏡像や回転しただけものなどを同一の答えとすると、
4次魔方陣は880の本質的に異なる解答をもつことを、
後にこの講義で作るソフトによって、証明します。
5次魔方陣については、275,305,224 個の解答があることが知られています。
6次以上については、残念ながらいくつあるかわかっていません。
私の予想では、6次の段階で京(兆の1万倍)の単位を遙かに超えていると思われます。
後に、すべての6次魔方陣を作成するソフトをこの講義で制作することになります。
そのソフトを最後まで稼働させれば、6次魔方陣の総数はわかります。
しかし、そのときは宇宙が終わっているでしょう。
そのソフトは、1秒に数百個の単位で6次魔方陣を作り出しますが、
その驚異的なスピードをもっていても、計算を終了させるためには宇宙時間という単位が必要なのです。)

を制作するときに、数万個から数十万個の変数を使います。
もし、添え字付き変数がなければ、
数十万個の変数を用意するなど不可能だったでしょう。
名前を考えるだけで大変です。
仮に全部付けられたとしても、それぞれの変数が何の変数だったのかわからなくなってしまうでしょう。
しかし、添え字付き変数である配列があるお陰で、何十万個という単位の変数を明瞭に使うことが出来るのです。

配列は、1次元なら次のように宣言します。
Dim 配列名(添え字の個数) As 変数の型

Dim a(1000) As Integer
これで、a(0)からa(1000)までの1001個の変数が宣言され、1001個の変数が使えるようになります。
添え字は0から始まりますので、0もカウントすることを忘れないでください。
もし、2次元配列なら
Dim 配列名(ひとつ目の添え字の個数、2つ目の添え字の個数) As 変数の型
です。ここでも例を挙げておきましょう。
Dim a(99,999) As Integer
これは、何個変数を用意したことになりますか。
答えは、(99+1)×(999+1)=10,000(個)です。
ここでも添え字の0のカウントを忘れないでください。

3次元配列なら
Dim 配列名(ひとつ目の添え字の個数、2つ目の添え字の個数、3つめの添え字の個数) As 変数の型

Dim a(99,999,99) As Byte
これは、Byte型の変数を何個用意していますか。
(99+1)×(999+1)×(99+1)=10,000,000(個)です。



第6講第7話へ 第2話へ

004


vc++講義へ
vb講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座へ
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座へ

数学研究室に戻る