擬似言語ステッパー
基本情報技術者試験 科目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. 試験の正式な記述形式に近づけていますが、完全な一致ではありません(学習用に分かりやすさを優先しています)。考え方とトレースの練習には十分使えます。本番の表記は必ず公式のサンプル問題でも確認してください。