DBデータベーススペシャリスト試験 午前Ⅰ

平成27年度春期 データベーススペシャリスト 午前Ⅰ 問7

問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。

問題

真理値表に示す3入力多数決回路はどれか。
表。入力A,B,Cと出力Yの真理値表。ABC=000,001,010,100のときY=0,ABC=011,101,110,111のときY=1。つまり二つ以上の入力が1のときYが1になる。
表。入力A,B,Cと出力Yの真理値表。ABC=000,001,010,100のときY=0,ABC=011,101,110,111のときY=1。つまり二つ以上の入力が1のときYが1になる。
選択肢。ア〜エの回路図。ア:AとB,BとC,CとAをそれぞれ論理積ゲートに入れ,上2つの出力を論理和ゲートでまとめ,その出力と3つ目の出力を論理和ゲートに入れてYを出す。イ:アの論理積ゲートを排他的論理和ゲートに置き換え,後段は論理和ゲート2段。ウ:前段は論理和ゲート3個,次段は論理積ゲート,最終段は否定出力付きの論理積ゲート(NAND)でYを出す。エ:前段は排他的論理和ゲート3個,次段は論理積ゲート,最終段はNANDでYを出す。
選択肢。ア〜エの回路図。ア:AとB,BとC,CとAをそれぞれ論理積ゲートに入れ,上2つの出力を論理和ゲートでまとめ,その出力と3つ目の出力を論理和ゲートに入れてYを出す。イ:アの論理積ゲートを排他的論理和ゲートに置き換え,後段は論理和ゲート2段。ウ:前段は論理和ゲート3個,次段は論理積ゲート,最終段は否定出力付きの論理積ゲート(NAND)でYを出す。エ:前段は排他的論理和ゲート3個,次段は論理積ゲート,最終段はNANDでYを出す。

選択肢

  1. ア
    (問題の図表を参照)
  2. イ
    (問題の図表を参照)
  3. ウ
    (問題の図表を参照)
  4. エ
    (問題の図表を参照)
解き方のヒントを見る

入力の組合せごとに出力を照合する

論理回路の問題では、全体の印象で判断せず、入力の組合せを一つずつ取り上げて出力がどうなるかを確かめる姿勢が大切です。途中の信号も書き出しながら、与えられた対応関係と一致するかを落ち着いて照合しましょう。

この問題で問われていること

この種の問題で問われるのは、回路の各部を順に追ったときの入力と出力の関係が、与えられた対応と全ての入力の組合せで矛盾なく一致するかどうかです。一部の組合せだけで判断すると見落としが生じるため、確認の網羅性が鍵になります。

視点

論理回路は、入力の値が決まれば出力の値も一つに決まる仕組みです。そのため、回路と対応関係を結び付けるときは、入力の組合せを一つ選んで回路の入口から出口まで信号を順にたどり、得られた出力を記録する作業を繰り返すのが基本になります。途中の信号の値も書き留めておくと、どこで食い違いが生じたかを後から確かめやすくなります。ある組合せで一致しても、別の組合せで食い違うことは珍しくありません。すべての組合せを漏れなく確かめてから判断することを意識しましょう。

確認ポイント

  • 入力の組合せを一つずつ選び、回路の入口から出口まで信号を順にたどったか
  • 途中の信号の値も書き出し、どこで結果が決まるかを追えるようにしたか
  • 一部の組合せだけで判断せず、すべての組合せで対応関係と一致することを確かめたか
正解と解説を見る

正解

ア

解説

3入力多数決は、2入力以上が1のときにY=1となる論理Y=AB+BC+CAで表せます。3つのANDで各ペアの論理積をとり、それらをORでまとめるアの回路がこの論理に一致します。

理由

表では、Yが1になるのは入力のうち2個以上が1の行(011、101、110、111)です。「どれか2つが同時に1」という条件は、各ペアの論理積をORでまとめたY=AB+BC+CAと等しくなります。アはAND(A、B)、AND(B、C)、AND(C、A)をORでまとめており、この式どおりの回路です。

比較

イは各ペアのXORをORでまとめるため、「3入力がすべて同じ値ではない」ときに1を出し、111で0、001で1になります。ウは(A+B)(B+C)(C+A)=AB+BC+CAを最後のNANDで反転しているので、多数決の否定になります。エは3つのXORが同時に1になることがないためANDは常に0で、NANDの出力は常に1になります。

選択肢ア(正解)

これは正解だよ。3つのANDゲートでAB、BC、CAを求め、それらをORでまとめているので、Y=AB+BC+CAになるよ。2つ以上の入力が1のときだけY=1になり、例えば011ならBC=1でY=1、001ならどのペアも0でY=0だね。真理値表の8行すべてと一致するよ。

選択肢イ

これは不正解だよ。各ペアのXORをORでまとめているから、3入力がすべて同じ値のときだけ0になり、それ以外では1になるよ。例えば111ではどのXORも0なのでY=0になるけど、表ではY=1だね。001でもY=1になり、表の0と食い違うよ。

選択肢ウ

これは不正解だよ。3つのORの出力の積(A+B)(B+C)(C+A)は展開するとAB+BC+CAになるけど、最後のゲートがNANDなので出力が反転するよ。そのため000でY=1、111でY=0となり、表の多数決とは正反対の出力になるね。

選択肢エ

これは不正解だよ。A⊕B、B⊕C、C⊕Aの3つが同時に1になることはない(2つのXORの排他的論理和は残りのXORに等しいため)から、ANDの出力は常に0になるよ。それを最後にNANDで反転するので、Yは常に1になるね。000でもY=1となり、表の0と一致しないよ。

学習のポイント

多数決論理AB+BC+CAの導き方と、XORやNANDを使った回路の出力を行ごとに検証する手順

出典:独立行政法人 情報処理推進機構(IPA)平成27年度春期 データベーススペシャリスト試験 午前Ⅰ 問7(公式資料:問題冊子(PDF) / 解答例)

関連する過去問一覧

IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針