Амалҳои мантиқии Ҷорҷ Бул ба шумо имконияти сохтани операторҳои мураккаби мантиқиро медиҳанд. Амали мантиқии NOT чунин муайян шудааст:
X | NOT X |
---|---|
FALSE | TRUE |
TRUE | FALSE |
Амали мантиқии AND чунин муайян шудааст:
X | Y | X AND Y |
---|---|---|
FALSE | FALSE | FALSE |
FALSE | TRUE | FALSE |
TRUE | FALSE | FALSE |
TRUE | TRUE | TRUE |
Амали мантиқии OR чунин муайян шудааст:
X | Y | X 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 чист?