基本情報技術者試験の科目Bでは、プログラミングの知識を問う問題が「擬似言語」という独自の記法で出題される。特定のプログラミング言語(C言語やJavaなど)の知識がなくても解けるように設計されているが、逆に言えば擬似言語そのものの読み方を知らないとお話にならない。これから、擬似言語の基本文法を一つずつ整理していこう。
擬似言語とは何か
擬似言語は、IPA(独立行政法人情報処理推進機構)が試験用に定めた、プログラムの処理手順を表現するための記法である。実際のプログラミング言語ほど厳密ではないが、試験では一定の文法・表記ルールに従って記述される。
擬似言語の特徴は次の通りである。
- 日本語と記号を組み合わせて処理を表現する
- インデント(字下げ)によって処理のまとまりを表す
- 変数の型を明示する(整数型、文字列型、論理型など)
- 手続き(関数)を
○で始まる行で宣言する
手続き(関数)の宣言
擬似言語のプログラムは、次のような形の「手続き」の宣言から始まることが多い。
○整数型: goukei(整数型の配列: data)
整数型: i, sum
sum を 0 とする
for (i を 0 から data の要素数 - 1 まで 1 ずつ増やす)
sum を sum + data[i] とする
endfor
return sum○ の後に戻り値の型(この例では整数型)、続けて手続き名(goukei)、括弧内に引数の型と名前(整数型の配列: data)が書かれる。これは「配列dataを受け取り、その合計を整数型で返す手続き」であることを意味する。
戻り値がない手続き(他の言語で言う「void」に近いもの)の場合は、型を書かずに ○手続き名(引数) の形で宣言されることもある。
変数の宣言と代入
変数は「型: 変数名」の形式で宣言する。
整数型: kosu
文字列型: namae
論理型: flag
実数型: heikin代入には ← の記号、または「〜を…とする」という日本語表現のどちらかが使われる(試験年度や問題によって表記が異なる)。
kosu ← 10
kosu を 10 とするどちらも意味は同じで、「変数kosuに10を代入する」という処理を表す。
代表的なデータ型
擬似言語で登場する主な型は以下の通りである。
| 型名 | 意味 |
|---|---|
| 整数型 | 整数値を扱う |
| 実数型 | 小数を含む数値を扱う |
| 文字型 | 1文字を扱う |
| 文字列型 | 複数の文字からなる文字列を扱う |
| 論理型 | 真(true)または偽(false)を扱う |
| 〜の配列 | 同じ型のデータを複数まとめて扱う |
配列については、要素へのアクセスに data[i] のような添字表記を用いる。多くの問題では添字が0から始まることが前提になっているが、問題文中で明示されている前提条件を必ず確認する必要がある。
コメントの書き方
処理の説明などのコメントは /* と */ で囲む形式が使われる。
/* ここから合計を計算する処理 */
sum を sum + data[i] とするコメント自体が処理に影響することはないが、問題文の意図を読み取るヒントになっていることが多いため、見落とさずに読むことが重要である。
演算子の種類
擬似言語で使われる主な演算子は次の通りである。
- 算術演算子:
+(加算)、-(減算)、*(乗算)、/(除算)、mod(剰余) - 比較演算子:
=(等しい)、≠(等しくない)、<、>、≤、≥ - 論理演算子:
and(論理積)、or(論理和)、not(否定)
例えば「nが2で割り切れる」という条件は、次のように表現される。
(n mod 2) が 0 と等しいmod は剰余(割り算の余り)を求める演算子であり、偶数・奇数の判定や、周期的な処理(曜日計算など)で頻繁に登場する。
まとめ
擬似言語は特定のプログラミング言語の文法を前提としない、試験専用の記法である。今回整理した「手続きの宣言」「変数の型と代入」「コメント」「演算子」は、以降のif文・while文・for文・関数といった各構文を読み解くための土台になる。
合格者のビッグデータに乗れ!【資格スクエア】の学習システム!



コメント