科目B:アルゴリズム

基本情報技術者試験 科目 B アルゴリズム

科目 B のアルゴリズム分野は、全 20 問中 約 16 問(80%) を占める最重要分野です。IPA が定める擬似言語によるプログラム読解(トレース)が中心で、合否の決め手となります。本ページでは、擬似言語の基本構文、頻出アルゴリズム、対策のコツを整理します。

科目 B「アルゴリズム」とは

科目 B のうち約 80% を占める最大分野です。IPA が定義する擬似言語(特定のプログラミング言語に依存しない記述形式)でプログラムが提示され、その動作を読み解く問題が中心です。

出題比率

科目 B の約 80%。20 問中 16 問程度が出題されます。科目 B 全体の合否を左右する最重要分野です。

問題形式

擬似言語で書かれたプログラムを手動でトレースし、変数の値・出力結果・穴埋め部分を答える形式。論理的な読解力が試されます。

合否のカギ

擬似言語のトレースに慣れることが必須。プログラミング未経験者でも、毎日のトレース練習で読解力を鍛えられます。

擬似言語の基本構文

IPA が定義する擬似言語の主要構文です。試験では必ず触れるため、書き方と意味を確実に押さえます。

変数宣言と代入

「型名: 変数名 ← 値」の形で記述。型は整数型・実数型・論理型などが登場します。代入記号は「←」です。

配列

「型名: 配列名[1..n]」と宣言。IPA 擬似言語ではインデックスが 1 始まり である点に注意します。

条件分岐

「もし (条件) ならば 〜 でなければ 〜 を終わる」の形式。多分岐や入れ子の if 文もこの構文で表現されます。

前判定ループ

「を (条件) の間,繰り返す」の形式。while 文に相当し、条件を満たす間だけ処理が続きます。

後判定ループ

「を (条件) になるまで繰り返す」の形式。do-while 文に相当し、少なくとも 1 回は実行されます。

手続き呼び出し・戻り値

「戻り値 ← 手続き名(引数)」の形式。関数呼び出しに相当し、再帰呼び出しもこの構文で表現されます。

基本アルゴリズム

科目 B で頻出する基本アルゴリズムです。計算量(オーダー)と典型的な動作を押さえると、トレース問題が解きやすくなります。

線形探索

先頭から順に比較していく探索。計算量は O(n)。素朴で実装が単純なため、擬似言語の最初の練習に最適です。

二分探索

ソート済み配列を半分ずつ絞り込む探索。計算量は O(log n)。配列の中央要素との比較を繰り返します。

バブルソート

隣接要素を比較して交換するソート。計算量 O(n²)。素朴な仕組みで擬似言語のトレース問題に頻出です。

選択ソート

最小値を選んで先頭と交換していくソート。計算量 O(n²)。動作が直感的で、トレースの基礎練習にぴったりです。

挿入ソート

適切な位置に要素を挿入していくソート。計算量 O(n²)。既にソート済み配列に近い場合は高速に動作します。

クイックソート

分割統治による高速ソート。計算量 O(n log n)。再帰呼び出しを使うため、再帰の理解が前提です。

主なデータ構造

アルゴリズムと組み合わせて頻出するデータ構造です。それぞれの特徴と操作を押さえます。

配列

同じ型のデータを連続的に格納するデータ構造。最も頻繁に登場し、ソート・探索アルゴリズムの基本となります。

スタック

LIFO(後入先出)構造。push(追加)と pop(取り出し)の 2 操作で動作。関数呼び出しの仕組みでも使われます。

キュー

FIFO(先入先出)構造。enqueue(追加)と dequeue(取り出し)の 2 操作で動作。順番待ち処理で使われます。

木(ツリー)

階層的なデータ構造。二分探索木・ヒープなどの応用があります。再帰的処理と相性が良いデータ構造です。

出題傾向と対策

科目 B のアルゴリズム問題は、擬似言語で書かれたプログラムを読んで動作を追う問題が中心です。次の 4 パターンを押さえると効率的に対策できます。

トレース問題:プログラムを手動で実行し、変数の値の変化を追います。表を書きながらトレースする習慣をつけると、複雑な処理でも見通しが良くなります。
穴埋め問題:コードの不足部分を選択肢から選びます。プログラムの「目的」を読み取り、選択肢の動作と照合する練習を繰り返しましょう。
配列操作:アクセスパターンやインデックス計算が問われます。IPA 擬似言語ではインデックスが 1 始まり である点に特に注意。
再帰プログラム:呼び出しの流れと戻り値を追う問題が頻出。階乗計算・フィボナッチ数列など典型的な再帰パターンをトレースで体験しておきます。

効果的な学習方法

擬似言語の読解力を確実に伸ばすための学習ステップです。

  1. 1

    擬似言語仕様を熟読する

    IPA 公式サイトの擬似言語定義を確認します。試験では IPA の擬似言語仕様に厳密に従って出題されるため、独自解釈は避けます。

  2. 2

    トレース練習を毎日繰り返す

    過去問題のトレースを毎日 1〜2 題、紙とペンで実践します。変数の表を作りながら追うのが習慣化のコツです。

  3. 3

    ソート・探索を手で実行する

    小さな配列(5〜7 要素程度)で、バブルソート・選択ソート・二分探索の動作を実際にトレースします。動きが体に染み込むまで反復します。

  4. 4

    典型パターンを覚える

    ソート・待ち行列・差分計算など、繰り返し登場する典型パターンを覚えると初見の問題でも構造を素早く見抜けます。

次のステップへ

アルゴリズムの全体像を押さえたら、練習問題と模擬テストで擬似言語のトレースを反復しましょう。

タイトルとURLをコピーしました