2013-12-10 39 views
-5

如何簡化這些複合邏輯表達式?如何簡化這些複合邏輯表達式?

!((x <= 5) && (y == 10) && (z < 5)) // 1 
!(x == 10) || !((y == 5) || (z < 0)) // 2 

我已閱讀簡化規則,但我不明白如何處理==

這是「編程的ANSI C」用E Balagurasy 寫在設計決策聲明中,我們經常會遇到,其中邏輯NOT運算符應用於複合邏輯表達式,如情況(X & & Y!| |!z)。然而,積極的邏輯總是易於閱讀和理解,而不是負面的邏輯。在這種情況下,我們可以應用所謂的德摩根規則來使總表達式成爲正數。規則如下:「通過將NOT運算符應用於每個邏輯表達式組件,同時補充關係運算符來刪除括號」。例如:!(x & & y ||!z)變成!x || !y & & z。

+2

作業問題? –

+1

我猜你想要否定正常形式?順便說一句,'=='的對面是'!='。我不明白你的意思是「哪裏沒有括號」。我沒有看到沒有的地方。 –

+0

第一步是添加一些空格以使表達式更具可讀性。下一步就是向我們展示到目前爲止你所做的一切。 – Praetorian

回答

0

我給你一些提示,以便不爲你做你的功課:

!(a || b || c) = (!a && !b && !c)

!(a && b && c) = (!a || !b || !c)

!(a == b) = (a != b)

!(a <= b) = (a > b)

你應該能夠從那裏拿走它。

+0

比你的答案。我知道了。謝謝您的幫助 – user3087840