基本情報 科目Bが「わからない」人へ
「基本情報技術者試験の科目Bが、何度やってもわからない」「解説を読んでも解けるようにならない」——科目Bでつまずく受験者から最も多く聞く声です。ですが「わからない」と一口に言っても、どこで止まっているか は人によって違います。原因を取り違えたまま闇雲に問題を解いても、苦手は埋まりません。
本記事は「わからない」を 3 つのタイプに切り分け、自分がどこでつまずいているか を特定したうえで、最初の一歩を踏み出すための解き方手順を整理します。
本記事は 過去問AI が独自にまとめた学習ガイドです。試験要項の最新情報は必ず IPA 公式ページ で確認してください。
まず「わからない」を切り分ける
科目Bの「わからない」は、ほぼ次の 3 タイプのどれかに当てはまります。1 問解いてみて、自分が止まった場所を思い出してください。
- タイプA:擬似言語の文法そのものが読めない——「←」「を返す」「手続き」など、IPA 独自の記法で手が止まる
- タイプB:文法は読めるが、プログラムの動きを追えない——1 行ずつは分かるのに、変数が今いくつなのか見失う
- タイプC:動きは追えるが、時間内に解き終わらない——丁寧に追えば解けるが、本番の 1 問あたり約 5 分に間に合わない
同じ「わからない」でも、必要な対策は正反対です。タイプを取り違えると、文法でつまずいている人がひたすら時間短縮を練習する、といった的外れな努力になります。
タイプA:擬似言語の文法が読めない
最初の関門は、IPA 独自の擬似言語に慣れることです。プログラミング経験があっても、見慣れない記法に戸惑うのは当たり前です。ここでつまずいている人は、問題演習の前に記法の対応表を頭に入れる のが先決です。
- 「x ← 1」は「変数 x に 1 を代入」
- 「〜を返す」は関数の戻り値
- 「手続き/関数」は処理のまとまり(呼び出して使う)
- 配列の添字は 1 始まり が基本(0 始まりの言語経験者は要注意)
記法そのものの読み解き方は、基本情報科目B|擬似言語アルゴリズム読解の3ステップ訓練法 で 1 行ずつ丁寧に扱っています。タイプAの人はまずここから始めてください。
タイプB:動きが追えない(トレースできない)
文法は読めるのに「結局この変数は今いくつ?」で迷子になるなら、原因は 頭の中だけで追おうとしている ことです。人間の短期記憶では、3 重ループや配列操作を暗算で追いきれません。
解決策はシンプルで、トレース表を紙に書く ことです。変数の値の変化を 1 行ずつ書き出せば、動きが目に見えます。
| ステップ | i | max |
|---|---|---|
| 初期 | - | 3 |
| i=2 | 2 | 3 |
| i=3 | 3 | 4 |
| i=4 | 4 | 5 |
「書かなくても解ける」と思っている問題ほど、本番では書いたほうが速く正確です。苦手意識の作り方・崩し方まで含めた克服ステップは 基本情報のアルゴリズムが苦手な人の克服ステップ にまとめています。
タイプC:時間内に解き終わらない
正確に追えば解けるのに間に合わないなら、伸ばすべきは「速さ」です。ポイントは 2 つ。
- 頻出パターンを反射で見抜く:線形探索・二分探索・ソート・再帰など、出題されるアルゴリズムは限られています。「このコードを見たらこの動き」と即座に判断できれば、トレースの量自体が減ります。まず追い方を体に入れたいなら 合計・最大値・線形探索のトレース練習 と 二分探索のトレース練習、ソート(整列)のトレース練習、再帰のトレース練習 で、変数の値を表に書きながら 1 行ずつ追う流れを実演で確認できます。データ構造の スタックとキューのトレース練習 も同じ要領で、後入れ先出し(LIFO)と先入れ先出し(FIFO)の違いを操作表で追えます。数珠つなぎの 連結リスト(単方向リスト)のトレース練習 では、参照を 1 本ずつ付け替える操作を図と表で追えます。枝分かれする 木構造(二分木)のトレース練習 では、深さ優先・幅優先で全ノードをたどる 4 つの巡回順を実演します。
- 設問が問う箇所だけを追う:科目Bは選択式です。すべてのコードを精読せず、空欄や設問の周辺だけを集中して追う読み方に切り替えます。
パターンの体系的な習得と 4 週間の進め方は 基本情報技術者 科目B完全対策 で扱っています。タイプCの人は、ここで頻出パターンを「手で書ける」状態にするのが近道です。100分20問の時間配分の組み立て方や撤退の判断基準は 科目Bで時間が足りない人へ|時間配分と時間切れ対策 に切り出してあります。
どのタイプにも効く 5 ステップの解き方
タイプが分かったら、1 問を解くときの基本手順を固定します。
- 問題文の最初の数行を読み、何をするプログラムか掴む
- 設問と空欄の位置を確認する(どこを問われているか)
- 配列の添字が 0 始まりか 1 始まりか、ループの終了条件を確認する
- トレース表を書きながら、設問に関係する変数だけを追う
- 選択肢を 1 つずつ当てはめ、表と矛盾しないものを選ぶ
この手順を毎回同じ順番でなぞるだけで、「どこから手をつければいいか分からない」状態は解消します。
わからないところは AI コパイロットに聞く
独学で一番つらいのは「分からない箇所をその場で質問できない」ことです。過去問AI の AI コパイロットは、各問題ページでこう質問できます。
- 「このコードを 1 行ずつ日本語に翻訳して」(タイプA向け)
- 「この配列の動きをトレース表にして」(タイプB向け)
- 「このアルゴリズムの頻出パターン名と典型問題を教えて」(タイプC向け)
擬似言語を 自然言語に変換してから理解する 過程を AI が肩代わりしてくれるので、つまずいた瞬間に立ち止まらずに済みます。
まず 1 問、手を動かす
タイプ分けが終わったら、あとは実際に手を動かすだけです。基本情報技術者 アルゴリズム分野の過去問 を 1 問開き、上の 5 ステップとトレース表で解いてみましょう。詰まったらその場で AI コパイロットに聞けます。
5 分あれば 1 問解いて解説まで読めます。「わからない」を放置せず、その日のうちに 1 つ潰す。これが科目B 克服の最短ルートです。
まとめ
- 科目Bの「わからない」は文法・トレース・速度の 3 タイプに切り分けられる
- タイプA は記法の対応表、タイプB はトレース表、タイプC は頻出パターンと速読
- どのタイプも 5 ステップの解き方手順を固定すれば「何から手をつけるか」で迷わない
- 分からない箇所は AI コパイロットでその場で解消する
- まず 1 問、手を動かして毎日 1 つ潰す
よくある質問
Q. プログラミング未経験でも科目Bは解けますか? 解けます。重要なのはコードを書く力ではなく、決まった手順でコードを読む力です。未経験から合格する受験者は多数います。
Q. 解説を読んでも「わからない」が消えません。 解説の理解と、自力で解けることは別物です。解説を閉じてから同じ問題をもう一度、トレース表を書いて解き直してください。再現できて初めて身に付きます。
Q. どのタイプか自分で判断できません。 1 問解いて止まった場所で判断します。記法で止まればタイプA、変数の値を見失えばタイプB、解けるが遅ければタイプC です。複数当てはまる場合はA→B→Cの順に潰します。
Q. 毎日どれくらい時間を取れば良いですか? 1 日 1 問・5〜10 分でも継続が効きます。間隔を空けると感覚が戻るため、まとめ解きより毎日少しずつが定着します。