2012-01-26 136 views
-1

鑑於這些值布爾變量xy,並且z混淆布爾表達式

x = true 
y = false 
z = true 

爲什麼下面的邏輯表達式計算結果爲true

(x || !y) && (!x || z) 
+0

(true || true)&&(false || true)是true所以你有什麼問題? – abhiasawa

+0

這應該被標記爲家庭作業嗎? –

+1

@DavidHoerster我不認爲這是一個家庭作業問題。即使教授也不會給出這樣簡單的問題:P – abhiasawa

回答

2

替代在x值,y,並且z

(true || !false) && (!true || true) 

翻轉否定值:

(true || true) && (false || true) 

更換或運算語句(如果一方是真實的,整個語句true):

true && true 

Replac e ANDed語句(如果雙方均爲真,則全部陳述爲真):

true 
-1
(x || !y) && (!x || z) 
= (T || !F) && (!T || T) <-- plug in x = T, y = F, z = T 
= (T || T) && (F || T) <-- !F = T, !T = F 
= T && T <- T || T = T, F || T = T 
= T <- T && T = T 

其實,請告訴我們什麼是如此混亂;我有些困惑,你覺得它很混亂。

1

對或錯總是爲真。 true || false 真和真總是正確的。 true && true

0

X在第一個分組中爲true,導致第一個分組爲true。 Z在第二個分組中爲真,從而導致第二個分組爲真。因此第1組和第2組是正確的。