戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

基本情報技術者 2016年 秋期 午前(科目A)23


問題文

真理値表に示す3入力多数決回路はどれか。
基本情報技術者 2016年 秋期 午前(科目A) 問23の問題画像基本情報技術者 2016年 秋期 午前(科目A) 問23の選択肢の画像

選択肢

(正解)

3入力多数決回路の真理値表【午前2 解説】

要点まとめ

  • 結論: 真理値表は「2つ以上が1のとき1」になる多数決であり、3つの2入力ANDをORで合成する回路、が正解です。
  • 根拠: 出力1の組合せは (0,1,1),(1,0,1),(1,1,0),(1,1,1) で、論理式は と表せます。
  • 差がつくポイント: 図の左側がANDかORか、右端のバブル(否定)の有無で論理式が大きく変わる点に注意してください。

正解の理由

正解は です。
真理値表から出力が1となるのは2入力以上が1のときなので、各ペアのAND()を取ってそれらをORで合成すれば良く、アはまさに左側で各ペアのANDを取り右側でORしている回路だからです。ORを2段にしていても結局は全てのAND出力の論理和になり、真理値表と一致します。

よくある誤解

  • 「入力を先にORして後でANDすれば同じになる」と思い込み、式の順序(分配・結合)の違いを見落とす誤り。
  • バブル(小丸)を見落としてNANDとANDを混同し、出力極性を逆に解釈してしまう。
  • 中央と右端のゲートが複数段でも結合律で同値になることを忘れて、図の段数だけで不正解と判断する。

解法ステップ

  1. 真理値表から出力1となる行を列挙する: (0,1,1),(1,0,1),(1,1,0),(1,1,1)。
  2. 各行に対応する積項(ミンターン)を書き出すと 。ただし は既に のいずれかでカバーされる。
  3. したがって簡約した論理式は
  4. この式をそのまま回路に対応させると、各ペアの2入力ANDを取り、その出力をORで合成する回路になる(=選択肢ア)。

選択肢別の誤答解説

  • ア(正解): 左で を作り、それらをORで合成して を実現。真理値表と一致。
  • イ: 左で を作り、上2つをANDしてから最終的にORする構成。論理式は で、例えば のとき評価は になり真理値表の と不一致。
  • ウ: 左はANDだが中央もAND、最終段がバブル付きNAND(出力は否定)になっている。論理式を整理すると最終出力は に相当する振る舞いとなり、(1,0,0) 等で期待値と合わない。
  • エ: 左はOR、中央はAND、最終がバブル付きNAND。例えば では中央が0で最終NANDが1となり、真理値表の0と矛盾する。
(各誤答の具体的な評価例を示すと理解が早い:イやエは (A,B,C)=(1,0,0) をテストケースにすると判別しやすい)

補足コラム

  • 多数決(majority)関数の代表的な表現は です。これは「少なくとも2つが1」の論理をそのまま書いた形です。
  • 別の形としては と因数分解できます。実装上はコストやゲート遅延を考慮して最適化することがあります。
  • 実験用に Python で真理値表を確認するコード例:
from itertools import product
def maj(a,b,c): return (a and b) or (b and c) or (c and a)
for a,b,c in product([0,1], repeat=3):
    print(a,b,c, int(maj(a,b,c)))

FAQ

Q1: どうして を別に書かないのですか?
A1: のいずれかが1のとき自動的に1になるため、和に含める必要はありません(冗長項)。
Q2: 同じゲートの組合せを段を変えて並べたら等価ですか?
A2: ORやANDは結合律・可換律が成り立つので、順序を入れ替えても等価ですが、否定(バブル)があると極性が変わるため注意が必要です。
Q3: NANDだけで多数決を作れますか?
A3: 可能です。NANDは完全集合であり、De Morgan を用いてAND/ORをNANDに置き換えれば実現できます。ただしゲート数は増えることが多いです。

関連キーワード: 多数決回路、ブール代数、論理回路、真理値表、組合せ回路
← 前の問題へ次の問題へ →
戦国ITクイズ機能

\ せっかくなら /

基本情報技術者
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてブログプライバシーポリシー利用規約特商法表記開発者について