令和6年度 春期 システムアーキテクト試験 午前Ⅱ 問9
テクノロジ/基礎理論論理型プログラミングにおいて,命題の証明を行うための基本的な機能はどれか。
出典:令和6年度 春期 システムアーキテクト試験 午前Ⅱ 問9
- アオーバーライド
- イオーバーロード
- ウメッセージパッシング
- エユニフィケーション
正解:エ
解説
ユニフィケーション(単一化)は,論理型プログラミングにおいて,二つの項(変数を含む式)が等しくなるように変数へ値を割り当てて,項どうしを一致させる操作です。Prologなどの論理型言語では,このユニフィケーションを用いて,与えられた命題(ゴール)が既知の事実や規則から証明できるかどうかを判定します。
選択肢ごとの解説
- ア誤り。オーバーライドは,オブジェクト指向言語においてサブクラスがスーパークラスのメソッドを再定義することです。
- イ誤り。オーバーロードは,同じ名前のメソッドや演算子を,引数の型や個数を変えて複数定義することです。
- ウ誤り。メッセージパッシングは,オブジェクト指向プログラミングにおいてオブジェクト間でメッセージ(要求)をやり取りする仕組みです。
- エ正しい。命題の証明を行うための基本的な機能は,項どうしを一致させるユニフィケーションです。