アレアレ

お役立ち情報、お悩み解決情報を発信!

実践編

変数をまとめて定義する「配列」の便利さが理解できる具体例

このサイトの プログラミング教育 のコーナーでは、これからプログラミングを学び始める子供を持つ親御さんに向けて、プログラミングについてわかりやすく解説しています。全くプログラミング経験のない方は、基礎編の記事から、基礎編を読んだ方は実践編の記事をご覧ください。

変数をまとめて定義する「配列」の便利さが理解できる具体例

前回の、プログラミングの変数になぜ「型」があるのかがわかる具体例の記事では、プログラミングの基礎知識となる変数について、「型という種類があり、その型を意識することが重要だよ」ということをお伝えしました。

今回は、変数について、もう一段階踏み込んだ応用的な知識として、変数の「配列」について、解説します。

配列を使うと、複数の変数を一度にまとめて定義することができます。ただ、プログラミングを学び始めたばかりで、一度も配列を使ったことがないと、その便利さが良くわかりません。そこで、今回は、その便利さがわかる具体例をJavaScriptのソースコードを使って示します。

5人の生徒のテストの点数の平均点を求めたい

例えば、自分が塾の講師をしていて、5人の生徒を受け持っているとします。その生徒達に対して、100点満点のテストを行い、次のような結果だったとしましょう。

生徒1の得点: 74点
生徒2の得点: 55点
生徒3の得点: 88点
生徒4の得点: 97点
生徒5の得点: 43点

そして、この5人のテスト結果の平均点を求めるJavaScriptのプログラムが次の通りです。

このプログラムの実行結果は、次の通りとなります。

平均点: 71.4

このプログラムの仕方の良くないところ

以上のプログラムの仕方は、とりあえず、「5人のテスト結果の平均点を計算する」という目的は果たしています。ただ、このプログラムの仕方には、あまり良くないところがあります。

それは、テストの点数を格納するために、point1〜point5の5つの変数を定義しているところです。何が良くないかというと、プログラムに柔軟性がない(変化に弱い)ところが、よくありません。

例えば、生徒の数が40人の場合だったらどうでしょうか。その場合、「…point38, point39, point40」と40個もの変数の定義が必要になります。これは、どう考えても面倒ですよね。

また、その後で平均点を計算するところも、40個の変数を全て足すように変更し、さらに5で割っているところを40に書き換える必要もあります。

配列を使うともっとスマートにプログラムを書ける

このような時に、変数の配列を使うと、もっとスマートにプログラムを書けます。次のプログラムが、実際に、配列を使って同じプログラムを書き換えたものです。

まず、この書き換えたプログラムでも、実行結果としては、「平均点: 71.4」と同じ結果が得られていることがわかるはずです。一方で、プログラムのソースコードは、配列を使うように変更され、柔軟性が増しています。

どのように柔軟になったかを解説しますと。この書き換えたプログラムの最初では、次のように、まず配列で生徒のテスト結果の得点を定義しています。

var points = [74,55,88,97,43];

このとき、生徒の数が、6人になり、そのテスト結果が、62点だったとしましょう。その場合は、次のように修正するだけで、このプログラムは、修正できます。

var points = [74,55,88,97,43, 62]; //←最後に62を追加するだけでOK

一方、同じ修正を、最初にご紹介した、変数を5つを使ったプログラムに行うことを考えてください。この場合、6つ目の変数の定義した上で、平均点の計算処理を修正する必要があります。

配列を使った場合は、合計を計算する処理を別途追加する必要はあります。ただ、そこさえちゃんと配列に入れるデータの数(=要素数と言います)を考慮して作れば、合計を出す処理も、平均を計算する処理も汎用的になります。結果、柔軟性のあるプログラムになるわけです。

Return Top