01_疑似言語とは
はじめに
この資料では、基本情報技術者試験(科目B)で使用される擬似言語について解説します。擬似言語とは、IPA(情報処理推進機構)が試験専用に設計した、特定の実装環境を持たない抽象的なプログラミング言語です。
擬似言語の目的
- プログラミング経験の有無に関わらず、公平にアルゴリズム理解力を評価するため
- JavaやCなど実在する言語に依存せず、論理構造や処理の流れに集中させるため
特徴
- IPAが定義した独自仕様で、JISやISOの規格には準拠していない
- 実際のシステム開発には使用されない
- コードの実行環境は存在しない
- 文法はJavaやCなどをベースに、読みやすさを重視して簡略化
- 処理の内容を正しく読み取る能力が問われる
- 暗記ではなく読解力重視
主な構文例(科目B擬似言語)
● 変数の宣言
整数型: num
文字列型: name
実数型: rate
論理型: flag
● 代入
num ← 10
name ← "Taro"
flag ← true
●
条件分岐(比較演算は日本語で表現)
if ( num が 5 より大きい )
name ← "OK"
endif
if ( num が 5 より大きい )
name ← "OK"
else
name ← "NG"
endif
● 繰り返し(while)
while ( num が 10 未満 )
num ← num + 1
endwhile
●
繰り返し(ループカウンタ使用)
for ( i を 1 から 5 まで 1 ずつ増やす )
sum ← sum + i
endfor
● 関数の定義・呼び出し
○整数型: Add(整数型: A, 整数型: B)
整数型: result
result ← A + B
return result
呼び出し例:
total ← Add(x, y)
理解度チェック問題
問題01-1:擬似言語の定義
擬似言語について正しく説明しているものを1つ選びなさい。
- ア. Pythonを改良して開発された教育用言語
- イ. 実際に動作するスクリプト言語
- ウ. IPAが基本情報技術者試験のために独自に設計した仮想言語
- エ. JavaScriptとほぼ同じ構文を持つ言語
解説を表示
正解:**ウ**
IPAが試験用に設計した仮想言語で、実行環境は存在しません。
問題01-2:擬似言語の用途
擬似言語が使われる理由として最も適切なものを選びなさい。
- ア. 実務で使う言語スキルを測るため
- イ. アルゴリズムの理解力を評価するため
- ウ. Webサービスを開発するため
- エ. AIに関する知識を試すため
解説を表示
正解:**イ**
擬似言語は、実装力ではなくアルゴリズムの理解力を測るために用いられます。
問題01-3:擬似言語の特性
擬似言語に関する記述として正しくないものを1つ選びなさい。
- ア. 擬似言語には実行環境がない
- イ. 擬似言語は試験専用で、実務では使用されない
- ウ. 擬似言語はPythonと同様にWeb開発に適している
- エ. 擬似言語は処理の流れを読み取りやすく記述されている
解説を表示
正解:**ウ**
擬似言語はWeb開発などの実務で使われるものではありません。
問題01-4:構文に関する知識
擬似言語で条件分岐を表現する正しい構文はどれか。
- ア. if num > 5 then name = "OK"
- イ. if ( num が 5 より大きい ) name ← "OK"
- ウ. if num > 5: name ← "OK"
- エ. if num > 5 do name ← "OK"
解説を表示
正解:**イ**
擬似言語では、比較演算を日本語で表現し、代入には ← を使います。