1

Я готовлю к экзамену, который у меня есть в понедельник, и профессор сказал, что это будет на экзамене наверняка. Я знаю основные теоремы булевой алгебры, но я не могу их упростить. 3. Если кто-то может объяснить, как это можно было бы сделать без использования таблицы истинности или k-карты.Упрощение булевой алгебры (подготовка к экзамену)

boolean

+0

Этот вопрос не соответствует теме, потому что речь идет о дискретной математике, которая более подходит для math.stackexchange.com. – templatetypedef

ответ

2

относятся ваши заметки. проверьте идентификаторы, которые вы можете применить для упрощения этих выражений. например

  1. Y = C (A + A'B ') => C (A + B') с использованием (A + A'B) = A + B закон

  2. Используйте Де Моргана

  3. если вы решите первые 2, вы можете сделать это.

Here Вы можете обратиться к основным правилам.

+0

Итак, для второго после применения DeMorgans я получил A'B '+ A' B C '+ A C' , но нет кратности, поэтому какие шаги я должен предпринять? – petrov

+0

@petrov его можно упростить далее A'B '+ A'BC' + AC ' => A' (B '+ BC') + AC ' => A' (B '+ C') + AC ' (с использованием тех же правил, примененных в Q1) => A'B '+ A'C' + AC ' => A'B' + C '(A' + A) => A'B '+ C' – Nishant

0

Ну с использованием C++ и позволяя компьютеру делать тяжелую работу, которую вы могли бы сделать это как этот

# include <iostream> 

using namespace std; 

int main() 
{ 
bool Y1,Y2,A,B,C; 
Y1 = true; 
Y2 = true; 
B = false; 
A = false; 
C = false; 

Y1 = A*C+(!A)*(!B)*(C); 

Y2 = (!A)*(!B) + (!A)*(B)*(!C) + !(A+(!C)); 

if (Y1) 
    cout << "First" << "True"<<endl; 

if (Y2) 
    cout << "Second" << "True"<<endl; 

system("Pause"); 
return 0; 

}