今回は平成23年度 機械科目 A問題14を解説します。入力信号A,B及びC、出力信号ZのNANDゲートとORゲートが混在した論理回路について、正しい真理値表を選ぶ問題です。
回路の中間ノードにD,E,Fと文字を割り付けて段階的に論理式を求めるのがコツです。最終的にZ=A・B・C+Ā・B̄・C+A・B̄・C̄+Ā・B・C̄という形に整理できます。
平成23年度 機械科目 A問題14:問題文と選択肢
まずは、実際の試験問題を確認してみましょう。

出典:一般財団法人 電気技術者試験センター「平成23年度 第三種電気主任技術者試験」機械科目 A問題14
電験3種 機械科目 【情報】 平成23年度 A問題14
図のように,入力信号A,B及びC,出力信号Zの論理回路がある。この論理回路の真理値表として,正しいものを次の(1)〜(5)のうちから一つ選べ。
A,B,C (1) (2) (3) (4) (5) 000 0 1 1 1 0 001 1 1 1 0 0 010 1 0 1 1 1 011 0 0 0 1 1 100 1 1 1 0 0 101 0 0 0 1 1 110 0 1 1 1 0 111 1 0 0 1 1

出題のポイント:中間ノードに文字を割り付ける
NAND とOR が混ざった回路——一気に式を作ろうとすると混乱します。ゲートの出口ごとに D、E、F と名前を付けるのが確実です。
名前を付けたら、その式を次の段に代入していく——1段ずつ進めば必ず正しい式にたどり着きます。
最終的に得られるのは Z=A·B·C+Ā·B̄·C+A·B̄·C̄+Ā·B·C̄——4項の積和形式です。
| A | B | C | 該当する項 | Z |
| 0 | 0 | 0 | なし | 0 |
| 0 | 0 | 1 | Ā·B̄·C | ★1 |
| 0 | 1 | 0 | Ā·B·C̄ | ★1 |
| 0 | 1 | 1 | なし | 0 |
| 1 | 0 | 0 | A·B̄·C̄ | ★1 |
| 1 | 0 | 1 | なし | 0 |
| 1 | 1 | 0 | なし | 0 |
| 1 | 1 | 1 | A·B·C | ★1 |
Z の並びは 0、1、1、0、1、0、0、1——これと一致する選択肢を選ぶだけです。



この回路も奇数パリティ
4つの項をよく見ると、法則があります。1 の個数に注目してみましょう。
| 項 | A、B、C | 1 の個数 |
| Ā·B̄·C | 0、0、1 | 1個 |
| Ā·B·C̄ | 0、1、0 | 1個 |
| A·B̄·C̄ | 1、0、0 | 1個 |
| A·B·C | 1、1、1 | ★3個 |
すべて奇数個——つまりZ=A⊕B⊕C(3入力のEX-OR) です。1 の個数が奇数のときだけ1 になります。
★奇数パリティ
NAND とOR を組み合わせて、EX-OR を作っているのが本問の回路です。EX-OR は基本ゲートではない——AND・OR・NOT の組合せで作る必要があるからです。
意味が分かれば、真理値表を8行埋めなくても判定できます——「1 の個数が奇数なら1」という規則で、8行を一気に書き出せるのです。
⚠️ よくある間違い
選択肢を全部照合する必要はありません。まずA=B=C=0 の行を見る——1 が0個(偶数)なのでZ=0。これで(2)(3)(4)が落ちます。
次にA=0、B=0、C=1 を見る——1 が1個(奇数)なのでZ=1。(5)が落ちて(1)が残ります。
2行だけで決着——回路を読む時間さえあれば、あとは一瞬です。
⏱️ 本番での進め方
① 中間ノードに D、E、F と名前を付けて1段ずつ進む。
② Z=A·B·C+Ā·B̄·C+A·B̄·C̄+Ā·B·C̄。
③★4項とも1 の個数が奇数=3入力EX-OR。
④ 000(Z=0)と001(Z=1)の2行で選択肢が決まる。
💡 覚え方
「1 の個数が奇数なら1」=3入力EX-OR——4項の積和形式はこの形。意味が分かれば8行を一気に書けます。

EX-OR を基本ゲートで作る
本問の回路はNAND とOR でEX-OR を作っています——EX-OR は基本ゲートではないので、組み合わせて作る必要があるのです。
| 作り方 | 式 | ゲート数 |
| AND-OR形 | Ā·B+A·B̄ | NOT 2+AND 2+OR 1=5個 |
| NAND形 | ★NAND 4個で作れる | 4個 |
NAND 4個で作れるのがよく知られた構成です。1種類のゲートで済むので、IC の設計では好まれる——本問の回路も、その発想でできています。
3入力に広げる
3入力のEX-OR は、2入力を2段重ねる——(A⊕B)⊕C という形です。結合法則が成り立つので、順番は自由になります。
結果は「1 の個数が奇数なら1」——何入力でも同じ規則です。だから何ビットのデータでもパリティが作れるのです。
8ビットのデータなら、EX-OR を7段(または木構造で3段)——木構造にすれば遅延が小さくなります。同じ論理でも、つなぎ方で速さが変わるのが回路設計の面白いところです。
回路から真理値表を作る2つの道
本問のように回路が与えられたとき、真理値表を作る方法は2つあります。どちらが速いかは回路の規模しだいです。
| 方法 | やり方 | 向いている場面 |
| 式を作ってから代入 | 中間ノードに文字を置いて論理式へ | ★式が簡単になる回路 |
| 入力を直接代入 | 8通りの入力を1つずつゲートに通す | 式が複雑な回路 |
本問は式にすると4項の積和形式——やや長いので、「2行だけ直接代入して選択肢を落とす」ほうが速いかもしれません。
000 と001 の2行——この2つを回路に直接通せば、それだけで答えが決まりました。選択肢が5つある問題では、全部を求める必要がないのです。
回路図を読むときのチェック
ゲートの記号を取り違えない——出力側の小さな丸(バブル)が否定を表します。
| 記号 | バブル | 意味 |
| AND | なし | 両方1 で1 |
| NAND | ★出力側にあり | AND の否定 |
| OR | なし | どちらか1 で1 |
| NOR | ★出力側にあり | OR の否定 |
小さな丸を見落とすと、答えがまるごと反転します——図をよく見て、丸の有無を確認してください。入力側に丸が付いていることもあるので、そちらも要注意です。
パリティ回路としての意味
本問のZ は3入力のEX-OR——1 の個数が奇数のとき1 になります。これは奇数パリティ生成回路そのものです。
| 1 の個数 | 該当する入力 | Z |
| 0個 | 000 | 0 |
| 1個 | 001、010、100 | ★1 |
| 2個 | 011、101、110 | 0 |
| 3個 | 111 | ★1 |
送信するデータにこのZ を付け加えれば、全体の1 の個数が偶数になります——受信側で1 の個数を数えれば、誤りがあったか判定できるのです。
逆にZ をそのまま付ければ、全体が奇数個——どちらの流儀を使うかは決めごとです。送信側と受信側で合わせておけばよいことになります。
EX-OR ひとつで誤り検出ができる——単純だが実用的な仕組みです。本問の回路が、通信やメモリの信頼性を支えていると考えると、4項の論理式にも意味が見えてきます。
まとめ
| D | A・B+Ā・B̄ |
| E | D+C |
| F | (D・C)̄=D̄+C̄ |
| Z=1の組合せ | 111,001,100,010 |
| 答え | (1) |
▼あわせて解きたい関連問題
・4AND-OR・3NAND-NANDの論理回路で出力X,Yを求める:【機械】平成24年度A問題14
・EX-OR・EX-NOR混成回路の真理値表を求める:【機械】平成30年度A問題14

コメント