Menu
CoddyTech

אופרטורים לוגיים חלק 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 (אמת)
  • windSpeed עם הערך 5.4
  • temperature עם הערך 23
  • solarPanelOutput עם הערך 9
  • isCloudy עם הערך 0 (שקר)

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

  • יום שמשי
  • מהירות הרוח קטנה מ-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 אונליין