2012-01-26 3 views
-1

Учитывая эти значения для логических переменных x, y и z:Смешение Boolean Expression

x = true 
y = false 
z = true 

Почему следующее логическое выражение вычисляться true?

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

(true || true) && (false || true) истинно Итак, где у вас есть проблема? – abhiasawa

+0

Должно ли это быть помечено как домашнее задание? –

+1

@DavidHoerster Я не думаю, что это проблема домашних заданий. Даже профессора не давали бы таких простых проблем: P – abhiasawa

ответ

2

подстановку значений x, y и z:

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

Флип инверсных значения:

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

Replace заявления Ored (если одна сторона, правда, все утверждение true):

true && true 

Заменить операции AND заявление (если обе стороны верно, все утверждение верно):

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. true || false Истина и истина всегда верны. true && true

0

X истинно в первой группировке, в результате чего первая группировка будет истинной. Z истинно во второй группе, что приводит к тому, что вторая группировка верна. Поэтому группы 1 и 2 являются истинными.

Смежные вопросы