Печать
Категория: C++
Просмотров: 1718

Амалҳои мантиқии Ҷорҷ Бул ба шумо имконияти сохтани операторҳои мураккаби мантиқиро медиҳанд. Амали мантиқии NOT чунин муайян шудааст:

XNOT X
FALSE TRUE
TRUE FALSE

Амали мантиқии AND чунин муайян шудааст:

XYX AND Y
FALSE FALSE FALSE
FALSE TRUE FALSE
TRUE FALSE FALSE
TRUE TRUE TRUE

Амали мантиқии OR чунин муайян шудааст:

XYX OR Y
FALSE FALSE FALSE
FALSE TRUE TRUE
TRUE FALSE TRUE
TRUE TRUE TRUE

Операторҳои С++, ки ба ин амалҳои мантиқӣ баробарқувваанд:

Амали БулОператори С++Мисол
NOT ! NOT(x) ин !x
AND && (b>0)AND(b<5) ин (b>0)&&(b<5)
OR || (a<0)OR(a>5) ин (a<0)||(a>5)

Мумкин аст, ки комбинатсияи якчанд операторҳои мантиқӣ истифода шавад. Дар хотир нигоҳ доштан зарур аст, ки амали ! (NOT) ҳама вақт пеш аз амалҳои || (OR) ва && (AND) иҷро карда мешавад. Амали && (AND) пеш аз || (OR) иҷро карда мешавад. Амали || (OR) баъд аз && (AND) иҷро карда мешавад.

Мисолҳо. !(1&&0) баробар аст ба TRUE, чунки аввал амали даруни қафсҳо иҷро карда мешавад ва он баробари 0 (FALSE) (нигаред ба ҷадвали AND), баъд амали !0 иҷро карда мешавад ва он ба TRUE баробар аст.

Санҷед, ки қимати !(1||1&&0) ба FALSE баробар аст (амали AND пеш аз OR иҷро карда мешавад).

Қимати !((1||1)&&0) ба TRUE баробар аст (аввал амали даруни қафсҳо буда иҷро карда мешавад). Агар дар фаҳмидани ин мисолҳо душвори кашида истода бошед, алгебраи булиро камтар такрор кунед. Як мисоли истифодаи ин амалҳоро меорем, ки онро худ таҳлил кунед:

//namuna06.cpp 
#include <iostream.h>
int main() {
float k_peshtara, mini, maxi, k_nav;
cout<<"Kimati peshtara: ";
cin>>k_peshtara;
mini=k_peshtara-k_peshtara/100*2;
maxi=k_peshtara*1.02;
cout<<"Kimati nav:";
cin>>k_nav;
cout<<"Kimati peshtara="<<k_peshtara;
cout<<"\tHududi poyoni="<<mini;
cout<<"\tHududi boloi="<<maxi<<endl;
if(k_nav>mini && k_nav<maxi)
cout<<"Kimati nav ba peshtara nazdik ast"<<endl;
else if(k_nav<mini)
cout<<"Kimati nav az kimati peshtara khelo khurd ast"<<endl;
else
cout<<"Kimati nav az kimati peshtara khelo kalon ast"<<endl;
return 0;
}

САВОЛҲО БАРОИ МУСТАҲКАМКУНӢ
1. Кадом амалҳои мантиқиро медонед?
2. Пайдарпии иҷрошавии амалҳои мантиқии овардашударо фаҳмонед.
3. Гӯед, ки қимати 1&&0||0 ба чӣ баробар аст?
4. Вазифаи қафсҳои доиравӣ ( ва ) дар паси if чист?