عبارات منطقی  

   يک عبارت منطقی، عبارتی است با مقدار درست يا نادرست. به عنوان مثال 5 بزرگتر از 3 است، يک عبارت منطقی است با مقدار درست و 5 کوچکتر از 3 است، نيز يک عبارت منطقی است اما با مقدار نادرست. در کامپيوتر نتيجه عبارات منطقی درست عدد يک و نتيجه عبارات منطقی نادرست عدد صفر خواهد بود.

ضمناً کامپيوتر هر عدد مخالف صفر را به عنوان يک عبارت منطقی درست در نظر می گيرد.

عملگرهای رابطه ای

   برای مقايسه دو متغير يا دو عبارت از عملگرهای رابطه ای استفاده می کنيم که همانطور که گفته شد دارای نتيجه درست يا نادرست می باشد. عملگرهای رابطه ای عبارتند از ==( مساوی )، =!( متفاوت )، <(بزرگتر از )، >( کوچکتر از )، =<( بزرگتر مساوی از )، =>( کوچکتر مساوی از ). به مثال های زير توجه کنيد.

(a==5)        ----->  نادرست
(a*b>=c)      ----->  درست
(b+4<a*c))    ----->  نادرست
((b=2)==a))   ----->  درست

   توجه کنيد که عملگر = همانند عملگر == نمی باشد. اولی عملگر انتساب است که مقدار سمت راست را در متغير سمت چپ قرار می دهد و ديگری عملگر رابطه ای است که برابر بودن يا نبودن دو مقدار را با هم مقايسه می کند. بنابراين در عبارت ((b=2)==a)) ما ابتدا مقدار 2 را در متغير b قرار داديم سپس آن را با a مقايسه کرديم، لذا نتيجه اين مقايسه درست بود.
عملگرهای منطقی
   عملگرهای منطقی عبارتند از ! ، || و && . نتيجه عملگر ! (NOT) وقتی درست است که عبارتی که اين عملگر بر روی آن عمل می کند نادرست باشد و نتيجه هنگامی نادرست است که عملوند آن درست باشد. ضمناً اين عملگر تنها يک عملوند دارد. در حقيقت اين عملگر نقيض عملوند خود را به عنوان نتيجه می دهد.
   به مثال های زير توجه کنيد:

!(5 == 5)   ----> نادرست
!(6 <= 4)   ----> درست
!0          ----> درست
!1          ----> نادرست

   عملگرهای &&(AND) و ||(OR) هنگامی مورد استفاده قرار می گيرند که بخواهيم از دو عبارت يک نتيجه را بدست آوريم. نbr#1578;يجه اين عملگرها بستگی به ارتباط بين دو عملوندشان طبق جدول زير دارد:

عملوند اول
b

عملوند دوم
a

نتيجه
a&&b

نتيجه
a||b

درست

درست

درست

درست

درست

نادرست

نادرست

درست

نادرست

درست

نادرست

درست

نادرست

نادرست

نادرست

نادرست

   به مثال های زير توجه نمائيد:

((5==5)&&(3>6))   ----->  نادرست
((5==5)||(3>6))   ----->  درست
((3-3)&&(3<5))    ----->  نادرست
((3-3)||(3<5))    ----->  درست

در مثال های زير به جای اعداد از متغير نيز استفاده شده است ( فرض کنيد a=1 و b=2 وc=3)

((b-2*a)&&(c==3))       ----->  نادرست
((b==2*a)&&(c!=4))      ----->  نادرست
((c==a+b)||(b<a))       ----->  درست
((b-c==-a)||(b-c==a))   ----->  درست

عملگر شرطی

    اين عملگر يک عبارت را مورد ارزيابی قرار می دهد و براساس عبارت ارزيابی شده مقادير متفاوتی را به عنوان نتيجه بر می گرداند. ساختار اين عملگر به صورت زير می باشد:

نتيجه 2 : نتيجه 1 ? شرط

   اگر شرط برقرار باشد نتيجه 1 به عنوان خروجی خواهد بود در غير اين صورت نتيجه 2 به عنوان خروجی در نظر گرفته می شود. به مثال های زير توجه نماييد:

7==6?4:3   --->خروجی عدد3 می باشد چون7 مساوی 6 نمی باشد 
8==6+2?4:3 --->خروجی عدد4 می باشد چون8 مساوی 6+2می باشد
6>3?a:b    --->خروجی a  می باشد چون 6 از 3 بزرگتر است
a>b?a:b    --->خروجی عدد بزرگتر می باشد a يا b

   همانطور که در عملگرهای محاسباتی ديديم درک تقدم عملگرها، اهميت ويژه ای داشت در اينجا نيز دانستن اين تقدم از اهميت خاصی برخوردار می باشد، تقدم عملگرهای رابطه ای ، منطقی و شرطی به ترتيب عبارتند از:
1- !
2- => > =< <
3- =! ==
4- &&
5- ||
6- :?

   به عنوان مثال مراحل بررسی عبارت مقابل به صورت زير می باشد:

2 >= 3 && 2 == 2 || 2 != 3
  1    4    2    5    3
 
نادرست
درست
درست
نادرست && درست  ---->  نادرست
نادرست || درست  ---->    درست
 
جواب نهايی درست می باشد

   پيشنهاد می شود برای جلوگيری از پيچيدگی فهم عبارتهای منطقی و يا محاسباتی تقدم های مورد نظر را با به کار بردن پرانتز کاملاً مشخص کنيم ،

(((2 >= 3) && (2 == 2)) || (2 != 3)
 

 

   معرفی کامپيوتروبرنامه نويسی

   ساختارهای کنترلی

   توابع

   آرايه ها

   اشاره گر ها و رشته ها

   کلاسها

   گرانبار کردن عملگر ها

 
 
 
   
 
 

حق کپی رایت محفوظ می باشد