基本情報技術者 科目B完全対策
基本情報技術者試験の科目Bは、多くの受験者がつまずく関門です。疑似言語を使ったアルゴリズム問題が中心で、「暗記だけでは解けない」という点が科目Aと根本的に異なります。
本記事は 過去問AI が独自にまとめた学習ガイドです。試験要項の最新情報は必ず IPA 公式ページ で確認してください。
科目Bの概要
基本情報技術者試験の科目Bは、アルゴリズムとプログラミング(疑似言語)を中心に20問が出題されます(90分)。合格基準は600点以上(1000点満点)。
科目Aとは異なり、「プログラムの動作を頭の中で追う力(トレース力)」が直接問われます。
科目Bが難しい3つの理由
理由1:疑似言語の読み方を知らない受験者が多い
IPA独自の疑似言語は一般的なプログラミング言語と文法が異なります。慣れないうちは「何をしているコードか」の読み取りに時間がかかります。
理由2:時間が足りなくなる
20問・90分は1問4.5分。長いプログラムのトレースに10分かかると詰みます。「速くトレースする訓練」が必須です。
理由3:ミスが連鎖する
変数の追跡を1箇所間違えると、後続の答えがすべてズレます。慎重に解きすぎると時間切れ、速く解きすぎるとミス—このバランスが難しい。
トレース力を鍛える3ステップ
ステップ1:変数追跡表を書く習慣をつける
プログラムを読みながら、変数の値の変化を表に書き出します。最初は遅くていい。正確さを先に身につけます。
変数追跡表の例: ループ i=1: a=5, b=3, result=0 ループ i=2: a=5, b=3, result=5 ループ i=3: a=5, b=3, result=10 ...
ステップ2:頻出パターンを体に覚えさせる
科目Bに頻出のアルゴリズムパターンは限られています。
頻出パターン一覧:
- 線形探索:配列を先頭から順に検索する
- 二分探索:ソート済み配列を半分に絞り込みながら検索
- バブルソート:隣同士を比較して交換し続ける
- 選択ソート:最小値を選んで先頭と交換
- 再帰呼び出し:関数が自分自身を呼ぶ(階乗・フィボナッチ等)
- スタック・キューの操作:LIFO/FIFOの動作追跡
- 2次元配列の操作:行列の和・積・転置
各パターンは「このコードを見たらこの動作」と反射できるまで繰り返し練習します。
ステップ3:速度を意識した演習
パターンが体に入ったら、過去問を時間制限つきで解きます。1問3〜4分が目標。AIコパイロットに「この問題をトレース表で解説して」と頼み、自分の解き方と比較します。
AIコパイロットの活用法
科目Bの学習でAIコパイロットが特に有効なのは次の場面です。
「このプログラムの動作を行番号別に追跡して」 変数追跡表をAIに作ってもらい、自分のトレース結果と照合します。
「再帰関数の展開をツリー形式で示して」 再帰の呼び出しスタックが視覚化され、理解が深まります。
「このアルゴリズムを別の実例(配列サイズ変更)で説明して」 数値を変えた別パターンで確認することで、パターンの本質が身につきます。
よくあるミスと対策
ミス1:配列の添字(インデックス)を1ずれで追う IPA疑似言語の配列は1始まりが多い。コードを読む最初に「添字が0始まりか1始まりか」を必ず確認します。
ミス2:ループの終了条件を間違える 「i < n」と「i ≤ n」の違いを見落とす。ループの最後の実行回数を手で確認します。
ミス3:再帰の基底条件を見落とす 再帰関数は「いつ終わるか」を最初に確認します。基底条件がない = 無限ループです。
学習スケジュール(科目B 4週間プラン)
| 週 | 内容 |
|---|---|
| 1週目 | 疑似言語の読み方・変数追跡表の習慣化 |
| 2週目 | 頻出パターン7種を1つずつ実例演習 |
| 3週目 | 過去問20問を時間制限なしで正確に解く |
| 4週目 | 時間制限つきで20問×3セット実施 |
まとめ
- 科目Bはトレース力が合否を決める
- 変数追跡表を書く習慣で正確さを先に習得
- 頻出7パターンを体に覚えさせる
- AIコパイロットで解法の確認・類題演習
- 最終週は時間制限つき演習で速度を鍛える