トップ過去問一覧基本情報技術者 平成20年・秋 > 問9
問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(X,Y)は引数XとYが等しければ「1」を返し、異なれば「0」を返すとあります。これを「eq(eq(A,B),eq(B,C))」に当てはめて考えていきます。

 

・整数A・B・Cに「1」を代入してみた場合。

eq(eq(1,1),eq(1,1))=1


・整数A=「1」・B=「1」・C=「0」を代入してみた場合。

eq(eq(1,1),eq(1,0))=0


・整数A=「1」・B=「0」・C=「1」を代入してみた場合。

eq(eq(1,0),eq(0,1))=1


・整数A=「0」・B=「1」・C=「1」を代入してみた場合。

eq(eq(0,1),eq(1,1))=0

 

以上の事から、「eq(eq(A,B),eq(B,C))」が「1」を返す条件は、

・A=B かつ B=C

・A≠B かつ B≠C

このどちらかを満たす場合という事が分かります。

よって答えは「( A = B かつ B = C )又は( A ≠ B かつ B ≠ C )」となります。

無料学習システムはこちら
→間違えた問題を繰り返し学習
→分野別学習
→模擬試験モード
デモサイト
無料ユーザ登録

問題文や解説文の内容の正確性については、できるかぎりチェックをしていますが、間違いがある可能性があります。 十分ご注意の上、参考までにご利用ください。