Menu
Coddy logo textTech

אופרטורים לוגיים חלק 3

חלק מהיחידה יסודות במסלול ה-C של Coddy. שיעור 23 מתוך 63.

כאשר בודקים כמה תנאים, התוכנית מפסיקה לבדוק ברגע שהיא יודעת מה התשובה הסופית. זה נקרא הערכה בקיצור דרך.

לדוגמה:

int x = 0;
int y = 5;
int result = (x != 0) && (y / x > 2);

כאן x שווה ל־0, ולכן, הוא לא יבדוק את y / x > 2. אם נהפוך את הסדר:

int result = (y / x > 2) && (x != 0);

הדבר יגרום לשגיאה כי y יחולק ב-0, פעולה שאינה מוגדרת ב-C. לכן מומלץ לחשוב היטב על הפעולות, כדי שתוכל לכתוב קוד נכון ויעיל, אך נטול שגיאות.

משתמשים בטכניקה הזו כדי לייעל את ההערכה של ביטויים לוגיים. לדוגמה:

int a = 0;
int b = 2;
int c = 3;
int d = 5;
int result = (a > 0 && b < 2) || (c < -5 && d < 10);

בדוגמה הזו, b < 2 ו-d < 10 לא יוערכו, משום שגם a > 0 וגם c < -5 הם ביטויים שקריים.

challenge icon

אתגר

קל

צרו תוכנית כדי לקבוע אם זהו יום טוב להפקת אנרגיה מפאנלים סולאריים

אתחלו את המשתנים האלה:

  • isSunny עם הערך 1 (true)
  • windSpeed עם הערך 5.4
  • temperature עם הערך 23
  • solarPanelOutput עם הערך 9
  • isCloudy עם הערך 0 (false)

צרו ביטוי לוגי אחד שבודק את כל התנאים האלה:

  • יש שמש
  • מהירות הרוח נמוכה מ-10
  • התפוקה של הפאנל הסולארי נמוכה מ-15
  • הטמפרטורה גבוהה מ-20 OR שאין עננים

הדפיסו "Good day for solar energy" אם כל התנאים מתקיימים, אחרת הדפיסו "Not ideal for solar energy".

נסו בעצמכם

#include <stdio.h>

int main() {
    // אתחלו את המשתנים
    int isSunny = 1;
    float windSpeed = 5.4;
    int temperature = 23;
    int solarPanelOutput = 9;
    int isCloudy = 0;
    
    // צרו את הביטוי הלוגי
    int isGoodDay = 
    
    // אל תשנו את הקוד שלהלן
    if (isGoodDay) {
        printf("Good day for solar energy\n");
    } else {
        printf("Not ideal for solar energy\n");
    }
    
    return 0;
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר C אונליין