模試の解説を読むと「なるほど」と納得するのに、本番で似たような問題に当たると同じように詰まる。よくある話だけど、それは才能の差じゃなくて、手の動かし方を知らないだけだったりする。

科目Bの疑似言語は、読んで理解する科目じゃなくて、書いて解く科目。頭の中だけで完結させようとするほど詰まりやすい。答案用紙の余白は、思っている以上に自由に使っていい。

1変数の値は必ず紙に書き出す

疑似言語の問題は、変数がループのたびにどう変化するかを問うものが大半。頭の中で「だいたいこう」と追うと、途中で値を取り違えたまま最後まで進んでしまう。変数名を横に並べた表を作り、1行進むごとに値を書き換えていく。遠回りに見えて、これが一番確実で速い。

周目isum
1周目11
2周目23
3周目36

実際の答案の余白は、こんなイメージのメモで埋めていく

2ループの「入る条件」と「抜ける条件」を先に確認する

forやwhileの処理を読む前に、まず条件式だけを確認する。何回繰り返すのか、どの値になったら終わるのかを先に押さえておくと、本文を読みながら「今何周目か」を見失わない。境界値(0回目・最後の1回)で処理が変わる問題は頻出なので、条件式は最初に確認する癖をつけたい。

3配列と添字はマス目を描いて考える

配列操作の問題は、頭の中だけで添字を追うとまず間違える。マス目を描いて要素番号を振り、操作のたびに値を書き込んでいくと、交換・挿入・削除のどれも機械的に処理できる。添字がi-1やi+1のようにずれる問題は、紙の上でずれを可視化すると勘違いが減る。

4関数の戻り値はその場でメモする

関数呼び出しをまたぐ問題は、呼び出し元に戻ってきたときに「あの値、いくつだったっけ」と忘れがち。関数を呼ぶたびに、戻り値をトレース表の余白に書き留めておく。特に再帰呼び出しの問題は、呼び出しの深さが増えるほど記憶に頼れなくなるので、書き残す習慣がそのまま得点に直結する。

5選択肢を先に見て「答えの形」から逆算する

多岐選択式の科目Bでは、選択肢の並びから答えの見当がつくことがある。数値なのか、真偽値なのか、配列の中身なのか。選択肢の形を先に確認しておくと、トレースの途中で「どこまで追えば答えが出るか」の見通しが立ち、無駄な計算を減らせる。

結局のところ、科目Bで差がつくのは知識量じゃなくて「途中式を残す癖」。本番でも遠慮なく余白を計算メモで埋めよう。

まとめ:今日から変えられること

  • 変数の値は毎回紙に書き出す
  • ループの入る条件・抜ける条件を先に確認する
  • 配列はマス目を描いて添字のずれを可視化する
  • 関数の戻り値はその場でメモする
  • 選択肢の形から逆算して無駄な計算を減らす

才能じゃなくて手順の問題。今日から答案用紙の余白を、計算メモ欄として使い倒そう。