אופרטורים לוגיים חלק 1
חלק מהיחידה יסודות במסלול ה-C++ של Coddy. שיעור 23 מתוך 74.
אופרטורים לוגיים משמשים לבדיקת שילובים של השוואות שמחזירות true או false.
לדוגמה, המשפט הבא מכיל שתי השוואות:
האם 5 גדול מ־3 וגם קטן מ־6?
| אופרטור | משמעות | דוגמה |
|---|---|---|
&& | וגם - true אם כל האופרנדים הם true | a && b |
|| | או - true אם לפחות אחד מהאופרנדים הוא true | a || b |
! | לא - true אם האופרנד הוא false | !a |
נראה כמה דוגמאות:
5 גדול מ־3 ו־1 שווה ל־1:
bool b1 = (5 > 3) && (1 == 1); // מחזיק ערך אמתהסבר: כל האופרנדים הם true, ולכן b1 יכיל true (פעולת and היא true אם שני האופרנדים הם true) .
5 אינו שווה ל־4 או ש־5 שווה ל־2:
bool b2 = !(5 == 4) || (5 == 2); // ערכו הוא אמתהסבר: האופרנד הראשון (!(5 == 4)) הוא true, ולכן גם b2 הוא true (פעולת or היא true אם אחד מהאופרנדים הוא true)
1 אינו שווה ל-1 או false:
bool b3 = !(1 == 1) || false; // מכיל falseהסבר: כל האופרנדים הם false, לכן b3 יכיל false (פעולת or).
3 אינו גדול מ-4:
bool b4 = !(3 > 4); // מכיל את הערך trueהסבר: האופרנד הוא false, ולכן b4 יכיל true (פעולת not).
5 אינו גדול מ־10 או 5 אינו גדול מ־1:
bool b5 = !(5 > 10 || 5 > 1); // מכיל את הערך falseהסבר: 5 > 10 || 5 > 1 הוא true (אחד מהאופרנדים הוא true), ולכן בסך הכול b5 הוא false (פעולת not).
אתגר
מתחיליםקיבלת קוד. החליפו את סימני השאלה של המשתנים bool b1 ו־bool b2 כך שהמשתנה bool b3 יכיל את הערך true.
קחו רגע לנתח את התנאי ולחשוב אילו ערכים יהפכו אותו לנכון.
יש הרבה פתרונות נכונים!
נסו בעצמכם
#include <iostream>
int main() {
// הקלידו את הקוד שלכם למטה
bool b1 = ?;
bool b2 = ?;
bool b3 = b1 || b2;
// אל תשנו את השורה למטה
std::cout << "b3 = " << b3;
return 0;
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוהגדלה/הקטנההגדלה/הקטנה לאחר הפעולהקיצורים אריתמטייםאופרטורי השוואההשוואת מחרוזות5אופרטורים חלק 2
אופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2חזרה – לוגיקה פשוטהאופרטורים לוגיים חלק 3תרגלו בעצמכם: קומפיילר C++ אונליין