Za rad s logičkim podacima, postoje logičke funkcije. Logičke se funkcije zapisuju logičkim operatorima.
Logički operatori mogu biti unarni i binarni.
|
Logički operatori |
|
Oznaka operatora |
Funkcija |
Operator |
|
! |
Negacija (unarni operator koji 1 pretvara u 0 i obratno) |
NOT |
|
&& |
Logički I (binarni operator) |
AND |
|
|| |
Logički ILI (binarni operator) |
OR |
Operator ILI zapisuje se simbolima || (kombinacija tipki Alt Gr+W).
|
Tablica stanja operatora
I |
Tablica stanja operatora
ILI |
Tablica stanja operatora
NE |
| A |
B |
A && B |
| 0 |
0 |
0 |
| 0 |
1 |
0 |
| 1 |
0 |
0 |
| 1 |
1 |
1 | |
| A |
B |
A || B |
| 0 |
0 |
0 |
| 0 |
1 |
1 |
| 1 |
0 |
1 |
| 1 |
1 |
1 | |
|
|
Zadatak:
|
Potrebno je unijeti dva podatka tipa bool pa ih pohraniti u varijable A i B. Ispisuje se negacija od A, vrijednost (A I B) te (A ILI B).
Ispis neka bude oblika:
Vrijednost logickog podatka A=
Vrijednost logickog podatka B=
Ako je logicki podatak A= ... tada je suprotno od A ....
Za A= .... i B= .... (A I B) = ....
Za A= .... i B= .... (A ILI B)= ....
|
Rješenje:
|
#include<iostream>
using namespace std;
int main()
{
bool a,b,c,d,e;
cout<<"Vrijednost logickog podatka A=";
cin>>a;
cout<<"Vrijednost logickog podatka B=";
cin>>b;
c=!a;
d=a&&b;
e=a||b;
cout<<endl<<"Ako je logicki podatak A="<<a<<" tada je suprotno od A="<<c<<endl;
cout<<"Za A="<<a<<" i B="<<b<<" (A I B)=" <<d<<endl;
cout<<"Za A="<<a<<" i B="<<b<<" (A ILI B)=" <<e<<endl;
return 0;
}
|
Provjera za unos vrijednosti 0 i 1:
|
Vrijednost logickog podatka A=0
Vrijednost logickog podatka B=1
Ako je logicki podatak A=0 tada je suprotno od A=1
Za A=0 i B=1 (A I B)=0
Za A=0 i B=1 (A ILI B)=1
|
|
|