基本情報の科目B:変数トレースを紙に書く理由と、疑似言語を1行ずつ追う方法
疑似言語を「読めているつもり」なのに最後の値が合わないときは、暗算が足りないのではありません。命令の実行順と、その直後の値を分けて記録していないことが原因になりがちです。ここでは自作の短い例を使い、紙に残す意味から確認します。
科目Bは、値が変わる順番を追う問題
IPAの案内では、基本情報技術者試験は科目A 60問・90分、科目B 20問・100分です。科目Bにはアルゴリズムとプログラミングに関する問題が含まれます。試験の問題そのものを覚えるより、命令が実行された直後に何が変わったかを追う習慣を作る方が、初見の表記にも対応しやすくなります。
出典:IPA「基本情報技術者試験」(2026年9月29日確認)
なぜ紙に書くのか
同じ変数名が出ても、前の値と新しい値を頭の中で混ぜないために、実行後の値を残します。
何回目かを示す変数と、計算結果を示す変数を別の列にすると、どの周回でずれたか戻れます。
「等しいか」を調べる行と、「値を代入する」行を区別して記録すると、条件式を計算式と取り違えにくくなります。
自作例を、1行ずつトレースする
次の例は学習用に作ったものです。実際の公開問題・教材例題ではありません。total は合計、i は何回目かを表します。
total ← 2 for i ← 1 to 3 total ← total + i endfor
紙には、少なくとも「実行した行」「i」「total」の3列を作ります。代入の行は、右辺を今の値で計算してから、左辺に書き戻す順番です。
| 実行した行 | i | total(実行後) | 見るポイント |
|---|---|---|---|
| 開始前 | — | — | まだ値はない |
| total ← 2 | — | 2 | 初期値を置く |
| 1回目:total ← total + i | 1 | 3 | 2 + 1 を計算して書き戻す |
| 2回目:total ← total + i | 2 | 5 | 3 + 2 を計算して書き戻す |
| 3回目:total ← total + i | 3 | 8 | 5 + 3 を計算して書き戻す |
30秒チェック:最後の total は?
上の自作例を最後まで実行したとき、total の値はどれですか?
紙に書くときの3つの注意
配列は「変数名」だけで追わない
配列が出たら、どの添字の要素を読んだ・書き換えたのかも列にします。data[2] と data[3] は別の場所です。配列全体の値を一つの数字のように扱わないでください。
繰返しの終わる条件を先に丸で囲む
開始値、増分、終了条件を見落とすと、表の行数が最初からずれます。表を書き始める前に「何回繰り返すか」を確認し、途中で推測を足さないのが安全です。
試験の表記ルールは公式資料で確認する
疑似言語の表記や試験範囲は更新されることがあります。学習中は、IPAの公開問題とシラバスを一次情報として確認してください。教材は考え方の順序をつかむために使い、制度情報の確定には使いません。
出典:IPA「問題冊子・解答例(2026年度、令和8年度)」、IPA「試験要綱・シラバスについて」(いずれも2026年9月29日確認)
次にやること
公開問題または問題集を1問選び、答えを見る前に「行・繰返し変数・主な変数」の3列だけでトレースしてみましょう。間違えたときは、正解を写す代わりに、最初に値がずれた行へ印を付けます。
基本情報技術者の学習全体へ戻る →