
毎週金曜日、プログラミングのちょっとした講座を記しています。
ここでは、小学校から「プログラミング」が必須項目になってしまったため、お父さん・お母さん・おじいちゃん・おねえちゃんが子供に「プログラミング」教えることができるように、ここでこっそりと勉強してしまおうという企画です。
今週は配列その2です。
前回の講座で配列のインデックスは0から始まると言いましたが、プログラムを作成している時に、変数の規則性を持たせるためにお、インデックスを0からではなく、別の番号から指定したい場合があります。そのような場合はDim文で宣言することができます。
例えば、前回の生徒の名前の格納を配列にしたのを参考にして説明します。
この場合、インデックスは0から始まっています。しかし、実際の生徒番号は100番から始まっている場合、インデックスを100から指定した方が管理がしやすくなります。その場合、配列の変数の宣言を次のようにします。
と指定します。
これによってインデックスは100番から使用することができます。生徒番号をインデックスに指定した場合、下記となります。
この場合、インデックスを間違って99や1など範囲指定以外のインデックス番号を使用した場合はエラーになります。
次に配列に一度に値を格納する方法をご紹介します。配列に一度に値を格納する場合は「Array関数」を使用します。上記のプログラムは配列に1個づつ値を格納しています。これを一気に格納する場合、次のようになります。
Dim文で配列の大枠を指定(上記の場合、Seitoという変数)する場合、必ずVariant(バリアント)で指定します。「Variant」は以前の変数で説明したように「なんでも良い」といった変数ですが、この場合、Variantを指定する訳は、バリアント型の値を格納する配列ではなく、配列を値として持つ変数であるため、変数に「配列」がないため、バリアント型、つまりなんでも良いといった宣言になります。
一番最初のプログラムをArray関数で格納する場合、次のようになります。
配列の中身を取り出す場合は通常の配列方法と同じ、Seito(0) 、Seito(1) と指定して値を取り出します。ただし、配列のインデックスは必ず0から始まり、Arrayで値を代入した場合、インデックスの変更はできません。
以上今回は配列について前回の続きとなりました。それではまた来週
例えば、前回の生徒の名前の格納を配列にしたのを参考にして説明します。
Dim Seito(9) as stringSeito(0) = "山田太郎”Seito(1) = "佐藤花子”Seito(2) = "鈴木一郎”Seito(3) = "加藤まり子”Seito(4) = "田中健也”Seito(5) = "伊藤麗子”Seito(6) = "高橋和也”Seito(7) = "渡辺次郎”Seito(8) = "加藤幸次”Seito(9) = "中村雄太”
この場合、インデックスは0から始まっています。しかし、実際の生徒番号は100番から始まっている場合、インデックスを100から指定した方が管理がしやすくなります。その場合、配列の変数の宣言を次のようにします。
Dim Seito(100 to 109) as string
と指定します。
Dim 変数名(最小値 To 最大値) As データ型
これによってインデックスは100番から使用することができます。生徒番号をインデックスに指定した場合、下記となります。
Dim Seito(100 to 109) as stringSeito(100) = "山田太郎”Seito(101) = "佐藤花子”Seito(102) = "鈴木一郎”Seito(103) = "加藤まり子”Seito(104) = "田中健也”Seito(105) = "伊藤麗子”Seito(106) = "高橋和也”Seito(107) = "渡辺次郎”Seito(108) = "加藤幸次”Seito(109) = "中村雄太”
この場合、インデックスを間違って99や1など範囲指定以外のインデックス番号を使用した場合はエラーになります。
次に配列に一度に値を格納する方法をご紹介します。配列に一度に値を格納する場合は「Array関数」を使用します。上記のプログラムは配列に1個づつ値を格納しています。これを一気に格納する場合、次のようになります。
Dim 配列大枠 As Variant配列大枠 = Array(値0, 値1, 値2)
Dim文で配列の大枠を指定(上記の場合、Seitoという変数)する場合、必ずVariant(バリアント)で指定します。「Variant」は以前の変数で説明したように「なんでも良い」といった変数ですが、この場合、Variantを指定する訳は、バリアント型の値を格納する配列ではなく、配列を値として持つ変数であるため、変数に「配列」がないため、バリアント型、つまりなんでも良いといった宣言になります。
一番最初のプログラムをArray関数で格納する場合、次のようになります。
Dim Seito As VariantSeito = Array("山田太郎”,"佐藤花子”,"鈴木一郎”,"加藤まり子”,"田中健也”,"伊藤麗子”,"高橋和也”,"渡辺次郎”,"加藤幸次”,"中村雄太”)
配列の中身を取り出す場合は通常の配列方法と同じ、Seito(0) 、Seito(1) と指定して値を取り出します。ただし、配列のインデックスは必ず0から始まり、Arrayで値を代入した場合、インデックスの変更はできません。
以上今回は配列について前回の続きとなりました。それではまた来週
コメント