擬似言語ステッパー

基本情報技術者試験 科目B に近い書き方の擬似言語を、1行ずつ実行して変数の値がどう変わるかを目で追えます。科目Bで問われる「コードのトレース(机上実行)」を、自分の手で確かめながら練習できます。コードは自由に書き換え可能です。

サンプル:

コード(実行中の行を強調)

変数の状態

いま何をしているか

科目Bの「トレース」とは

基本情報技術者試験の科目Bでは、擬似言語で書かれたプログラムを読み、変数の値を1行ずつ追いかけて答えを導く問題が中心です。この「頭の中(または紙の上)でプログラムを実行する作業」をトレース(机上実行)と呼びます。慣れていないと、ループの中で変数がどう変わるかを見失いがちです。本ツールは、その変化を画面で見える化します。「進む」を押しながら、自分の予想と実際の値が合っているか確かめてください。

使い方

上のサンプルを選ぶか、コード欄に擬似言語を書いて「トレース開始」を押します。「進む/戻る」で1ステップずつ、「自動再生」で連続実行します。実行中の行が青く強調され、右側に各変数の現在値が表示されます。直前のステップで変化した変数は色が付きます。配列の添字は1から始まります(科目Bと同じ)。

この擬似言語で使える書き方

分類書き方の例
変数宣言整数型: x / 整数型: x ← 0
配列宣言整数型の配列: a ← {3, 1, 4}
代入x ← 5 / a[i] ← x + 1
条件分岐if (x ≧ 10) … elseif (…) … else … endif
繰り返し(前判定)while (i ≦ n) … endwhile
繰り返し(回数)for (i を 1 から n まで 1 ずつ 増やす) … endfor
戻り値return x
演算子+ - × ÷ %(剰余), = ≠ < > ≦ ≧, and / or / not
組み込み関数要素数(a) … 配列の要素数を返す

※ 全角・半角どちらの記号でも入力できます(× は *、÷ は / としても可)。// で始まる行と で始まる行はコメントとして無視されます。

トレースで間違えやすいポイント

ループの終了条件 を取り違えると、ループ回数が1回ずれます(オフバイワンエラー)。
配列の添字 — 科目Bの擬似言語は添字が1始まりdata[0] ではなく data[1] が先頭です。
更新の順序result ← result × i のように、右辺を計算してから左辺に代入します。代入のたびに値が上書きされる様子を本ツールで確認してください。

関連する可視化

アルゴリズムの「動き」そのものは、ソートアルゴリズム可視化探索アルゴリズム可視化でアニメーションとして見られます。本ツールで擬似言語コードのトレースと合わせて学ぶと、科目Bの読解が一段と速くなります。

よくある質問

Q. 自分で書いたコードがエラーになります。
A. エラーメッセージに行番号が出ます。よくある原因は、endif / endfor / endwhile の書き忘れ、全角コロン以外の記号の混入、配列の範囲外アクセス(添字が要素数を超えている)です。まずサンプルを少しずつ書き換えて試すのがおすすめです。

Q. 本物の試験と書き方は同じ?
A. 試験の正式な記述形式に近づけていますが、完全な一致ではありません(学習用に分かりやすさを優先しています)。考え方とトレースの練習には十分使えます。本番の表記は必ず公式のサンプル問題でも確認してください。