IT1-CODE-POCKET

情報Ⅰ 第3問の勉強法

共通テスト「情報Ⅰ」のプログラミング問題は、文法を丸暗記するよりも、変数の変化を正しく追う力が重要です。

最初に押さえるべき考え方

第3問では、配列、条件分岐、繰り返し、変数の更新が組み合わさって出題されます。長いプログラムに見えても、実際には「今どの値を見ているか」「条件を満たしたときに何が変わるか」「繰り返しが何回行われるか」を順番に確認すれば解ける問題が多くあります。

そのため、学習の最初から難しいアルゴリズム名を覚えようとするより、短いコードを1行ずつ読み、変数表を作る練習をするのがおすすめです。特に配列の添字が0から始まること、範囲の終わりを含むか含まないか、合計や個数を保存する変数がいつ更新されるかは頻出です。

おすすめの学習順

まずは、代入、四則演算、比較演算、if文、for文、配列の参照を確認します。ここで大切なのは、コードを書けるようになることだけではありません。共通テストでは、提示されたプログラムを読み、実行結果や空欄に入る式を選ぶ力が問われます。

次に、合計、最大値、最小値、個数のカウント、線形探索を練習します。これらは多くの応用問題の土台です。例えば「条件を満たす人数を数える」「最も大きい値を更新する」「目的の値を見つけたら位置を記録する」といった処理は、題材が変わっても考え方はほとんど同じです。

最後に、二重ループ、表形式データ、待ち行列、割り当て、シミュレーションに進みます。発展的な問題では、処理の意味を日本語で説明できるかが重要です。コードを見てすぐに答えを選ぶのではなく、「この変数は何を表しているか」を言葉にしてから選択肢を見ると、ミスを減らせます。

間違えた問題の復習方法

間違えた問題は、すぐに答えだけを覚えるより、どの行で読み違えたかを確認することが大切です。添字の開始位置を間違えたのか、条件式の向きを逆に読んだのか、繰り返し回数を1回多く数えたのかで、次に注意すべき点が変わります。

IT1-CODE-POCKETでは、間違えた問題を復習用に残せます。1回目は解説を見て理解し、時間を置いてからもう一度解くことで、位置や答えの記憶ではなく、処理を追う力として定着しやすくなります。

トレース表の書き方(実演)

「変数表を作る」と言われても、最初はどう書けばよいか分かりにくいものです。 次の短いプログラムで、実際の書き方を示します。

Nums = [3, 8, 5]
total = 0
count = 0

i を 0 から 2 まで 1 ずつ増やしながら繰り返す:
|total = total + Nums[i]
|もし Nums[i] > 4 ならば:
⎿⎿ count = count + 1

表示する(total, count)

紙には、出てくる変数を横に並べた表を書きます。あとは繰り返し1周ごとに1行ずつ埋めるだけです。

iNums[i]total4より大count
開始前00
033×0
18111
25162

答えは 16 と 2 です。これだけの表を書けば、読み違えようがありません。 慣れると頭の中でできるようになりますが、最初から暗算しようとすると必ずどこかでずれます。 テーマ別の詳しい練習はプログラムの読み方にまとめています。

学習の進め方の目安

受験までの残り時間に応じて、どこに時間を使うかの目安です。1日15〜30分でも、続ければ十分に間に合います。

段階 やること 到達の目安
第1段階 配列の添字、繰り返しの回数を確実にする 「基礎」を8割正解できる
第2段階 合計・個数・最大値・探索の型を覚える 「標準」を7割正解できる
第3段階 二重ループ、表、シミュレーションに慣れる 「発展」で時間内に解ける
仕上げ 間違えた問題を解き直し、傾向をつかむ 同じ種類のミスが減る

飛ばさないでください。第1段階が曖昧なまま発展問題に進むと、 「難しいから解けない」のではなく「添字がずれているから解けない」という状態になり、 原因が分からないまま時間だけが過ぎます。

本番での解き方

第3問は問題文が長く、読むだけで時間を使いがちです。次の順番で進めると、迷う時間を減らせます。

  1. 設問を先に見る … 何を答えるのか(実行結果か、回数か、空欄か)を確認する
  2. プログラムの変数を書き出す … 配列名と、集計用の変数を余白にメモする
  3. 表を作って追う … 選択肢は見ずに、自分で値を出す
  4. 最後に選択肢と照合する … 先に選択肢を見ると、それらしいものに引っ張られる

特に 4 が重要です。選択肢には、添字を1つずらした値や、繰り返しを1回多く数えた値が わざと並べられています。自分の答えを出してから照合すれば、この罠にかかりません。

また、途中で分からなくなったら行を戻さず、表を1行目から書き直すほうが早いことが多いです。 どこでずれたか探すより、確実な位置からやり直すほうが結果的に速く終わります。

関連する学習ページ