Събота, 19 Ноември 2011 17:12

булева функция - закон за поглъщане с конюнкция

Написана от 
Оценете
(0 гласа)

Да се състави програма (C++), чрез която се доказва закона за преместване за булевата функция (A ^ ( B v A)) = A чрез проверка на всеки терм от таблицата за истинност.
Използвани означения:
! - отрицание, логическа функция Not
v - дизюнкция, логическа функция Or
^ - конюнкция, логическа функция And

Решение

  
#include <iostream>
using namespace std;
bool zakon_pr(bool mas[][2])
{ int i;
  bool a1,a2,f1=true,f2;
for (i=0;i<4;i++)
{a1=mas[i][0];a2=mas[i][1];
    if ((a1 && (a2 || a1)) ==a1)  
  {cout<<"Wqrno za: "<<a1<<" "<<a2<<endl; 
  f2=true;
  }
else 
  {cout<<"Newqrno za: "<<a1<<" "<<a2<<endl; 
   f2=false;
  }
  f1=f1 && f2;
 } 
return f1;
}

int main()
{ bool mas[4][2] = {{0,0},{0,1},{1,0},{1,1}};
 bool f;
//predwaritelno se wywevdat wsichi kombinacii ot stojnosti na 2-te bulewi promenliwi
// zakon za poglyshane (A ^ (B v A) = A 
 cout<<"Zakon za poglyshane (A ^ (B v A) = A  \n";
 f=zakon_pr(mas);
 if (f) cout<<"Zakonyt se izpylnqwa za wseki otdelen term.\n";
  else cout<<"Pone edin term ot tablicata za istinnost e sys stojnost 0.\n";

system("pause");
return 0;
}
Прочетена 2405 пъти