配列のメリット
配列は普通の変数と何が違うのでしょうか?単に同じ名前を付けることだけが便利なのでしょうか?
そうではありません。一番便利なのは、変数を番号=添え字で区別できることです。
たとえば以下のプログラムを見てください。
Dim kotae(3) kotae(1)="コーヒー" kotae(2)="紅茶" kotae(3)="ジュース" MsgBox kotae(2)
このプログラムでは配列kotaeにコーヒー、紅茶、ジュースを入れています。そしてkotae(2)を表示していますから「紅茶」と画面に表示されます。
では、このプログラムで表示している部分の 2 を変数にしたらどうでしょうか。
Dim kotae(3) kotae(1)="コーヒー" kotae(2)="紅茶" kotae(3)="ジュース" num = 2 MsgBox kotae(num)
最後に表示する部分のkotae(2)がkotae(num)に変わっています。そして、そのnumには2が入っているので、このプログラムも前と同じく「紅茶」と画面に表示されます。
では、numに値を入力するようにしたらどうでしょうか?
Dim kotae(3) kotae(1)="コーヒー" kotae(2)="紅茶" kotae(3)="ジュース" str = InputBox("1~3を入れてください") num = CInt(str) MsgBox kotae(num)
InputBoxを使ってnumの値をキーボードから入力するようにしています。
このときに 2 を入力したらやはり「紅茶」が出ます。そして1を入力したら「コーヒー」が、3を入力したら「ジュース」が出ます。
もし配列を使わずに同じようなプログラム(1ならコーヒー、2なら紅茶、3ならジュースと表示するプログラム)を作ろうとするならif文を使う必要が出てきます。そして1~3までならたいして複雑さの違いはありませんが、これが20個ともなれば違いが歴然としてきます。配列を使う方がはるかにすっきりとしたプログラムを作ることが出来るのです。
問題8-1
1ならコーヒー、2なら紅茶、3ならジュースと表示するプログラムを配列を使わずに作ってみよう。