問題

(出典:日本技術士会のホームページ 過去問題(第一次試験) 基礎科目 令和5年度)
コーチング対話解答
ツトムさんこれは論理演算の問題ですね。
式にカッコが多くて、丁寧に計算しないといけないですね。



まず、排他的論理和とはどのようなものですか?



排他的論理和は、XORとも言い、
いずれか一方のみが「真」の時に「真」、
両方「真」や両方「偽」の時は「偽」
になる演算です。
問題の事例では
1010 ⊕ 0110 = 1100
となっていて、頭の数字の計算が1+0=1になっていますので、
「1」が真で、「0」が偽になりますから、
ベン図や真理値表で表すと、以下のようになります。





いいですね。
それでは論理積はどうですか?。





論理積は、ANDとも言い、
いずれも「真」の時に「真」、
それ以外は「偽」
となる演算です。
先ほどと同様の説明は、以下のようになります。





それでは、計算していってください。



まず、一番内側のカッコの部分を計算します。
| A | 01011101 |
| B | 10101101 |
| A ⊕ B | 11110000 |



次にそのカッコの外側までの計算をします。
| A ⊕ B | 11110000 |
| B | 10101101 |
| ( A ⊕ B ) ⊕ B | 01011101 |



その外側の計算をします。
| ( A ⊕ B ) ⊕ B | 01011101 |
| A | 01011101 |
| (( A ⊕ B ) ⊕ B ) ⊕ A | 00000000 |



あれっ、全部0になりましたね。
次の計算をします。
| (( A ⊕ B ) ⊕ B ) ⊕ A | 00000000 |
| A | 01011101 |
| ((( A ⊕ B ) ⊕ B ) ⊕ A )・A | 00000000 |



全部0なので、答えは➀ ですね。



正解です。
それでは論理演算の性質を考えてみましょう。
排他的論理和の性質は以下です。
1.X ⊕ Y = Y ⊕ X ・・・交換律
2.( X ⊕ Y ) ⊕ Z = X ⊕ ( Y ⊕ Z ) ・・・結合律
3.X ・ ( Y ⊕ Z ) = ( X ・ Y ) ⊕ ( X ・ Z ) ・・・分配律
4.X ⊕ X = 0 ・・・自己消去
5.X ⊕ 0 = X



これらの公式を使うとどのように変形できますか?



変形をしていきます。
(((A⊕B)⊕B)⊕A)・A
=(((A⊕(B⊕B))⊕A)・A (2番目の式から)
=((A⊕0)⊕A)・A (4番目の式から)
=(A⊕+A)・A (5番目の式から)
=0・A (4番目の式から)
となります。
論理積は片方が0ですと、0になりますので、
結局、全て0になりますね。





良くできました。
ツトムさんが最初にやったように、
丁寧に1つずつ計算していってもいいですが、
論理演算の公式を知っていれば、
その公式で与えられた式を簡単にしてから、
値を入れていってもいいです。



今回の問題では値を入れるまでもなく、
答えが求まりますけどね。


