メインコンテンツへスキップ
見出し画像

【基本情報 科目B③】擬似言語の過去問傾向分析|2023〜2026年の出題トピック一覧と対策

    はじめに

    「基本情報の科目B、どのアルゴリズムから勉強すればいい?」
    「配列・ループ・再帰・探索・ソート……覚えることが多すぎる」
    「過去問を解いているけれど、本当に重要なテーマが分からない」

    科目Bの勉強を始めると、こんな疑問を持つことがあるかもしれません。基本情報技術者試験(FE)の科目Bでは、アルゴリズムの名前やプログラムの書き方を暗記するだけでは、なかなか得点につながりません。

    重要なのは、プログラムがどのような手順で動くのかを理解し、初めて見る問題でも処理を正確に追えることです。とはいえ、試験範囲をすべて同じ時間をかけて勉強するのは効率的ではありません。

    そこで今回は、IPAが公開している2023〜2026年度の公開問題と、2022年の公式サンプル問題を分析し、出題テーマと学習の優先順位を整理しました。

    この記事でわかること

    • 2023〜2026年度の公開問題20問の出題テーマ

    • 配列・ループ・再帰・探索・ソートなどの年度別出題傾向

    • 2022年サンプル問題を含む計41問の分析結果

    • 出題傾向から考えた学習の優先順位

    • 科目Bを効率的に勉強するためのロードマップ



    1.2023年4月の試験改定で何が変わった?

    基本情報技術者試験は、2023年4月から新しい試験制度に移行しました。それ以前の「午前試験・午後試験」という構成が「科目A・科目B」に変更され、科目Bの出題形式も大きく変わっています。

    旧午後試験は150分で11問が出題され、そのうち5問を選択して解答する形式でした。一方、現在の科目Bは、100分で20問を解答する全問必須の試験です。

    科目Bはアルゴリズム・プログラミングが約8割

    科目Bでは、次の出題割合が想定されています。

    • アルゴリズムとプログラミング:約80%(16問相当)

    • 情報セキュリティ:約20%(4問相当)

    本記事で分析するのは、前者のアルゴリズム・プログラミング分野です。この分野では、IPAが定めた「擬似言語」を使って、プログラムの実行結果や処理の仕組みを読み解きます。特定のプログラミング言語を習得していなくても学習できる一方で、変数の変化、条件分岐、繰返し、関数の呼出しなどを正確に理解する必要があります。

    画像

    2.2023〜2026年度の公開問題20問を確認

    まずは、実際にどのような問題が公開されているのか確認しましょう。

    IPAは2023〜2026年度に、科目Bの問題を各年度6問ずつ公開しています。そのうち各年度の問1〜問5がアルゴリズム・プログラミング分野、問6が情報セキュリティ分野です。したがって、今回の年度別分析の中心となるのは、4年度×5問=20問です。

    画像

    2023年度|代表的なアルゴリズムとデータ構造

    • 問1:素数判定(ループ・フラグ・配列)

    • 問2:関数・手続の呼出し

    • 問3:クイックソート

    • 問4:ハッシュ表へのデータ格納

    • 問5:コサイン類似度の計算

    素数判定やクイックソート、ハッシュなど、プログラミングの代表的な処理が登場しました。基本的な繰返し処理だけでなく、再帰やソート、データ構造の理解も求められています。

    2024年度|配列・グラフ・データ分析

    • 問1:最大値の判定・条件分岐

    • 問2:2進数から10進数への変換

    • 問3:グラフの隣接行列

    • 問4:整列済み配列の併合

    • 問5:商品間の関連度計算

    基本的な条件分岐や進数変換に加え、グラフの隣接行列や配列の併合が出題されました。商品同士の関連度を計算する、データ分析を題材とした問題も確認できます。

    2025年度|繰返し・文字列・データ構造

    • 問1:4の倍数を数える処理

    • 問2:硬貨の組合せの数え上げ

    • 問3:スタックのpush・pop

    • 問4:文字列のパターン照合

    • 問5:統計の理論度数

    ループの終了条件や、スタックへのデータの追加・取出し、文字列の照合などが登場しています。処理の途中で変数や添字がどう変化するのか、正確に追跡する力が重要です。

    2026年度|配列操作・再帰・データ表現

    • 問1:配列の要素移動

    • 問2:2の補数・ビット演算

    • 問3:再帰処理と反復処理

    • 問4:単方向リスト

    • 問5:One-Hot表現

    配列の値を更新する順序や、再帰処理の仕組み、単方向リストの参照関係などが問われています。One-Hot表現のように、データ分析やAIで使われるデータ表現も題材となっています。

    この20問を見ても、科目Bでは特定のアルゴリズムだけを覚えるのではなく、幅広いプログラムを読み解く力が必要だと分かります。

    3.18テーマ別の出題マトリクス|過去4年間の傾向を分析

    ここからが今回の記事の中心です。年度別の問題を眺めるだけでは、どのテーマを優先して勉強すればよいのか判断しにくいかもしれません。そこで、今後の連載で扱う18テーマを基準に、各年度の出題内容を整理しました。

    分析対象は公式公開問題・サンプル問題の計41問

    2023〜2026年度のIPA公開問題24問と、2022年の公式サンプル問題26問を照合したところ、アルゴリズムとプログラミング分野の問題は計41問ありました。この41問の主な出題テーマを分類すると、今回の18記事で扱う内容にすべて対応づけることができます。

    テーマ別・年度別出題マトリクス

    画像

    傾向① 配列・ループ・変数更新は最優先で学習したい

    公開問題を比較すると、配列やループ、変数更新は、さまざまな問題の処理に使われています。

    例えば、2023年度の素数判定では、繰返し処理とフラグを組み合わせて判定します。2025年度の硬貨の組合せを数える問題では、繰返し条件や整数除算の理解が必要です。2026年度の配列の要素移動では、値を書き換える順序が重要になります。

    つまり、配列・ループ・変数更新は、それ自体が学習テーマであると同時に、他のアルゴリズムを理解するための土台でもあります。

    傾向② 代表的なアルゴリズム・データ構造も幅広く登場

    クイックソート、ハッシュ、スタック、単方向リスト、グラフなども出題されています。

    例えば、2023年度のクイックソートや2026年度の再帰処理では、関数が繰り返し呼び出される仕組みを理解する必要があります。2025年度のスタックではデータの取出し順序、2026年度の単方向リストでは要素間の参照関係が重要です。これらは毎年同じ形で出題されるわけではありませんが、科目Bの重要な学習テーマといえます。

    傾向③ 数理・データ分析・AI関連の題材が4年度で確認できる

    特に注目したいのが、各年度の公開問5です。

    2023年度はコサイン類似度、2024年度は商品間の関連度、2025年度は理論度数、2026年度はOne-Hot表現が題材となっています。いずれも数理・統計・データ分析・AIの周辺領域に関連する内容です。ただし、すべてがAIの仕組みそのものを問う問題というわけではありません。

    重要なのは専門用語の暗記よりも、問題文で説明された計算方法や処理の仕様を正しく読み取ることです。

    4.科目Bの問題に共通する3つの特徴

    公開問題を分析すると、テーマが違っても共通する特徴があります。

    特徴① 複数の知識を組み合わせる

    科目Bでは、一つのテーマだけで完結するとは限りません。例えば2023年度の素数判定の問題には、ループ、条件分岐、剰余、フラグ、配列などの要素が含まれています。それぞれを個別に理解していても、組み合わせたときの処理を説明できなければ、正解にたどり着けません。そのため、基本文法を理解した後は、複数の処理を組み合わせたプログラムを読む練習が必要です。

    特徴② トレースで変数の変化を追う

    トレースとは、プログラムの実行順序に沿って、変数や配列の値の変化を追跡することです。科目Bでは、処理結果を頭の中だけで考えようとすると、値の更新順序やループの終了条件を見落としがちです。例えば2026年度の配列の要素移動では、どの順番で値を書き換えるのかが重要になります。変数や配列の状態を表に書き出し、一つずつ確認する練習が効果的です。トレースの基本については、次の記事で詳しく解説しています。


    特徴③ アルゴリズムの目的を理解する

    プログラムを1行ずつ読むだけでなく、「何を実現するための処理なのか」を考えることも重要です。例えば2024年度の整列済み配列の併合は、二つの配列を比較しながら、整列順を保った新しい配列を作る処理です。目的が分かっていれば、比較条件や添字の更新が何のためにあるのか理解しやすくなります。

    「何をする処理なのか」と「どのように動くのか」の両方を考えることが、初見問題を解くための基本です。

    5.優先すべき学習テーマは?

    ここまでの出題傾向を踏まえると、学習するテーマには優先順位を付けることをおすすめします。ただし、公開問題に多く登場したテーマだけを学習するのは適切ではありません。ほかの問題を解くための前提知識としての重要性も考慮する必要があります。

    最優先:基本文法・トレース・配列・ループ

    まずは変数・代入・条件分岐・ループなどの基本文法と、プログラムの実行順序を追うトレースを身につけましょう。その後、配列の要素番号や値の更新、繰返し処理の実行回数を正確に読み取る練習へ進みます。これらは多くの問題に共通するため、最初に固めておきたい知識です。

    優先度高:関数・再帰・探索・ソート・データ構造

    基本的なプログラムを読めるようになったら、代表的なアルゴリズムやデータ構造へ進みます。特に再帰処理やリスト、スタックなどは、変数だけでなく、呼出し順序やデータの参照関係まで理解する必要があります。図を使って処理の流れを整理すると、理解しやすくなります。

    続いて学習:ビット演算・文字列・数理・デバッグ・計算量

    これらのテーマは、公開問題で毎年直接出題されているわけではありません。しかし、特定の処理を正確に読み解いたり、プログラムの不具合や効率を考えたりするために重要です。基礎と代表的なアルゴリズムを理解した後、学習範囲を広げていくことをおすすめします。

    出題実績は学習計画の参考にしつつ、基礎知識の理解を優先する。
    これが科目B対策で意識したいポイントです。

    画像

    6.2022年サンプル問題で学習範囲を補完する

    2023〜2026年度の公開問題20問だけでは、科目Bのすべての学習範囲を確認できません。そこで活用したいのが、2022年にIPAが公開した公式サンプル問題です。2022年には、4月に6問、12月に20問のサンプル問題が公開されています。この26問のうち、アルゴリズム・プログラミング分野は計21問です。

    画像

    公開問題だけでは確認しにくいテーマも登場

    例えば、2022年の20問セットでは、次のような内容が確認できます。

    優先度付きキュー(問8)
    データに設定された優先順位を踏まえて、取り出される順序を考える問題です。2025年度の公開問題に登場したスタックとは異なる、キューの仕組みを学ぶことができます。

    2分木の走査(問9)
    木構造をたどりながら処理を行う問題です。
    データ構造だけでなく、再帰処理の理解にもつながります。

    二分探索の不具合(問13)
    二分探索のプログラムに含まれる不具合を考える問題です。正常な処理だけでなく、変数の更新方法やループの終了条件に問題がないか確認する必要があります。

    ほかにも、単方向リスト、文字列処理、ビット演算などの関連問題が含まれています。このように、公開問題で実際の出題形式を確認し、サンプル問題で学習テーマの幅を広げることが効果的です。

    7.おすすめの学習ロードマップ|18記事で体系的に学ぶ

    今回分析した41問の主な出題テーマを、今後の連載18記事に対応づけたものが、次の図です。

    画像

    このマップでは、18記事を「基礎・読解」「基本制御」「配列・関数」「代表アルゴリズム」「データ構造」「応用・発展」に分類しています。

    例えば、ループ処理を学習する第4回では、2023〜2026年度の公開問題に加え、2022年サンプル問題にも関連する内容があります。また、連結リストを扱う第11回では、2026年度問4や2022年のサンプル問題が参考になります。

    各テーマに対応する問題を確認しながら学習を進めることで、単なる知識の暗記ではなく、実際の問題を解く力につなげられます。各記事は次のマガジンで順次公開していきます。

    8.まとめ|出題傾向を知ったら、基礎から順番に

    今回は、2023〜2026年度の公開問題20問を中心に、2022年サンプル問題も含めた計41問の出題テーマを整理しました。

    今回の分析から押さえたいポイントは、次の5つです。

    • 基本文法・トレース・配列・ループを最優先で学習する。 幅広い問題を読み解くための土台になります。

    • 再帰・探索・ソート・データ構造は段階的に学ぶ。 代表的なアルゴリズムの仕組みを理解することが重要です。

    • 数理・データ分析・AI関連の題材にも慣れておく。 専門用語の暗記よりも、仕様や計算方法を読み取る力が求められます。

    • 2022年サンプル問題も活用する。 公開問題だけでは確認しにくいテーマを補完できます。

    • 過去問を丸暗記するのではなく、トレースで理解する。 初見のプログラムでも正確に処理を追える力を身につけましょう。

    今回の41問の主な出題テーマは、本noteで予定している18記事のいずれかに対応づけることができます。出題傾向を学習計画の参考にしながら、基本から順番に理解を深めていきましょう。


    あわせて読みたい記事

    アルゴリズム・疑似言語の学習はまずこちらの記事からスタート

    アルゴリズム・疑似言語を体系的に学びたい人へ

    今後、「基本情報試験対策 [科目B(疑似言語/アルゴリズム)]」マガジンに以下解説18記事を投稿予定です。過去の出題実績と対応する形でテーマを選定しているため、全18記事のトピックを理解することで、基本情報試験での過去出題テーマを100%カバーできます。よろしければ、本記事および以下マガジンをフォローしてお待ちください。

    画像


    基本情報の学習計画を立てたい方へ

    科目A・科目Bをどのような順番で学習すればよいか、独学での進め方を解説しています。

    学習を進めた後、試験直前に復習したい方へ

    科目Bの解法パターンを整理したチートシートを紹介しています。基礎学習と問題演習を終えた後の総復習におすすめです。




    あなたへのおすすめ