IT1-CODE-POCKET

プログラムの読み方(トレースの練習)

共通テスト「情報Ⅰ」第3問で必要なのは、プログラムを書く力ではなく読む力です。 与えられたプログラムを上から1行ずつたどり、変数の値がどう変わるかを追いかける—— この作業をトレースといいます。ここでは、トレースの型を6つのテーマに分けて練習します。

WHY

なぜ「読む力」だけで差がつくのか

第3問は、知識問題ではありません。「配列とは何か」を知っていても、 Data[2] がどの値を指すかを毎回考え込んでいては、時間内に解き終わりません。 逆にいえば、覚える量は多くない代わりに、慣れが直接得点になる分野です。

つまずく人に共通するのは、プログラムを「全体の雰囲気」で読もうとしていることです。 「これは合計を求めるプログラムだな」と当たりをつけて選択肢を選ぶと、 添字が1つずれていたり、繰り返しが1回多かったりする引っかけに必ず当たります。 出題者は、まさにそこを狙って選択肢を作っています。

トレースの基本手順

どんな問題でも、やることは同じです。紙の余白に次の表を書くところから始めます。

  1. 変数の欄を作る — 出てくる変数を横に並べ、初期値を1行目に書く
  2. 1行ずつ実行する — 上から順に、値が変わったら次の行に書き足す
  3. 繰り返しは1周ごとに1行 — ループの中を1周したら、そのときの値を記録する
  4. 条件は声に出して確かめる — 「3 は 5 より小さい、だから成り立つ」と一つずつ判定する
面倒に見えますが、これが最短です。 慣れると頭の中でできるようになりますが、最初から暗算しようとすると必ずずれます。 まずは書く。書いた回数だけ速くなります。

間違いの9割はこの3つ

つまずき 具体例 対策
添字のずれ 「3番目」を Data[3] と読む(正しくは Data[2]) 添字は0から。必ず [0] から数え直す
回数のずれ 「0 から 3 まで」を3回と数える(正しくは4回) 両端を含めて数える。0,1,2,3 と書き出す
更新順の見落とし 合計に足す前に値を書き換えてしまう 書かれた行の順番どおりに実行する

以下の6テーマは、この3つのつまずきを場面ごとに潰していく構成にしています。 各ページに例題があるので、答えを見る前に自分でトレースしてみてください。

1

配列と添字の読み方

基礎

添字が0から始まること、Data[2] が何番目を指すか、要素の書き換えがどう反映されるか。すべての土台になるテーマで、ここがずれると後の問題もすべてずれます。

読み方と例題を見る
2

繰り返しの回数を数える

基礎

「0 から 3 まで」は何回か、「〜の間繰り返す」はいつ止まるか。実行回数を問う問題は毎年出ます。数え方の型を身につけます。

読み方と例題を見る
3

集計する(合計・平均・個数)

標準

total = total + Data[i] の形をした処理の読み方。条件をつけて数える、条件をつけて足す、平均を出すまでを一続きで理解します。

読み方と例題を見る
4

最大値を探す・値を探す

標準

最大値の更新条件、位置を覚える変数、見つけたら抜ける打ち切り。探索系の問題に共通する形をまとめます。

読み方と例題を見る
5

二重ループと2次元配列

発展

内側と外側のどちらが先に動くか、Table[i][j] の i と j がそれぞれ何を指すか。表形式のデータを扱う問題の読み方です。

読み方と例題を見る
6

シミュレーション型の問題

発展

待ち行列、担当者への割り当て、累積で定員を超える時点。長い問題文から必要な数字だけを取り出して表にする練習です。

読み方と例題を見る

あわせて使うページ