2026年5月12日
配列操作は5パターンで攻略できる
共通テスト情報Ⅰのプログラミング問題で、配列操作は最頻出テーマです。配列を使ったプログラムの穴埋めやトレースが出題されます。
5つのパターンを覚えれば、ほとんどの問題に対応できます。情報Ⅰの擬似コード読解と合わせて学習すると効果的です。
配列の基本:宣言は A ← { 5, 3, 8, 1, 7 }。添字(そえじ)が0と1のどちらから始まるかは問題によって定義されるので、解く前に問題文を必ず確認しましょう。この記事では添字を1から使う例(A[1] が最初の要素)で説明します。
パターン1: 合計を求める
A ← {4, 7, 2, 9, 3}
sum ← 0
i を 1 から 5 まで 1 ずつ増やしながら繰り返す
sum ← sum + A[i]
を実行する
表示する(sum) → 出力: 25 ポイント:sumを0で初期化し、ループで各要素を足していく。条件付き合計(偶数だけ等)なら条件分岐を追加。
パターン2: 最大値を求める
A ← {4, 7, 2, 9, 3}
max ← A[1]
i を 2 から 5 まで 1 ずつ増やしながら繰り返す
もし A[i] > max ならば
max ← A[i]
を実行する
を実行する
表示する(max) → 出力: 9 ポイント:maxを最初の要素で初期化し、2番目以降と比較して大きければ更新。最小値なら不等号を逆にするだけ。
パターン3: 線形探索
A ← {4, 7, 2, 9, 3}
target ← 9
found ← -1
i を 1 から 5 まで 1 ずつ増やしながら繰り返す
もし A[i] = target ならば
found ← i
繰り返しを抜ける
を実行する
を実行する
表示する(found) → 出力: 4 ポイント:先頭から順に探し、見つかったら位置を記録してループを抜ける。見つからなければfoundは-1のまま。
パターン4: 要素の交換(スワップ)
temp ← A[i] → A[i] ← A[j] → A[j] ← temp
ポイント:一時変数(temp)が必要。直接代入すると元の値が消える。ソートアルゴリズムで頻出。
パターン5: カウント
条件に合う要素の個数を数える。count ← 0 で初期化し、条件を満たすたびに count ← count + 1。
練習問題
問題1
次のプログラムの出力を答えよ。
A ← {3, 1, 4, 1, 5, 9}
sum ← 0
i を 1 から 6 まで 1 ずつ増やしながら繰り返す
もし A[i] > 3 ならば
sum ← sum + A[i]
を実行する
を実行する
表示する(sum) 解答:4+5+9 = 18(3より大きい要素の合計)
問題2
配列Aの最小値の位置を求めるプログラム。空欄[ア]に入る条件は?
解答:A[i] < A[min_pos](i番目が現在の最小値より小さいか判定)。答えはmin_pos=4。
問題3
A={ 1,2,3,4,5 } に対して先頭をtempに退避→各要素を左にずらす→末尾にtempを入れる。実行後のAは?
解答:A = { 2, 3, 4, 5, 1 }。先頭の要素を末尾に移動する「左回転」の処理。
テストでのコツ
- 配列問題はトレース表を書く(列: i, A[1], A[2], ..., 変数)
- 「何をするプログラムか」を先に把握する
- 空欄問題は選択肢を入れてトレースし、目的に合う結果になるか確認
DNCLの読み方攻略で読解テクニックを確認。アルゴリズム・ソートで配列を使ったソートも学べます。共通テスト対策スケジュールで全体の学習計画を。過去問の解き方で実践練習。
まとめ
- ✅ 配列操作は5パターン(合計、最大値、探索、交換、カウント)
- ✅ 配列の添字は0始まりか1始まりか問題文で確認する
- ✅ トレース表を必ず書く
- ✅ 「何をするプログラムか」を先に把握する