16.1.2012 dvije godine postojanja naših stranica

Programiranje C++‎ > ‎Operatori‎ > ‎

Logički operatori

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
A ! A
0 1
1 0

 

 

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