プロが教える店舗&オフィスのセキュリティ対策術

A B C Z
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0
という真理値表があります。A,B,Cが入力でZが出力です。
この場合ZをA,B,Cの論理式で表すとどうなるんでしょうか?また真理値表から論理式を求める手順を教えていただけるとさらにうれしいです。

A 回答 (3件)

Z=a・B・C+A・b・C+A・B・c


小文字はnotを示します。

手順
Z=1のものだけを選んで論理式にする。
    • good
    • 1

はじめまして。



最も単純な方法は、ymmasayanさんの方法です。
私なりの補足を行いますと・・・

Z=1となるのは以下の3通り。

A B C Z
0 1 1 1
1 0 1 1
1 1 0 1

言葉で表すと、

(A=0 かつ B=1 かつ C=1)または
(A=1 かつ B=0 かつ C=1)または
(A=1 かつ B=1 かつ C=0)
のとき
が Z=1 である。

そして、以下の手順で変換していけば良いのです。

A=0 → ~A (Aの否定)
A=1 → A (Aのまま)
または → | (論理和)
かつ → & (論理積)

そうすると、

Z = (~A & B & C)|(A & ~B & C)|(A & B & ~C)

となります。
ymmasayanさんと異なるのは、&と|の優先順位を同じと解釈しているからです。

※なお、記号と演算子の優先順位はVeriolg風としています。
    • good
    • 0

Aが0の場合、1の場合に分けて、



A B C Z
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1

1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0

Z=~A&(前半B、Cだけの論理式) | A&(後半B、Cだけの論理式)

前半部はBCのand、後半部はxorをひっくり返したように見えるので、

Z=~A&(B&C) | A&(~(B xor C))

書き方が出鱈目ですが。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!