マナビング基本情報技術者

論理回路の式変形で出力をどう見極めるか

基本情報技術者試験 平成29年度秋期 午前 問23 / ハードウェア › ハードウェア

過去問にチャレンジ

平成29年度秋期 午前 問23

図に示すディジタル回路と等価な論理式はどれか。ここで,論理式中の“・”は論理積を,“+”は論理和を,X‾\overline{X}はXの否定を表す。 【図表1】

平成29年度秋期 午前 問23の図
  1. ア

    X=A⋅B+A⋅B‾X = A \cdot B + \overline{A \cdot B}

  2. イ

    X=A⋅B+A‾⋅B‾X = A \cdot B + \overline{A} \cdot \overline{B}

  3. ウ

    X=A⋅B‾+A‾⋅BX = A \cdot \overline{B} + \overline{A} \cdot B

  4. エ

    X=(A‾+B)⋅(A+B‾)X = (\overline{A} + B) \cdot (A + \overline{B})

会話形式の解説

講師講師
この回路は、入力側から各ゲートの出力を式にすると読みやすくなります。まず、二つのNOTを通った値は何ですか。
受験者受験者
A‾\overline{A}とB‾\overline{B}です。その次のORでは、二つを足してA‾+B‾\overline{A} + \overline{B}になります。
講師講師
そのとおりです。そのORの出力は上下のANDに分かれます。上と下では、それぞれ何と組み合わされますか。
受験者受験者
上はA、下はBです。途中でAとBが枝分かれしているところを見落としそうでした。
講師講師
最後に二つのANDの出力をORで合わせるので、X=A⋅(A‾+B‾)+B⋅(A‾+B‾)X = A \cdot (\overline{A} + \overline{B}) + B \cdot (\overline{A} + \overline{B})です。
受験者受験者
このままだと選択肢と形が違います。かっこを展開して比べればよいですか。
講師講師
はい。展開するとA⋅A‾+A⋅B‾+B⋅A‾+B⋅B‾A \cdot \overline{A} + A \cdot \overline{B} + B \cdot \overline{A} + B \cdot \overline{B}です。A⋅A‾A \cdot \overline{A}とB⋅B‾B \cdot \overline{B}はどちらも0になります。
受験者受験者
残るのはA⋅B‾+A‾⋅BA \cdot \overline{B} + \overline{A} \cdot Bです。画像のウの式と一致します。
講師講師
正解はウです。この式は排他的論理和といい、AとBの値が異なるときだけ1になります。
受験者受験者
A⋅B+A⋅B‾A \cdot B + \overline{A \cdot B}も、否定を含むので似て見えます。どこが違いますか。
講師講師
A・Bという値と、その否定を足しているため、入力に関係なく1になります。回路はA=B=1なら、最初のORが0となってXも0です。
受験者受験者
A⋅B+A‾⋅B‾A \cdot B + \overline{A} \cdot \overline{B}は、両方1か両方0のときに1ですね。回路とは逆の動きです。
講師講師
はい。もう一つの積の形、(A‾+B)⋅(A+B‾)(\overline{A} + B) \cdot (A + \overline{B})も、展開して0になる項を消すと、その式と同じになります。
受験者受験者
見た目が違っても同じ出力になるのですね。まず回路を式にし、迷ったらAとBの組合せを当てはめて確かめます。

まとめ

NOTを通ったAとBをORで合わせた出力は、A‾+B‾\overline{A} + \overline{B}です。これをA、BとそれぞれANDで組み合わせ、最後にORで合わせます。式を展開してA⋅A‾A \cdot \overline{A}とB⋅B‾B \cdot \overline{B}を消すと、X=A⋅B‾+A‾⋅BX = A \cdot \overline{B} + \overline{A} \cdot Bとなり、正解はウです。この式は二つの入力が異なるときだけ1になる排他的論理和です。

解答・解説

正解はウです

この問題のテーマ

NOT・OR・ANDを組み合わせた回路を論理式に直し、ブール代数で簡単にして、同じ動きをする式を選ぶ問題です。

解き方の考え方

入力側から順に、各ゲートの出力を式で書いていきます。AとBを否定してからORに通すので、その出力はA‾+B‾\overline{A} + \overline{B}です。この出力は上のANDでAと、下のANDでBと組まれ、最後のORで二つがまとめられます。したがって X=A⋅(A‾+B‾)+B⋅(A‾+B‾)X = A \cdot (\overline{A} + \overline{B}) + B \cdot (\overline{A} + \overline{B}) です。分配法則で展開すると A⋅A‾A \cdot \overline{A} と B⋅B‾B \cdot \overline{B} が出てきますが、どちらも常に0なので消え、X=A⋅B‾+A‾⋅BX = A \cdot \overline{B} + \overline{A} \cdot B が残ります。

選択肢ごとの解説

  1. ×ア  X=A⋅B+A⋅B‾X = A \cdot B + \overline{A \cdot B}
    アの式 A⋅B+A⋅B‾A \cdot B + \overline{A \cdot B} は、ある値とその否定の論理和なので、入力がどうであっても1になります。図の回路はA=B=1のときに0を出力するので、アとは一致しません。
  2. ×イ  X=A⋅B+A‾⋅B‾X = A \cdot B + \overline{A} \cdot \overline{B}
    イの A⋅B+A‾⋅B‾A \cdot B + \overline{A} \cdot \overline{B} は、AとBが両方1か両方0のとき、つまり入力がそろったときに1になる式です。回路を簡単にした式は入力が異なるときに1になるので、出力が逆になります。
  3. ○ウ  X=A⋅B‾+A‾⋅BX = A \cdot \overline{B} + \overline{A} \cdot B
    ウの A⋅B‾+A‾⋅BA \cdot \overline{B} + \overline{A} \cdot B は、回路を展開して簡単にした結果とそのまま一致します。念のため入力を当てはめると、A=1・B=1のときはORの出力が0になるのでXも0、A=1・B=0のときは上のANDが1になるのでXは1です。どちらも式の値と合います。
  4. ×エ  X=(A‾+B)⋅(A+B‾)X = (\overline{A} + B) \cdot (A + \overline{B})
    エの (A‾+B)⋅(A+B‾)(\overline{A} + B) \cdot (A + \overline{B}) を展開すると、A‾⋅A\overline{A} \cdot A と B⋅B‾B \cdot \overline{B} は0になって消え、A⋅B+A‾⋅B‾A \cdot B + \overline{A} \cdot \overline{B} が残ります。これはイと同じ式で、入力がそろったときに1になるため、回路とは合いません。

補足

式の変形に自信がないときは、A・Bの4通りの組合せで回路の出力を調べ、各選択肢の値と比べる方法でも確実に解けます。和積の形(エ)と積和の形(イ)は見た目が違っても同じ論理になることがあるので、展開して比べるようにしましょう。

POINT

  • 回路図は入力側からゲートごとに出力を式にしていくと、取りこぼしなく全体の式が組み立てられます。
  • X⋅X‾=0X \cdot \overline{X} = 0 と X+X‾=1X + \overline{X} = 1 は、式を簡単にするときによく使う基本の性質です。
  • A⋅B‾+A‾⋅BA \cdot \overline{B} + \overline{A} \cdot B は排他的論理和(XOR)で、二つの入力が異なるときだけ1になります。
  • A⋅B+A‾⋅B‾A \cdot B + \overline{A} \cdot \overline{B} はXORの否定にあたり、入力が一致するときに1になります。

※出典:平成29年度秋期 基本情報技術者試験 午前 問23(一部改変)