• ベストアンサー

真理値表から論理式を導く

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の論理式で表すとどうなるんでしょうか?また真理値表から論理式を求める手順を教えていただけるとさらにうれしいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

Z=a・B・C+A・b・C+A・B・c 小文字はnotを示します。 手順 Z=1のものだけを選んで論理式にする。

その他の回答 (2)

回答No.3

はじめまして。 最も単純な方法は、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風としています。

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.2

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)) 書き方が出鱈目ですが。