メインコンテンツへ

科目Bの歩き方 — 擬似言語は「3つの型」で読む

公開 2026年8月2日・約8分で読めます

科目Bで足が止まる人の多くは、アルゴリズムの才能ではなく 「擬似言語の読み方」でつまずいています。 擬似言語は外国語に似ていて、文法と読む順番の型さえ身につければ、 あとは練習量の問題です。この記事では科目Bの構造と、 擬似言語を読むための3つの型を例題つきで解説します。

科目Bの構造 — 敵を知る

科目Bは20問を100分で解きます。1問あたり5分。 出題の大半はアルゴリズムとプログラミングで、残りが情報セキュリティです。 つまり擬似言語のトレースができるかどうかが科目Bの合否をほぼ決めます。 逆に言えば、対策する対象は驚くほど絞られています。

覚える構文は5つだけ

擬似言語の構文は、本質的には次の5つしかありません。

  • 代入 — x ← 5 (xに5を入れる)
  • 条件分岐 — if / elseif / else (もし〜なら)
  • 繰り返し — for / while (〜の間くり返す)
  • 配列 — A[1], A[2], … (番号つきの箱の列)
  • 関数 — 引数を受け取り、値を返す処理のまとまり

プログラミング経験がなくても、この5つは日常の言葉に置き換えられます。 「←」は「入れる」、forは「番号を進めながらくり返す」。 構文で分からないものが出たら、まず日本語に訳してみてください。

型①: トレース表を書く

擬似言語読解の基本動作はトレース、 つまり変数の中身を1行ずつ追いかけることです。頭の中でやろうとせず、表に書きます。

○整数型: f(整数型: n)

 x ← 0

 for (i を 1 から n まで 1 ずつ増やす)

  x ← x + i

 endfor

 return x

f(4) を呼んだときの動きをトレース表にすると、こうなります。

開始時: x = 0

i = 1 のあと: x = 1

i = 2 のあと: x = 3

i = 3 のあと: x = 6

i = 4 のあと: x = 10 → return 10

この関数は「1からnまでの合計」を計算していました。 トレースを書き終えてから目的が見える — 最初はそれで構いません。 練習を重ねると、書く前に見えるようになります。

型②: 変数に役割の名前をつける

トレースに慣れたら、次は変数の役割を推測します。 擬似言語の変数名はxやiなど素っ気ないものが多いですが、 役割は数パターンに決まっています。

  • カウンタ — iやj。ループの回数や配列の位置を指す
  • 累積 — 合計や積を貯めていく変数。0や1で初期化される
  • 暫定チャンピオン — 最大値・最小値を保持する変数。比較して更新される
  • フラグ — 見つかったかどうかを覚える真偽値

「xは累積、iはカウンタ」と名前をつけた瞬間、コードは文章として読めはじめます。 初期化の値(0か1か、最初の要素か)は役割を見分ける大きなヒントです。

型③: 境界だけ丁寧に読む

設問の選択肢はループの境界を突いてきます。 「1から」なのか「0から」なのか、「n まで」なのか「n-1 まで」なのか、 「以上」なのか「より大きい」なのか。 全行を等しく丁寧に読む必要はありません。 初回の1周と最後の1周だけ実際にトレースする — これで境界ミスを誘う選択肢はほぼ排除できます。

もう1つの罠 — returnの位置

設問でもう1つ狙われるのがreturnの位置です。 同じ「配列から探す」処理でも、returnがループの中にあるか外にあるかで動きが変わります。

① forの中に if(A[i]が目的の値) return i → 見つけた瞬間に処理が終わる(早期終了)

② forの外で return 結果 → 配列を最後まで調べ終えてから返す

①は「最初に見つかった位置」を、②は「全体を調べた結果」を返します。 擬似言語を読み始めたら、まずreturnがどこにあるかを確認する — この癖だけで、動きの読み違いがぐっと減ります。

本番での時間戦略

1問5分のペースは、全問を最初から丁寧に解くには足りません。 セキュリティ問題(知識で即答しやすい)を先に確実に取り、 アルゴリズムはトレースが軽そうな問題から手をつける。 1問に8分かけて沼りそうなら、保留の印をつけて次へ。 詳しい時間配分は直前期と当日の戦略の記事で扱います。

頻出ミスまとめ

  • 頭の中だけでトレースする — 3行を超えたら書く。書く方が速くて正確です
  • 境界の読み飛ばし — 「1から」と「0から」、「まで」と「未満」は指でなぞって確認
  • 配列の添字は1始まりが基本 — 擬似言語の配列は多くの場合 A[1] が先頭です(問題文の宣言を必ず確認)
  • returnの位置の見落とし — ループの中のreturnか、外のreturnかで答えは変わります

擬似言語はアルゴリズムとプログラミングのカテゴリで 演習できます。この記事の3つの型を意識しながら5問解いてみてください。 トレース表が手癖になれば、科目Bは怖くありません。

読んだら、解いて確かめるのがいちばん定着します。

問題を解いてみる ほかの記事を読む