修了試験 2017-01-22実施分 基本情報技術者試験 問3
関数eq(X,Y)は,引数XとYの値が等しければ1を返し,異なれば0を返す。 整数A,B,Cについて,eq(eq(A,B),eq(B,C))を呼び出したとき,1が返ってくるための必要十分条件はどれか。
正答1
解説
正解は1です。 外側のeqは、内側の2つの結果eq(A,B)とeq(B,C)が等しいときに1を返します。 そこで、内側の2つの値がそろう場合を考えます。 両方が1になるのは、A=BかつB=Cのときです。 両方が0になるのは、A≠BかつB≠Cのときです。 この2つの場合を「又は」でつないだものが必要十分条件です。 【選択肢別解説】 1:○ 内側の2つの値が「ともに1」または「ともに0」になる場合をちょうど表しています。 2:× 後半の「A≠B又はB≠C」は前半の否定なので、条件全体が常に成り立ってしまいます。 例えばA=B=1、C=2では1が返りません。 3:× A=1、B=2、C=3のように全部異なる場合も1が返りますが、この条件では成り立ちません。 必要条件になっていません。 4:× A=B=1、C=2のときこの条件は成り立ちますが、内側は1と0で異なるので0が返ります。 十分条件になっていません。 【ポイント】 eq(P,Q)は、PとQが同じ値のとき1になる「一致」の関数で、論理演算では排他的論理和の否定に当たります。 必要十分条件の問題は、成り立つ例と成り立たない例を1つずつ当てはめると素早く絞り込めます。まとめて解く
修了試験 2017-01-22実施分を通しで解く(80問)→