配列はロッカー、変数は引き出しで考えよう!
~配列の合計を求める処理をイメージで理解する~
プログラミングを始めたばかりの人が最初につまずきやすいのが、「配列」と「変数」の違いです。
私は授業で、
- 変数=引き出し
- 配列=ロッカー
というイメージで説明しています。
この考え方を覚えるだけで、配列を使ったプログラムが一気に理解しやすくなります。
今回の問題
A[1] ← 3
A[2] ← 5
A[3] ← 2
A[4] ← 6
合計 ← 0
for i を 1 から 4 まで 1ずつ増やす
合計 ← 合計 + A[i]
endfor
このプログラムは、
配列Aの中に入っている4つの数字を全部足す
という処理です。
イラストで考えてみよう

まずはロッカーを用意する
配列はロッカーです。

ロッカーには、
- 3
- 5
- 2
- 6
が入っています。
番号付きのロッカーだと思うと分かりやすいですね。
合計は引き出し
一方、

これは
「合計」という引き出しを作って、中に0を入れる
という意味です。
まだ何も足していないので0です。

1回目
iは1になります。
つまり
A[1]
を見ます。
ロッカー1番には
3
が入っています。
そこで
合計 = 0 + 3
になります。
引き出しの中身は
3
になりました。

2回目
今度は
i = 2
です。
見るのは
A[2]
ロッカー2番には
5
があります。
そこで
合計 = 3 + 5
になります。
引き出しは
8
になります。

3回目
今度は
A[3]
を取り出します。
値は
2
です。
合計 = 8 + 2
なので
10
になります。

4回目
最後は
A[4]
です。
値は
6
です。
合計 = 10 + 6
なので
16
になります。
ループが終わる
4回繰り返したので
for
は終了します。
最後に引き出しを見ると

となっています。
つまり答えは
16
です。
このプログラムがやっていること
人間が考えると
3+5+2+6
ですが、
コンピュータは一度に全部足しているわけではありません。
1個ずつ取り出して、
0 + 3
↓
3 + 5
↓
8 + 2
↓
10 + 6
というように、少しずつ引き出しの中身を書き換えているだけなのです。
初心者が覚えておきたいポイント
- 変数は「引き出し」(値を1つだけ入れられる)
- 配列は「ロッカー」(番号付きでたくさんの値を入れられる)
- for文はロッカーを順番に見て回る人
- 合計は引き出しの中で少しずつ更新される
この4つをイメージできるようになると、配列を使ったプログラムがぐっと理解しやすくなります。
まとめ
プログラムは難しい数式を一気に計算しているわけではありません。
「ロッカーから1つ取り出して、引き出しの数字を書き換える」
この単純な作業を何度も繰り返しているだけです。
まずは「変数=引き出し」「配列=ロッカー」というイメージを身につけることが、配列やfor文を理解するための第一歩です。









ディスカッション
コメント一覧
まだ、コメントがありません