tanaka's Programming Memo

プログラミングについてのメモ。

701 配列の使い方(ラベルを3つに増やす)

目指すことは、沢山のラベルがフォーム内を動き回って、それらをすべてマウス操作で消すことである。ここまでで、ラベルを1つ動かして、マウスを重ねると消えるプログラムを作成した。次は、複数のラベルを動かす方法を学びながら、配列と、最後のミソである繰り返し処理を学ぶ。

ここでマスターしたいこと

  • 配列の概念
  • 配列の使い方
  • 3つのラベルを動かす

配列とは

ラベルを10個動かしたい場合は、10個分のvxとvyが必要であるが、それらを個別に定義するのは大変である。そこで利用するのが配列である。

通常の変数のイメージ

1つの変数に、1つのデータを記録できる。
f:id:am1tanaka:20141130201015p:plain

配列のイメージ

1つの配列に、用意しただけのデータを記録できる。何番目のデータを読むかは、[]内の添え字(そえじ)で指定する。
f:id:am1tanaka:20141130201051p:plain

配列の使い方

int型の配列を3個定義して、利用する例は以下の通り。

定義方法

  • 変数と同様の書き方に[]を付けて定義する。
  • データを記録する領域をnew構文で生成する。
int [] a = new int[3];

以上で、a[0]~a[2]までの3個の配列が使えるようになる。a[3]は使えないので注意!

データの代入方法

  • 記録先を[]内に書く以外は、通常の変数と同じ。
a[0] = 0;
a[1] = 10;
a[2] = 20;

以上の例では、0番目に0、1番目に10、2番目に20を代入している。

データの利用方法

  • 参照先を[]内に書く以外は、通常の変数と同じ。
MessageBox.Show(""+a[0]);
MessageBox.Show(""+a[1]);
MessageBox.Show(""+a[2]);

演習

1つの宣言で複数のデータを扱うことができるようになった。これを利用して、ラベルを3つに増やしてみよう。

手順

  • ifで2つ以上の条件を判定するの演習で作成したプロジェクトを開く。
  • フォームに、Labelを2つ追加する(label3とlabel4)。
  • 変数vxとvyを定義するプログラム(⑤に追加したプログラム)を書き換えて、vxとvyが3つのデータを記録できる配列に変更する。
  • ここで起動して、エラーを発生させる。
  • エラー箇所のvxをvx[0]に、vyをvy[0]に置き換えて、エラーをなくす。
  • ここまでで、これまでと同じようにlabel2が動くようになる。
  • vx[0]とvy[0]に関連するプログラムをコピー&ペーストで3つに増やし、label3の制御にはvx[1]とvy[1]を、label4の制御にはvx[2]とvy[2]を利用するようにする。

まとめ

  • 配列を使うと、複数のデータを1回の定義で記録できるようになる。
  • 変数に[]を付けて、添え字で何番目のデータを操作するかを指定する。
  • 配列は定義した後に、newキーワードでデータの領域を生成する必要がある。


前へ | 目次 | 次へ