基本情報技術者 科目B(アルゴリズム・プログラミング)攻略法|擬似言語トレース技法

2026-06-08基本情報技術者 科目B アルゴリズム

科目Bが合否を分ける理由

基本情報技術者試験において科目Bは最大の難関です。理由は明確です。「読んで理解する」知識問題ではなく、「コードを追って答えを導く」実践的な問題だからです。

CBT移行直後(2023年4月)の科目B合格率は64%でしたが、難易度調整が進み、令和8年(2026年)1月時点の科目B合格率は42%まで低下しています(科目A合格率61%)。全体合格率の低下は実質的に科目Bの難化が原因であり、科目Aで6割取れる人でも科目Bで足切りされて不合格になるケースが急増しています。

科目Aは暗記と理解で着実に得点を積み上げられますが、科目Bは練習量が直接スコアに影響します。独学でも合格できますが、アルゴリズム練習を後回しにすると直前期に間に合わないケースが多発しています。

参照: IPA 基本情報技術者試験 出題範囲・シラバス
参照: IPA 情報処理技術者試験 統計情報
参照: IPA 試験区分・スキルレベル

---

科目Bの出題構成

分類問題数割合
アルゴリズムとプログラミング16問80%
情報セキュリティ4問20%
合計20問100%

試験時間は100分。1問あたり約5分が上限の目安ですが、難しいアルゴリズム問題は10分以上かかることもあります。時間配分の戦略が重要です。

---

擬似言語の読み方:基礎から実践まで

擬似言語とは

IPAが試験用に規定したプログラム記述形式です。以下の構文要素を理解する必要があります。

変数・代入:

整数型: x ← 5

条件分岐:

もし (x > 3) ならば

処理A

そうでなければ

処理B

を実行する

繰り返し:

x を 1 から 10 まで 1 ずつ増やしながら

処理

を繰り返す

配列・関数: 添字アクセス(a[i])、関数呼び出し(call 関数名)も頻出です。

参照: IPA 擬似言語の仕様(試験公開情報)

ハンドトレース技法

アルゴリズム問題で最も重要なスキルがハンドトレースです。コードを1行ずつ実行しながら、変数の値の変化を手書きで表に記録していく方法です。

実践手順:

1. 変数表を作成:コード中に登場する変数を全て書き出し、列を作る

2. 初期値を記入:プログラムの最初の変数代入を記録

3. 1行ずつ実行:条件分岐では「どちらの分岐に入るか」を明示

4. 繰り返しをカウント:ループ変数の変化を丁寧に追う

5. 関数呼び出しを展開:再帰関数は特に注意してスタックを管理

最初は1問30〜40分かかっても構いません。練習を重ねると10分以内で解けるようになります。

FE科目B練習問題(全問AI解説付き)で今すぐ練習できます。

---

科目Bは「5つのパターン」に集約できる

科目Bのアルゴリズム16問は、出題範囲を分析すると以下の5パターンにほぼ集約されます。「量をこなす」より「パターンごとに解法テンプレを持つ」方が短期合格に有効という戦略を取ります。

#パターン出題数(目安)主な論点難易度
1線形探索・集計系4〜5問配列を端から走査し、合計/最大/出現回数を数える★☆☆
2二分探索・整列前提探索2〜3問ソート済み配列に対する lo / hi / mid の更新★★☆
3整列(ソート)系2〜3問バブル/選択/挿入ソート・パス毎の配列状態追跡★★☆
4データ構造操作系2〜3問スタック(LIFO)・キュー(FIFO)・連結リストの挿入/削除★★☆
5再帰・木構造系1〜2問階乗/フィボナッチ/木の深さ優先・幅優先探索★★★
※ 出題比率は受験回によって変動しますが、上記5パターンが範囲の大部分を占める構造は安定しています。

戦略: ★☆☆〜★★☆ の上位4パターン(合計12〜14問)を確実に取れば、難問の再帰・木構造(★★★)で1〜2問落としても合格ラインに到達できます。

---

各パターンの解法テンプレ

1. 線形探索・集計系(最頻出・4〜5問)

配列を最初から最後まで1要素ずつ走査するパターン。変数表に「i」と「集計値(合計・最大・カウントなど)」の2列を作って1行ずつ更新するだけで解けます。

典型トレース:

ステップia[i]合計
初期130
1巡133
2巡258
3巡3210

★1ループの中で何が条件で更新されるかを正確に追えば、必ず満点が狙えるパターンです。

2. 二分探索(2〜3問)

ソート済み配列を前提に、中央値と比較しながら探索範囲を半分に絞ります。

トレースのコツ: ループ変数(lo, hi, mid)の変化を縦に並べて書く。mid = (lo + hi) / 2 の整数部のみ取る挙動と、lo > hi で終了する境界条件に注意。

3. ソートアルゴリズム(バブル・選択・挿入)

配列を並び替えるアルゴリズムです。各パスごとの配列状態を1行ずつ縦に並べて書くと追いやすくなります。バブルソートは「隣接要素の比較・入れ替え」、選択ソートは「未ソート部の最小値を探す」、挿入ソートは「ソート済み部の正しい位置に差し込む」という基本動作を体で覚えてください。

4. スタック・キュー(データ構造操作系)

データ構造の問題です。スタック(LIFO・後入れ先出し)・キュー(FIFO・先入れ先出し)の push/pop・enqueue/dequeue 操作を追います。

トレースのコツ: スタックは縦に積み上げ、キューは横に並べる。状態を1操作ごとに図示すると視覚的に追える。

5. 再帰関数・木構造(最難関)

関数が自分自身を呼び出すパターンです。FEではフィボナッチ数列・階乗計算・木の深さ優先探索(DFS)が典型例です。

トレースのコツ: コールスタック(どの呼び出しがどのパラメータで実行中か)を縦に積み上げて書く。スタックが深くなるほど丁寧に管理する。本番では時間がかかりすぎる場合は後回しにする判断が重要です。

番外:文字列処理

文字列の検索・置換・分割処理。添字の動きを慎重に追うことが重要です。off-by-oneエラー(境界値の扱い)に注意してください。1〜5のパターンに含まれる場合と独立した1問として出る場合があります。

---

科目B対策:時間別ロードマップ

序盤(学習開始〜2ヶ月前)

まず擬似言語仕様書を熟読し、全構文を把握する。その後、簡単なアルゴリズム問題(線形探索・単純ソート)を1問15〜20分かけてトレース。答え合わせより「トレース過程が合っているか」を重視する。

中盤(2ヶ月前〜1ヶ月前)

1問10分を目標に速度を意識しながら練習。再帰・文字列処理を集中練習。セキュリティ4問は科目Aで覚えた知識を確認する程度で仕上げる。

直前期(1ヶ月前〜)

20問セットを100分で解く模擬試験を複数回実施。時間が余る問題・足りない問題を把握し、本番での取捨選択戦略を確立する。

FE過去問548問(本番形式演習)で模擬試験に挑戦できます。

---

よくある失敗パターンと対策

失敗1:科目Aに時間を使いすぎる

科目Aは仕上げやすいため時間を割きすぎる方が多いです。科目Bは練習時間の絶対量が必要なため、学習計画の50%以上を科目Bに割くことが推奨されます。

失敗2:読んで理解しようとする

コードは読んで理解するのではなく、「手を動かしてトレースする」ものです。頭の中だけで追おうとすると間違いが増えます。必ず紙に書いてトレースする習慣をつけてください。

失敗3:難問に時間をかけすぎる

本番の100分で20問は、難問に10分以上かけると時間が足りなくなります。「解けない問題は後回し」の判断を早めに下す練習も重要です。

---

セキュリティ問題の効率的な対策

4問のうち多くは以下のテーマから出題されます。

  • 認証・アクセス制御:パスワードポリシー、多要素認証
  • 暗号化:共通鍵・公開鍵の仕組み、ハッシュ関数
  • マルウェア・攻撃手法:SQLインジェクション、フィッシング、ランサムウェア
  • ネットワークセキュリティ:ファイアウォール、HTTPS、VPN

科目Aのセキュリティ域を学習した後で科目Bのセキュリティ問題を解くと、多くの問題が「知識の確認」レベルで解けることがわかります。

---

まとめ

科目Bのアルゴリズム・プログラミングは、基本情報技術者試験の最大の難関です。しかし「擬似言語の仕様を理解する」→「ハンドトレースを繰り返し練習する」→「時間配分を本番想定で練習する」という手順を踏めば、プログラミング未経験でも確実に合格ラインに到達できます。

練習量が直接スコアに反映される科目です。早めに始めて、毎日少しずつ練習することが合格への最短ルートです。

FE科目B演習問題で今すぐ練習を始める

---

関連記事

関連記事

基本情報技術者(FE) 科目A過去問問題集(全548問)テクノロジ系・マネジメント系・ストラテジ系を分野別に。各問に根拠解説(3レベルAI解説付き)・閲覧無料

実力を試してみませんか?

科目A過去問548問+3レベルAI解説(IPA公式準拠)。無料で実力チェック。