ホーム › 基本情報技術者 › 科目Bの変数トレース

基本情報の科目B:変数トレースを紙に書く理由と、疑似言語を1行ずつ追う方法

更新日:2026年9月29日|著者:若葉

疑似言語を「読めているつもり」なのに最後の値が合わないときは、暗算が足りないのではありません。命令の実行順と、その直後の値を分けて記録していないことが原因になりがちです。ここでは自作の短い例を使い、紙に残す意味から確認します。

科目Bは、値が変わる順番を追う問題

IPAの案内では、基本情報技術者試験は科目A 60問・90分、科目B 20問・100分です。科目Bにはアルゴリズムとプログラミングに関する問題が含まれます。試験の問題そのものを覚えるより、命令が実行された直後に何が変わったかを追う習慣を作る方が、初見の表記にも対応しやすくなります。

出典:IPA「基本情報技術者試験」(2026年9月29日確認)

なぜ紙に書くのか

1
代入は「今の値を置き換える」操作です。
同じ変数名が出ても、前の値と新しい値を頭の中で混ぜないために、実行後の値を残します。
2
繰返しでは、同じ行でも毎回の入力が違います。
何回目かを示す変数と、計算結果を示す変数を別の列にすると、どの周回でずれたか戻れます。
3
比較は値を変えず、条件を判定します。
「等しいか」を調べる行と、「値を代入する」行を区別して記録すると、条件式を計算式と取り違えにくくなります。

自作例を、1行ずつトレースする

次の例は学習用に作ったものです。実際の公開問題・教材例題ではありません。total は合計、i は何回目かを表します。

total ← 2
for i ← 1 to 3
  total ← total + i
endfor

紙には、少なくとも「実行した行」「i」「total」の3列を作ります。代入の行は、右辺を今の値で計算してから、左辺に書き戻す順番です。

実行した行itotal(実行後)見るポイント
開始前——まだ値はない
total ← 2—2初期値を置く
1回目:total ← total + i132 + 1 を計算して書き戻す
2回目:total ← total + i253 + 2 を計算して書き戻す
3回目:total ← total + i385 + 3 を計算して書き戻す
「2 + 1 + 2 + 3」を最初に暗算しない。 1周ずつ値を更新すると、問題が長くなっても同じ手順を繰り返せます。間違えたら、答えを見る前に最初にずれた行を探せます。

30秒チェック:最後の total は?

上の自作例を最後まで実行したとき、total の値はどれですか?

紙に書くときの3つの注意

配列は「変数名」だけで追わない

配列が出たら、どの添字の要素を読んだ・書き換えたのかも列にします。data[2] と data[3] は別の場所です。配列全体の値を一つの数字のように扱わないでください。

繰返しの終わる条件を先に丸で囲む

開始値、増分、終了条件を見落とすと、表の行数が最初からずれます。表を書き始める前に「何回繰り返すか」を確認し、途中で推測を足さないのが安全です。

試験の表記ルールは公式資料で確認する

疑似言語の表記や試験範囲は更新されることがあります。学習中は、IPAの公開問題とシラバスを一次情報として確認してください。教材は考え方の順序をつかむために使い、制度情報の確定には使いません。

出典:IPA「問題冊子・解答例(2026年度、令和8年度)」、IPA「試験要綱・シラバスについて」(いずれも2026年9月29日確認)

次にやること

公開問題または問題集を1問選び、答えを見る前に「行・繰返し変数・主な変数」の3列だけでトレースしてみましょう。間違えたときは、正解を写す代わりに、最初に値がずれた行へ印を付けます。

基本情報技術者の学習全体へ戻る →