【C#入門7】C#プログラミングで配列について理解しましょう!

第7回 C#入門 C#プログラミングで配列について理解しましょう!

 今回はデータをまとめる配列について説明したいと思います。今回もC#を使ってVisual Studioで説明致します。まず最初は配列を勉強する前に少し変数についておさらいしましょう。
 変数を使用したい場合は、最初に変数の型を宣言をしてそのあとに変数名を記載します。

int a;

これで変数 a を使用しますというものでした。例えば、ここで9科目のテストの平均値をプログラムで計算してみようとしてみた場合、今までの学んだ知識であればこのように書くと思われます。

int kokugo = 180;
int sugaku 1  = 100;
int sugaku 2  = 90 ;
int sugaku 3   = 80;
int eigo       = 180;
int kagaku   = 80;
int chiri        = 55;
int buturi     = 100  ;
int seize.keizai = 55   ;
int total = kokugo +  sugaku 1 ・・・・・+seize.keizai;
int average =(double)total/9;
Console.WriteLine(“平均値;{ 0 } ”,  average );

このようにそれぞれ国語、数学、英語のように変数名を書いて、合計値を計算をし、平均値を求めると思います。しかし今回は1人の学生だけでしたが、もし40人のクラス全員の平均値を求めなくてはならない場合はどうでしょうか。今までの知識だけでは、すごい多い行のプログラムになってしまい、見にくく間違いも入り込みやすくなっていると思います。では、見やすいプログラムにするにはどうしたらよいかと言いますと答えは配列を使用することです。

配列で上記を記載して見ますと、このように記載できます。

var test = new int [ ]{ 180, 100 , 90 , 80, 180 , 80 ,55 , 100 , 55 }
int total = test[0] + test[1] + test[2] + test[3] + test[4] + ・・・・・test[8];
int average =(double)total/9;
Console.WriteLine(“平均値;{ 0 } ”,  average );

配列とは、簡単に言いますと配列は同じ型の変数を集めたものです。そして集められた型には番号がついています。ここで順番に説明致します。この場合テストが配列名で、Int [ ] が  int 型の配列 を表している部分です。そしてこの中括弧の中の部分が、配列の要素と呼ばれるもので、

●●●視聴者にわかりやすくカーソル移動です。

この一つ一つがintの変数というイメージです。もし、double型にしたい場合であれば、int [ ] の場所にdauble [ ] のように書きます。一つ一つがdoubleの変数というイメージです。

var test = new double [ ]{ 180, 100 , 90 , 80, 180 , 80 ,55 , 100 , 55 }

で、次にここにnewと書いてありますが、おまじないのようなものでワトソン博士のプログラミング講座で後に説明致します。ここでは、このテスト配列を使用するので、配列を確保してくだいというような意味だと理解しておいてください。まとめますと var test = new int [ ]{ 180, 100 , 90 , 80, 180 , 80 ,55 , 100 , 55 } は9つの要素を持つ配列になります。そしてここで、配列において一番注意すべき点について説明致します。

配列の各要素を使用するには、配列名と何番目の要素なのかを指定します。ただこの何番目かですが配列の要素ではゼロから数えます、どういうことかといいますと、この180というのは、テスト配列のゼロ番目です。次の100はテスト配列の1番目です。このように要素はゼロから数えます。ちなみにこの要素をインデックスと呼びます。

ですので、この場合に

test[9]

テストの9番目を書くとエラーが出ます。要素は全部で9科目ですので、要素番号では0〜8までしかありません。そのためエラーが発生しています。例えば配列要素の5番目は左から数えてゼロ、イチ、ニ、サン、シー、ゴーの80のところに新たに分かりやすいように0を代入して見たいと思います。実際に書いて見ますと。

test[5]=0;

このように書いてライトラインで出力したいと思います。

Console.WriteLine(test[5])

実行してみますと。このように、要素の五番目のみ0と出力されました。配列の使い方はこのように変数と同じように書いて大丈夫です。また変数と同じく名前も自由に決めてOKです。はい、ここで配列の良い点をもう一つお伝えしますと。配列には、もとより。レングスという考え方が備わっています。どう言うかと言いますと例えば今回の科目が多くなり、いくつ科目があるか判断できない場合を考えて見ます。まずそれぞれの点数を配列に入れていきます。そしてここからが重要です。全科目での平均値を計算します。計算の仕方はどうするかと言いますと「1、2、3、4、5 一つずつ増やしてトータルを計算します」つまりfor文を使います。しかし、ここで問題があります科目数がわからない状態です。この時にレングスを使います。レングスとは配列の長さを指します。実際に試しに書いて見ましょう。このようにたくさん科目を入れて見ます

int test = new int [ ]{ 180, 100 , 90 , 80, 180 , 80 ,55 , 100 , 55,10, 180, 100 , 90 , 80, 180 , 80 ,55 , 100 , 55,10};
int total = 0;

for ( var i = 0 ; i < test.Length ; i ++ )
{
       total = total + test[ i ];
}
int average =(double)total/test.Length;
Console.WriteLine(“合計値;{ 0 } ”,  total );
Console.WriteLine(“平均値;{ 0 } ”,  average );

これで実行して見ますと

科目数がわからなくても合計値と平均値が求めることができました。これはfor文でレングス分処理を繰り替えしていたためです。あまりイメージがつかないかもしれませんが、何故レングスがあるかというのは配列やコレクションなどに入れるデータは、膨大な量のデータ数を入れます。例えばサーミスタという温度計と比較する際に参考にするデータをいれたりします。温度計といっても-100〜100度以上ありますよね、これだけでも200以上のデータを必要とします。精密なものになりますともっと多いデータになりますサーミスタの値を検知してその値を配列にある値と比較しより近い値をデータとして読み込みやっと温度が把握できます。そういった場合に配列のデータはある程度多いデータとなってしまいます。このような時に配列のデータ数を数える必要をなくしたものがレングスというものです。少し難しくなってしまいましたが覚えておくとよいと思います。

はい、今回は配列についてということで
テスト科目を例にして配列の仕組みから、実際に配列を用いて合計値、平均値を求めて見ました。また、補足としてレングスについても説明致しました。次回の講座ではforeach文についての内容となっています短い動画とはなっていますが便利な構文ですので是非ご覧ください。以上で、C#入門を終了と致します。ご静聴ありがとうございました。(๑╹ω╹๑ )

最近の記事

  • 関連記事
  • おすすめ記事
  • 特集記事

コメント

この記事へのコメントはありません。

CAPTCHA


PAGE TOP