شرایط پیچیده
مشکل قبلی را می توان با استفاده از شرایط پیچیده به روش کوتاه تری حل کرد.
بیایید بفهمیم که یک
شرایط پیچیده چیست.
شرایط ساده از یک رابطه (بزرگتر از، کمتر از و غیره) تشکیل شده است. اما گاهی اوقات لازم است شرایط ساده را با شرایط پیچیده تر ترکیب کنیم. مثلاً بیرون هوا سرد است و باران می بارد. دو شرط ساده (بیرون هوا سرد است)، (بیرون باران می بارد) در اینجا با
AND
پیوند داده شده اند.
شرایط پیچیده - شامل دو یا چند شرط ساده است که با عملیات منطقی ترکیب می شود .
اتصالات منطقی در C++
&&
- ضرب منطقی (AND);
||
- اضافه منطقی (OR)؛
!
- نفی منطقی (NOT).
ضرب منطقی (عملیات AND) نیاز به دو شرط دارد که به طور همزمان برآورده شوند:
condition_1 && condition_2
فقط در صورتی که هر دو شرط ساده همزمان درست باشند به درستی ارزیابی می شود.
علاوه بر این، در زبان برنامه نویسی C، اگر
condition_1
نادرست باشد،
condition_2
بررسی نمی شود.
ضرب منطقی (عملیات OR) به حداقل یکی از شرایط زیر نیاز دارد:
شرایط_1 || شرط_2
فقط در صورتی به نادرست ارزیابی می شود که هر دو شرط ساده همزمان نادرست باشند.
علاوه بر این، در زبان برنامه نویسی C، اگر
condition_1
درست باشد،
condition_2
بررسی نخواهد شد.
ضرب منطقی (عملیات نه)
!condition_1
اگر
condition_1
درست و بالعکس.
به عنوان مثال، دو شرط زیر معادل هستند:
A>B
و
!(A<=B)
.
اولویت اجرای عملیات و روابط منطقی
1. عملیات در پرانتز.
2. عملیات NOT.
3. روابط منطقی >, <, >=, <=, ==, !=.
4. عملیات I.
5. عملیات OR.
از پرانتز برای تغییر ترتیب اقدامات استفاده می شود.
متغیرهای بولی
در بسیاری از زبان های برنامه نویسی، می توان از متغیرهایی استفاده کرد که مقادیر بولی ("true"/"false") را ذخیره می کنند. در C++، چنین متغیرهایی می توانند مقادیر
true
(true) یا
false
(false) را بگیرند. به عنوان مثال، یک قطعه برنامه:
bool a, b;
a = درست
b=نادرست
cout << یک || ب
1
را نمایش می دهد (که با مقدار true
مطابقت دارد، مقدار false
مربوط به 0
است).
متغیرهای بولی از نوع bool
هستند که از نام ریاضیدان انگلیسی جورج بول، خالق جبر منطق نامگذاری شده است.