こんにちは!さんです。
高校で数学と情報を教えています!
「プログラミング準備室」では、共通テスト情報Ⅰで出題される、「プログラミング」について学べます。
今回は 「配列」について解説していきます!

次は何を学ぶの?

次は 「配列」 について学んでいくよ。

配列?また新しい言葉が出てきたね…。どういう意味?

簡単に言うと 「データをまとめて管理できる変数」 のことだよ!
配列とは?
配列とは、「複数のデータをひとまとめにして管理するための変数」です。
普通の変数では 1つのデータしか入れられません が、配列を使うと、複数のデータを扱うことができます。
変数が、データを入れる段ボールのイメージだとすれば、配列は、横一列に並んだ段ボール箱のイメージです。

例えば…
普通の変数だと
(1) fruit_1 = “りんご”
(2) fruit_2 = “みかん”
(3) fruit_3 = “バナナ”
このように、1つ1つ変数を作らなければいけません。
配列を使うと
(1) Fruit = [“りんご”, “みかん”, “バナナ”]
このように、1つの変数の中にまとめてデータを入れることができます。

おお!スッキリしてるね!

そうだね!配列を使うと「たくさんのデータをまとめて扱う」のが簡単になるんだよ。
配列の書き方
共通テスト用プログラム表記の例示では、次のように書かれています。

配列は次のように書きます。
(配列名) = [ 値1, 値2, 値3, …]

配列は変数と区別するために、先頭を大文字にするんだ。
例えば、5人の情報のテストの点数 を記録する配列を作ると、次のようになります。
(1) Tensu = [85, 92, 78, 64, 90]
そして、この配列は次のように表示されます。
(1) Tensu = [85, 92, 78, 64, 90]
(2) 表示する(Tensu)
[85,92,78,64,90]

1人だけの点数を表示するにはどうしたらいいの?

添字 という数字を使って、指定してあげるんだ。次で説明するね。
配列の要素を取り出す
配列の要素(配列の中に入っているデータ)を取り出すには、次のように書きます。
(配列名)[ 添字 ]
添字は、配列の要素を指定するための番号のことです。
例えば、配列に入れた2人目の点数を表示するには、次のように書きます。
(1) Tensu = [ 85, 92, 78, 64, 90]
(2) 表示する(Tensu[1])
92

え!? なんで Tensu[1] が 92 なの? 1番目って85じゃないの?

実は、添字は0から始まる んだ。
特に説明がない場合、配列の要素を指定する添字は、0から始まる。
配列の添字は
添字 | 0 | 1 | 2 | 3 | 4 |
要素(値) | 85 | 92 | 78 | 64 | 90 |
ですから、
- Tensu[0] → 85
- Tensu[1] → 92
- Tensu[2] → 78
- Tensu[3] → 64
- Tensu[4] → 90
となります。
添字は基本は 0 から始まりますが、問題によって指定されることがあるので注意しましょう。

なるほど!0から数えるのか…慣れるまで大変そう。

最初は戸惑うけど、すぐ慣れるよ!次は、配列を繰り返し文と組み合わせて使う方法を学ぼう!
配列 × 繰り返し文
配列の要素を1つずつ取り出すときは、繰り返し文 を使うと便利です。
例えば、配列の全ての点数を表示する プログラムを作ると、
(1) Tensu = [85, 92, 78, 64, 90]
(2) i を 0 から 4 まで 1 ずつ増やしながら繰り返す:
(3) L 表示する( Tensu[i] )
85
92
78
64
90
カウント変数 i が 0 から 4 まで変化するので、点数を1つずつ取り出すことができるようになります。

おお!1つずつ取り出せてる!

このように 繰り返し文を使うことで、配列のデータを順番に処理できる よ!
次は2次元配列について説明するね。
2次元配列とは?
配列は「横一列に並んだ段ボール箱」 のイメージでした。
それに対して、2次元配列は 「縦横に並んだ段ボール箱の棚」 みたいなイメージです。

普通の配列だと
(1) Fruit = [“りんご”, “みかん”, “バナナ”]
(2) Sweets = [“クッキー”, “ケーキ”, “マカロン”]
このように、1つ1つ配列を作らなければいけません。
2次元配列を使うと
(1) Food = [ [“りんご”, “みかん”, “バナナ”], [“クッキー”, “ケーキ”, “マカロン”] ]
このように、1つの2次元配列の中にまとめてデータを入れることができます。

2次元配列は、“表” のようにデータを整理するのに便利なんだ。
0列目 | 1列目 | 2列目 | |
0行目 | りんご | みかん | バナナ |
1行目 | キャンディー | ケーキ | マカロン |
2次元配列の書き方
2次元配列は次のように書きます。
(2次元配列名) = [ [ 値1_1, 値1_2, 値1_3, …], [ 値2_1, 値2_2, 値2_3, …], … ]
例えば、5人の情報と数学のテストの点数 を記録する配列を作ると、次のようになります。
(1) Tensu = [ [ 85, 92, 78, 64, 90], [91, 60, 76, 58, 96] ]
そして、この2次元配列は次のように表示されます。
(1) Tensu = [ [ 85, 92, 78, 64, 90], [91, 60, 76, 58, 96] ]
(2) 表示する(Tensu)
[[85,92,78,64,90],[91,60,76,58,96]]

2次元配列の場合は、どうやって1つだけの点数を表示するの?

2次元配列も 添字 を使って、指定してあげるんだ。次で説明するね。
配列の要素を取り出す
2次元配列の要素を取り出すには、次のように書きます。
(配列名)[ 行の添字, 列の添字 ]
2次元配列の添字は
添字 | 0 (1人目) | 1 (2人目) | 2 (3人目) | 3 (4人目) | 4 (5人目) |
0 (情報) | 85 | 92 | 78 | 64 | 90 |
1 (数学) | 91 | 60 | 76 | 58 | 96 |
行の添字 と 列の添字 の2種類の添字があります。
例えば、数学のテストの4人目の点数 を表示するには、次のように書きます。
(1) Tensu = [ [ 85, 92, 78, 64, 90], [91, 60, 76, 58, 96] ]
(2) 表示する(Tensu[1, 3])
58

添字は0から始まるのが基本 だったね!

その通り!よく覚えていたね!
要素を全て表すと、
- Tensu[0, 0] → 85
- Tensu[0, 1] → 92
- Tensu[0, 2] → 78
- Tensu[0, 3] → 64
- Tensu[0, 4] → 90
- Tensu[1, 0] → 91
- Tensu[1, 1] → 60
- Tensu[1, 2] → 76
- Tensu[1, 3] → 58
- Tensu[1, 4] → 96
となります。

データを “表” として扱えるのは便利そう!

そうだね。Excelみたいに整理ことができるんだ。
2次元配列 × 繰り返し文
配列の要素を1つずつ取り出すときは、繰り返し文 を使うと便利です。
行を管理する繰り返し文 と 列を管理する繰り返し文 の2つの繰り返し文を使います。
例えば、配列の全ての点数を表示する プログラムを作ると、
(1) Tensu = [ [ 85, 92, 78, 64, 90], [91, 60, 76, 58, 96] ]
(2) i を 0 から 1 まで 1 ずつ増やしながら繰り返す:
(3) I j を 0 から 4 まで 1 ずつ増やしながら繰り返す:
(4) L L 表示する( Tensu[i, j] )
85
92
78
64
90
91
60
76
58
96
行を管理する繰り返し文 の中に 列を管理する繰り返し文 が入っている 2重ループ になっています。
まず、行を管理する 変数 i が 0 のときに、列を管理する 変数 j が 0 ~ 4 までループし、
次に、行を管理する 変数 i が 1 になり、また、列を管理する 変数 j が 0 ~ 4 までループします。

2重ループ!?複雑だけど、変数 i と 変数 j を確認しながら1行ずつ考えてみるね…。

初めは、難しいけど、次の練習問題で、2次元配列と2重ループをマスターしよう!
練習問題
次のプログラムを実行したときに、表示されるものを答えなさい。
(1) Tensu = [ [ 85, 92, 78, 64, 90], [91, 60, 76, 58, 96] ]
(2) i を 0 から 1 まで 1 ずつ増やしながら繰り返す:
(3) I j を 0 から 4 まで 1 ずつ増やしながら繰り返す:
(4) I I もし j % 2 == 1ならば:
(5) L L L 表示する( Tensu[i, j] )

条件分岐文も加わってしまった…。

諦めないで!!1つずつ考えればできるよ!大丈夫!
92
64
60
58
まとめ
今回は、「配列」について解説しました。
- 配列とは、複数のデータをまとめて管理できる変数のことで、横一列に並んだ段ボール箱のようなイメージ。
- 2次元配列とは、縦横に並んだ段ボール箱のイメージで、Excelのようにデータを表で管理できる。
- 配列の要素は、添字によって指定され、基本的に 0 から始まる。
- 繰り返し文を使うことで、配列のデータを順に処理できる。
- 2次元配列の要素を順番に扱うには、2重の繰り返し文を使う。

条件分岐文、繰り返し文、配列、それぞれ使いこなせるようになりたいな。

その3つを使いこなるようになったら、共通テストで戦えるようになるよ!次回は「関数」について学んでいこう!
次に進む → 第9回 関数
コメント