基本情報技術者試験 |
2008年度 = 平成20年度・秋期 |
午前 |
問9 |
関数eq (X, Y )は、引数X とY の値が等しければ1を返し、異なれば0を返す。整数A、B、C についてeq (eq (A, B ), eq (B, C ))を呼び出したとき、1が返ってくるための必要十分条件はどれか。
ア (A = B かつ B = C ) 又は (A ≠ B かつ B ≠ C )
イ (A = B かつ B = C ) 又は (A ≠ B 又は B ≠ C )
ウ (A = B かつ B = C ) 又は A = C
エ (A = B 又は B = C ) 又は A = C
ア
eq (eq (A, B ), eq (B, C ))を呼び出したときに1が返ってくるためには、eq (A, B )とeq (B, C )の値が等しくなる必要があります。すなわち、両方とも1か、あるいは両方とも0でなければなりません。
eq (A, B )とeq (B, C )の両方が1になるためには、A = B かつ B = Cでなければなりません。また、両方が0になるためには、A ≠ B かつ B ≠ Cでなければなりません。
したがって、正解はアです。