[0171] 関数,論理演算

平成12年度秋期 (旧)第2情報処理技術者試験より
関数 eq( X,Y ) は,引数 X と Y の値が等しければ1を返し、異なれば0を返す。
eq( eq( A,B ),eq( B,C )) を呼び出したとき, 1 が返ってくるための必要十分条件はどれか。
A = B かつ B = C
A = B 又は B = C
( A = B かつ B = C ) 又は A = C
( A = B かつ B = C ) 又は ( A ≠ B かつ B ≠ C )

正解

解説

 eq( eq( A,B ),eq( B,C ))において、常に 1 が返ってくるためには、eq( A,B )と eq( B,C )が同値でなければなりません。つまり、
  • eq( A,B )= 1 かつ eq( B,C )= 1 ・・・ (1)
  • eq( A,B )= 0 かつ eq( B,C )= 0 ・・・ (2)
の場合のみです。

 (1)が成立するためには、A = B かつ B = C とならなければなりません。
 (2)が成立するためには、A ≠ B かつ B ≠ C とならなければなりません。


 よって、( A = B かつ B = C ) 又は ( A ≠ B かつ B ≠ C ) のエが正解となります。
※ 解説の内容は執筆時点のものであり,含まれている情報の正確性,妥当性について保証するものではありません。ご注意ください・・・

関連する(かもしれない)問題