IPA擬似言語構文とは?基本情報の科目Bで使う試験専用の書き方

公開: 更新: カテゴリ: テクノロジ系

30秒で結論

IPA擬似言語とは(全体像)

IPA擬似言語は、基本情報の科目B(プログラミング・アルゴリズム)で出題される、試験専用の書き方のこと。C言語やPythonのような実在の言語ではなく、試験のために決められた疑似的な記法だ。

そのため、ふだんプログラミングをしている人ほど、ふつうの言語とのクセの違いでつまずきやすい。逆に、ここさえ押さえれば読めるようになる。いちばん大事な違いは2つ。

科目Bは試験の大きな関門で、コードを手で1行ずつ追う(トレース実行)力が問われる。


詳しく:特殊な記法だけ覚えれば戦える

ここが記事の心臓部。ふつうの言語との違いを表で押さえる。

IPA擬似言語の特殊な記法

項目IPA擬似言語ふつうの言語(C/Java等)
代入`←`(矢印)`=`
比較(等しい)`=``==`
配列の先頭`[1]`(1始まり)`[0]`(0始まり)

いちばんの注意点が、`←`と`=`の役割。IPA擬似言語では`←`が代入(値を入れる)、`=`が比較(等しいか調べる)。C/Java/Pythonでは`=`が代入、`==`が比較なので、ここが混乱のもとだ。

そして配列の1始まり。IPA擬似言語では`配列[1]`が先頭で、`配列[2]`が2番目。多くの言語は`配列[0]`が先頭なので、1つズレるミスが頻発する。これも最頻出の注意点だ。つまり、ふつうの言語の感覚(`=`代入・0始まり)から頭を切り替えるのがコツ、というわけだね。

その他の記法

記号意味
`and` / `or` / `not`論理(かつ・または・否定)
`//`コメント(メモ書き)
`○手続名`手続き(関数)の定義

なお、科目Bは「アルゴリズム・プログラミング」と「情報セキュリティ」から出題され、アルゴリズム側の比重が大きい(出題数や時間は受験年度の最新案内で確認するとよい)。

わかりやすく言い換えると

要するに、IPA擬似言語は「試験だけの、ちょっとクセのある書き方」だ。

代入の`←` … 「箱に値を入れる」を矢印で表す(`x ← 5`は「xに5を入れる」)

比較の`=` … 「等しいか調べる」のは`=`(`if (a = b)`は「aとbが等しいなら」)

配列の1始まり … 1番目から数える。`配列[1]`が先頭

ふつうの言語の感覚(`=`で代入、0始まり)のまま読むと取り違える。だから「矢印が代入・配列は1から」と切り替えるのが、科目B攻略の第一歩、というわけだね。


試験のツボ

🔴 一番出る:代入は`←`・比較は`=`

①`←`は代入(値を入れる)

②`=`は比較(等しいか調べる)。ふつうの言語の`==`にあたる

🔴 次に出る:配列は1始まり

①先頭は`配列[1]`(`[2]`が2番目)

②C/Java/Pythonの0始まりと違う(1ズレに注意)

🟡 押さえると安定:その他の記法

①論理は`and`/`or`/`not`、コメントは`//`

②手続きは`○手続名`で定義


よくある間違い

「IPA擬似言語の代入は`=`で書く」→ ✗  代入は`←`(矢印)。`=`は比較に使う。

「IPA擬似言語の配列は0始まりである」→ ✗  IPA擬似言語は1始まり。先頭は`配列[1]`。

「擬似言語は実在のプログラミング言語の一つである」→ ✗  擬似言語は試験のために定められた記法で、実在の言語ではない。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(代入と比較)

📝 オリジナル問題 1 代入と比較の記号

IPA擬似言語の記号に関する次の記述のうち、正しいものはどれか。

  1. 代入も比較もどちらも`=`の記号を使い、文脈で意味を読み分けるものである
  2. 代入は`==`、比較は`←`を使う、C言語とまったく同じ記法である
  3. 代入は`←`(矢印)、比較は`=`を使い、ふつうの言語とは記号が異なる
  4. 代入も比較も記号を使わず、すべて日本語の文章だけで表すものである
オーエスペン
オーエスペン 解答・解説

解答は 3 だよ。

IPA擬似言語では代入が`←`(矢印)、比較が`=`なんだ。C/Java/Pythonは`=`で代入・`==`で比較だから、ここで切り替えてね。

選択肢1は「どちらも`=`」が誤り。選択肢2は代入と比較が逆。選択肢4は「記号を使わない」が誤りだよ。

選択肢判定理由
1代入は`←`で区別する
2代入と比較が逆
3代入=`←`・比較=`=`
4記号を使う

オリジナル問題2(配列の始まり)

📝 オリジナル問題 2 配列のインデックス

IPA擬似言語の配列に関する次の記述のうち、正しいものはどれか。

  1. IPA擬似言語の配列は1始まりで、先頭の要素は配列[1]で表される
  2. IPA擬似言語の配列は0始まりで、先頭の要素は配列[0]で表される
  3. IPA擬似言語の配列には番号がなく、先頭の要素を取り出すことはできない
  4. IPA擬似言語の配列は先頭が配列[2]からで、配列[1]は使われないものである
オーエスペン
オーエスペン 解答・解説

解答は 1 だよ。

IPA擬似言語の配列は1始まりで、先頭は配列[1]なんだ。C/Java/Pythonは0始まり(配列[0]が先頭)だから、1つズレるミスに気をつけてね。

選択肢2は「0始まり」が誤り(ふつうの言語の話)。選択肢3は「番号がない」が誤り。選択肢4は「配列[2]から」が誤りだよ。

選択肢判定理由
11始まりで先頭は配列[1]
20始まりはふつうの言語
3番号でアクセスできる
4先頭は配列[1]

オリジナル問題3(擬似言語の位置づけ)

📝 オリジナル問題 3 擬似言語の位置づけ

IPA擬似言語の位置づけに関する次の記述のうち、正しいものはどれか。

  1. 擬似言語はC言語の別名で、まったく同じ記法で書かれるものとされている
  2. 擬似言語はPythonをそのまま日本語に翻訳しただけの言語のことである
  3. 擬似言語は試験とは無関係の、研究者だけが使う特殊な言語のことである
  4. 擬似言語は試験のために定められた記法で、実在の言語そのものではない
オーエスペン
オーエスペン 解答・解説

解答は 4 だよ。

IPA擬似言語は試験のために定められた記法で、C言語やPythonのような実在の言語そのものではないんだ。だから試験専用のクセ(`←`代入・1始まり)があるんだよ。

選択肢1は「C言語の別名」が誤り。選択肢2は「Pythonの翻訳」が誤り。選択肢3は「試験と無関係」が誤りだよ。

選択肢判定理由
1C言語の別名ではない
2Pythonの翻訳ではない
3科目Bで使う試験用の記法
4試験用の記法で実在の言語ではない

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る