問1 真理値表から求める論理演算

基本情報​技術者試験 令和6年度 公開問題 科目A、全20問のうちの問1。

出典:令和6年度 基本情報技術者試験 公開問題 科目A 問1(真理値表は原本の画像を文字に書き起こした。選択肢ア~エの 4 つの真理値表は、X □Y の列を並べた 1 つの表にまとめ、選択肢の文は表の列を指す形にした)

X 及び Y はそれぞれ 0 又は 1 の値をとる変数である。X □Y を X と Y の論理演算としたとき,次の真理値表が得られた。X □Y の真理値表はどれか。

問題文の真理値表
XYX AND ( X □Y )X OR ( X □Y )
0001
0101
1001
1111

表は横に送ると続きが見えます。

選択肢ア~エの X □Y の値
XYアイウエ
000011
010111
100001
111110
  1. ア表のアの列
  2. イ表のイの列
  3. ウ表のウの列
  4. エ表のエの列
答えと解説を開く

正解はウです。

X □Y の値を行ごとに求めます。X が 0 の行では、X OR (X □Y) は X □Y の値そのものになります。表ではこの 2 行の OR が 1 なので、X=0、Y=0 の行も X=0、Y=1 の行も X □Y は 1 です。X が 1 の行では、X AND (X □Y) が X □Y の値そのものになります。X=1、Y=0 の行は AND が 0 なので X □Y は 0、X=1、Y=1 の行は AND が 1 なので X □Y は 1 です。上の行から並べると 1、1、0、1 です。選択肢の表で X □Y の列がこの並びになっているのはウです。正解はウです。

ほかの選択肢が違う理由

  • アアの列は上から 0、0、0、1 で、X AND Y と同じです。X=0 の行で X OR (X □Y) が 0 になり、問題の表の 1 と合いません。
  • イイの列は上から 0、1、0、1 で、Y と同じです。X=0、Y=0 の行で X OR (X □Y) が 0 になり、問題の表の 1 と合いません。
  • エエの列は上から 1、1、1、0 で、NAND と同じです。X=1 の 2 行で AND の結果が 1、0 になり、問題の表の 0、1 と逆になります。

仕組み

AND は 0 があると 0、OR は 1 があると 1 になります。そのため、片方が 1 のときの AND と、片方が 0 のときの OR は、もう片方の値をそのまま通します。この性質を使うと、未知の演算の値を行ごとに読み取れます。

求めた X □Y は、X が 0 なら 1、X が 1 なら Y と同じ値です。これは「X ならば Y」を表す含意 (NOT X OR Y) と同じ真理値表です。

この問に出る言葉