Skip to the content.

最終更新日:2026年10月9日

まず結論

IPAの擬似言語は、Pythonなどの特定言語を覚えるためのものではなく、処理の流れを共通の書き方で表すためのものです。基本情報技術者試験(FE)の科目Bでは、記号を見分けたら、初期値→条件判定→代入→次の判定の順に値を追うことが大切です。

根拠はIPA「試験で使用する情報技術に関する用語・プログラム言語など」Ver.5.1の別紙2(PDFの6〜7ページ)です。個別の問題文に注記がある場合は、その指定を優先します。

直感的な説明

擬似言語を読む作業は、機械の動作手順を順番に確認することに似ています。

  • 変数:現在の値を記録する箱
  • 代入:箱の中身を書き換える
  • 条件:次にどの処理へ進むかの判断
  • 繰返し:条件に応じて同じ工程へ戻る

式を一度に暗算するのではなく、「今、どの行にいて、どの箱が変わったか」を確かめます。

定義・仕組み

IPAの基本記号

記述 読み方 注意点
整数型: count 変数countを宣言 型と名前を区別する
count ← 3 countに3を代入 以前の値は上書きされる
count = 3 countと3が等しいか比較 ←と混同しない
count ≠ 3 3と等しくないか比較 notとは別の記法
a mod b aをbで割った余り 周期・偶奇判定にも使う
and / or / not 論理積/論理和/否定 演算の優先順位を確認
data[i] 配列dataの要素番号i 番号の開始位置は問題文で確認
data[i, j] 二次元配列の行i・列j Pythonの添字表現と同一視しない
object.member メンバ変数・メソッドへのアクセス 点は小数点とは限らない
未定義 値が格納されていない状態 数値0とは違う

「←」は代入、「=」は比較です。式の左側の変数が更新されることをまず確認しましょう。

選択・繰返しの見方

記述 動作  
if ... elseif ... else ... endif 上から順に条件を判定し、最初に真となる枝を実行  
while ... endwhile 処理前に条件を判定。0回で終わる場合もある  
do ... while 処理後に条件を判定。少なくとも1回実行  
for ... endfor 制御記述に従って繰り返す。範囲や刻みは記述を確認  
関数名(引数, ...) 関数・手続を呼び出す 引数に何を渡すか確認

より詳しい制御構造の比較は前判定・後判定の繰返しで確認できます。

演算の優先順位

IPAの別紙2では、主な演算の優先順位は 括弧やメンバアクセス → 単項演算子 → 乗除・mod → 加減 → 比較 → and → or の順です。

たとえば true or false and false は、先に false and false を評価するため true です。判断が難しければ括弧を補ってください。

科目Aでどう出る?

科目Aの基礎知識としては、代入と等価比較、前判定と後判定、配列と添字、論理演算の区別が役立ちます。

特に x ← x + 1 は数学の等式ではありません。現在のxに1を足し、その結果をxへ代入する命令です。これが読めないと科目Bのトレースでも値がずれます。

科目Bでどう使う?

変数を表で追う(トレース)

次のプログラムは説明用のオリジナル例です。配列 data の要素番号は1から始まるとし、data = {4, 7, 2} です。

○main()
  整数型: i, total
  整数型の配列: data ← {4, 7, 2}
  i ← 1
  total ← 0
  while (i ≦ 3)
    if (data[i] mod 2 = 0)
      total ← total + data[i]
    endif
    i ← i + 1
  endwhile

まず i=1、total=0 から開始します。偶数の要素だけを加算するため、各回の変数の変化は次の通りです。

判定時のi data[i] 偶数? 処理後のtotal 次のi
1 4 はい 4 2
2 7 いいえ 4 3
3 2 はい 6 4

最後は i=4 で i ≦ 3 が偽となり終了します。最終的なtotalは6です。

1行ずつ動かすトレース練習

「次の1行」を押すと、現在の実行行・変数の値・条件の結果が変化します。偶数だけを合計する上のプログラムと同じ処理です。

擬似言語トレース:偶数だけ合計

配列の添字は1から開始。見るポイント:条件が偽のときは合計を更新しない。

i ← 1
total ← 0
while (i ≦ 3)
 if (data[i] mod 2 = 0)
  total ← total + data[i]
 i ← i + 1
終了

配列: ① 4 ② 7 ③ 2

現在の i: 未設定

現在の total: 未設定

次に実行する行: i ← 1

開始前です。「次の1行」を押してください。

JavaScriptを使えない場合も、直前のトレース表で同じ結果を確認できます。

試験でのトレース手順

  1. 初期値を書く。配列の添字開始番号も確認する。
  2. 条件式を評価し、実行する枝だけを選ぶ。
  3. 代入した変数だけ値を更新する。
  4. ループ末尾で次の添字を記録する。
  5. 再び条件を確認し、偽になった時点で止める。

表では「条件判定時の値」と「処理後の値」を混在させないことがコツです。

よくある誤解・混同

誤読 正しくは
← と = は同じ 代入と比較で役割が異なる
while の本体は必ず1回実行 初回の条件が偽なら0回
elseif の後続条件も全部評価する 先に真となった枝があれば後続の条件は評価しない
配列の最初は必ず0番 問題文に指定された要素番号に従う
mod は割り算の商 mod は余り
未定義は0 未定義と0は異なる
Pythonと同じ記法で考えればよい IPA別紙2と問題文の規則で読む

条件分岐については条件分岐の判定順序、配列の理解には配列の基本も参考になります。

まとめ(試験直前用)

  • ← は代入、= は比較。
  • 配列の添字開始番号は必ず問題の指定を確認する。
  • while は条件を先に判定する。
  • 演算の順序は、特に and が or より先。
  • トレースは初期値→判定→更新→次の判定を表にする。
  • 別紙2は共通の記述形式。問題ごとの注記が優先される。

出典:IPA:擬似言語の記述形式(Ver.5.1、別紙2)

© 2024-2026 stemtazoo. All rights reserved.