基本情報技術者 2012年 秋期 午前(科目A) 問22
問題文
NAND素子を用いた次の組合せ回路の出力Zを表す式はどれか。ここで、論理式中の“・”は論理積、“+”は論理和、“”はXの否定を表す。

選択肢
ア:
イ:(正解)
ウ:
エ:
NAND素子を用いた組合せ回路の出力Zを表す式はどれか【午前2 解説】
要点まとめ
- 結論→Zはになる。上下のNANDがそれぞれの否定を作り、中央NANDで和(OR)になる。
- 根拠→上段出力は、下段は、中央でとなる。
- 差がつくポイント→「同じ信号を両入力に繋ぐNANDがインバータになる」こととド・モルガンを素早く適用できるかが鍵。
正解の理由
正解: イ
回路を内部ノードで表すと理解しやすいです。上段NANDの入力は両方ともなので出力Aは
になります。同様に下段NANDの出力Bは
です。中央のNAND出力Zはこれらの論理積の否定なので
ド・モルガンの法則と二重否定を適用すると
したがって出力Zは、すなわち選択肢イが正しいです。
よくある誤解
- 「NANDはANDの否定だから上位だけ見てとする」:内部で信号が否定されている点を見落とすミスです。
- 「同じ信号を両入力に繋いでもANDと同じ動作だ」と誤認する:両入力が同じでもNANDはになります。
- ド・モルガンを使わずに直感で答えると、論理の否定の位置(各段の否定バブル)を見落としやすいです。
解法ステップ
- 回路の各NAND出力にラベルを付ける(上段A、下段B、中央Z)。
- 同一入力を両端に繋いだNANDはになることを確認する。
- 中央NANDの式を立てる:。
- A,Bを代入してド・モルガンで展開し簡単化してを得る。
選択肢別の誤答解説
- ア:
誤り。あたかも各信号が直接ANDされているかのように見なす誤りです。実際には各信号は先に否定されており、最終的にORになるため積ではありません。 - イ: 正解
上述の通り、上下がそれぞれとなり、中央NANDがそれらの積の否定でになります。 - ウ:
これは入力XとYを直接NANDした場合の式です。本問題ではXとYは直接中央に入らず、各々が先にNANDで否定されています。ゆえにこの式とは異なります。 - エ:
これはNOR(XまたはYの否定)です。今回の回路は最終的に否定が打ち消されており、出力は否定された和の否定、つまり和そのものになります。
補足コラム
NANDは普遍ゲート(universal gate)と呼ばれ、NANDだけで任意の論理回路が構成できます。本例では「同じ信号を両入力に繋ぐ=NANDでインバータを作る」という典型的なテクニックを使っています。内部ノードA,Bを明示して式変形する習慣をつけると、複雑な合成回路もミスなく解析できます。
具体的な式の流れ(まとめ):
FAQ
Q1: なぜ同じ信号を両入力に繋ぐとNOTになるのですか?
A1: NANDの出力はです。両方が同じならになり、結果として否定になります。
A1: NANDの出力はです。両方が同じならになり、結果として否定になります。
Q2: ド・モルガンの法則はどの場面で使うべきですか?
A2: 否定を含む積や和を論理演算で簡単化するときに必須です。今回のようにをに変える場面で用います。
A2: 否定を含む積や和を論理演算で簡単化するときに必須です。今回のようにをに変える場面で用います。
Q3: 中央がNANDでなくANDだったら結果はどうなる?
A3: 中央が非反転のANDならになり、とは異なります。論理バブルの有無を常に確認してください。
A3: 中央が非反転のANDならになり、とは異なります。論理バブルの有無を常に確認してください。
関連キーワード: NAND、NANDでインバータ、ド・モルガンの法則、論理回路、組合せ回路、ブール代数、否定、真理値表、普遍ゲート、論理最適化

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

