
「擬似言語が読めなくて手が止まる…」
「アルゴリズムって、どう対策すればいい?」
そんな疑問を持つ、応用情報技術者試験の午後対策を進めるあなたへ。
結論から言えば、
午後の「プログラミング(アルゴリズム)」は、暗記ではなく “コードを目で追う力(トレース力)” で得点が決まる分野
です。出題は擬似言語(IPA独自の書式)で書かれ、配点は安定している一方、しっかり読み解く時間が必要になります。
この記事では、この分野の特徴・典型テーマ・解き方のコツ・時間配分と練習法を、初心者向けにやさしくまとめて解説します。あなたが「何を、どう対策すればいいか」をひと目でつかめるように整えました。
1. プログラミング(アルゴリズム)分野の特徴

午後のプログラミング分野は、問2〜11の選択問題のひとつとして出題されます。特定のプログラミング言語(JavaやPythonなど)ではなく、IPAが定めた擬似言語という共通の書式で問題文が書かれるのが、いちばんの特徴です。だから「特定の言語を覚えていないと解けない」ということはありません。
この分野には、ほかの選択問題と比べて、はっきりした特徴が3つあります。
1. 擬似言語で出題される(言語の暗記は不要、読み解く力が要る)
2. 暗記より理解とトレース力が問われる(処理を1行ずつ追えるかが勝負)
3. 配点は安定しているが時間を使う(落ち着いて読めば取れるが、急ぐと崩れる)
つまり、知識を詰め込むタイプの分野ではありません。「書いてあるとおりに処理を追えるか」がそのまま得点に直結します。あなたが普段プログラミングに慣れていなくても、擬似言語の読み方とトレースのやり方さえ身につければ、十分に得点源にできる分野です。
擬似言語そのものの読み方に不安があるあなたは、まず基礎から確認しておくと、このあとの内容がぐっと理解しやすくなります。
2. よく出る典型テーマ

この分野で問われるテーマは、毎年バラバラに見えて、実は定番の型に収まっています。あなたが優先して押さえたいものを、一覧にまとめました。
| テーマ | 具体的な内容 |
|---|---|
| データ構造 | 配列・リスト(連結リスト)・スタック・キュー・木(二分木) |
| 整列アルゴリズム | バブルソート・選択ソート・挿入ソート・クイックソート・マージソート |
| 探索アルゴリズム | 線形探索・二分探索・木の探索(深さ優先・幅優先) |
| 再帰 | 自分自身を呼び出す処理(階乗・フィボナッチ・木の走査など) |
| 計算量 | 処理の速さの目安(O(n)、O(log n)、O(n²) など) |
| 擬似言語の読み取り | 条件分岐・繰り返し・配列操作の正確な追跡 |
とくにデータ構造は、ほかのすべてのテーマの土台になります。配列の添字(インデックス)の数え方、スタックの「後入れ先出し」、キューの「先入れ先出し」といった基本動作が頭に入っていないと、そのうえに乗るアルゴリズムも追えません。まずはここを固めるのが近道です。
データ構造の中身や、各アルゴリズムの動きをもっと丁寧に知りたいあなたは、次の解説もあわせて読んでみてください。
3. 解き方のコツ:トレース表を手で書く

この分野で最大の武器になるのがトレース表です。頭の中だけで処理を追おうとすると、変数の値がこんがらがって必ずどこかでミスが出ます。だから、変数の値を紙に書き出しながら追うのが鉄則です。
トレース表とは、たとえばこんなふうに、処理が進むたびに変数の値を1行ずつ書き足していく表のことです。
| ステップ | i | 合計 sum | 配列 a[i] |
|---|---|---|---|
| 開始時 | 1 | 0 | 5 |
| 1回目 | 2 | 5 | 3 |
| 2回目 | 3 | 8 | 7 |
| 3回目 | 4 | 15 | — |
こうして書き出すと、ループが何回まわるのか、最後に変数がどんな値になるのかが、目で見て確認できます。穴埋め問題でも「ここに入る式は?」を、表の動きから逆算して導けるようになります。
解くときに、あなたが意識したいポイントは次の3つです。
1. 境界条件を確認する(配列の最初と最後、添字が 0 始まりか 1 始まりか)
2. ループの終了条件に注目する(どの値になったら繰り返しが止まるか)
3. 変数の値を毎ステップ書き換える(途中で記憶に頼らず、必ず紙に残す)
設問の中心は、大きく2タイプです。ひとつは穴埋め(空欄に入る式や処理を選ぶ)、もうひとつはトレース結果(処理が終わったときの変数や配列の値を答える)。どちらも、結局はトレース表を正しく書ければ自然に答えが出てきます。つまり、トレースが書ければこの分野はほぼ攻略できる、と言ってもいいくらいです。
4. 時間配分と練習法

午後試験は150分で5問を解きます。単純に割ると1問あたり約30分。プログラミングはトレースに時間を使う分野なので、焦って雑に読むと一気に崩れます。最初の数分で問題文の処理の全体像をつかみ、そのあと落ち着いてトレースに入る——この順番を守るのが大切です。
本番で時間を味方につけるために、あなたが日頃からやっておきたい練習はシンプルです。
IPAの擬似言語は、繰り返し・条件分岐・配列操作の書き方が決まっています。まずは過去問を数問読んで、記号や書き方に「見慣れる」ことから始めます。
STEP 2: 小さなデータで必ずトレースする
解説を読む前に、要素3〜5個くらいの小さな配列で、自分の手でトレース表を書いてみます。手を動かすほど、処理の流れが体に入ります。
STEP 3: 時間を計って過去問を解く
慣れてきたら30分のタイマーをかけ、本番と同じ時間感覚で1問を通します。「読む→トレース→解答」のリズムを体で覚えるのが目的です。
練習で最も効くのは、過去問の擬似言語にとにかく慣れることです。最初は1問に1時間かかっても構いません。トレースを省略せず、毎回紙に書き出す習慣をつければ、読むスピードと正確さは確実に上がっていきます。スピードは「慣れ」の関数だと考えて、量をこなしていきましょう。
まとめ: トレースが書ければ、得点源になる

ここまでの内容を、あなたが思い出しやすい形でまとめます。
- 午後のプログラミングは擬似言語で出題され、暗記より理解とトレース力で得点が決まる
- 典型テーマはデータ構造・整列・探索・再帰・計算量。データ構造が土台
- 解き方の核はトレース表を手で書くこと。境界条件とループ終了条件に注目する
- 練習は「過去問の擬似言語に慣れる」が最優先。30分の時間感覚も身につける
「アルゴリズムは難しそう」と身構えてしまいがちですが、やることは紙の上で1行ずつ処理を追うだけ。特別な才能は要りません。手を動かした回数が、そのまま得点に変わる分野です。
1. 擬似言語の基本 を読んで、書式に目を慣らす(10分)
2. データ構造 で、配列・スタック・キューの動きを確認する(10分)
3. 要素3〜5個の小さな配列で、合計を求める処理を自分の手でトレースしてみる(10分)
あなたがトレース表を1枚書き上げるたびに、この分野は確実に得意になっていきます。焦らず、小さなデータから手を動かしていけば、プログラミングは午後の頼れる得点源になります。Stepio はあなたの学習を一緒に伴走していきます。