Menu
Coddy logo textTech

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

חלק מהיחידה יסודות במסלול ה-Java של Coddy. שיעור 25 מתוך 73.

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

לדוגמה:

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

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

boolean result = y / x > 2 && x != 0;

פעולה זו תגרום לשגיאה, כי y יחולק ב־0, דבר שאינו חוקי במתמטיקה.

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

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

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

challenge icon

אתגר

מתחילים

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

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

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

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

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

נסו בעצמכם

public class Main {
    public static void main(String[] args) {
        // אתחלו את המשתנים
        // החליפו כל ערך מציין מקום למטה בערך המבוקש במשימה
        boolean isSunny = false;
        double windSpeed = 0.0;
        int temperature = 0;
        int solarPanelOutput = 0;
        boolean isCloudy = false;

        // הביטוי הלוגי המלא
        // החליפו את מציין המקום למטה בביטוי אחד המשלב את כל ארבעת התנאים
        boolean result = false;

        // אל תמחקו את השורות למטה
        System.out.println("Checking conditions for solar energy production...");
        System.out.println("1. Is it sunny? " + isSunny);
        System.out.println("2. Is wind speed safe? " + (windSpeed < 10));
        System.out.println("3. Can panels produce more? " + (solarPanelOutput < 15));
        System.out.println("4. Is temperature good OR no clouds? " + (temperature > 20 || !isCloudy));
        System.out.println("\nFinal result - Good day for solar energy production: " + result);
    }
}
quiz iconבחנו את עצמכם

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

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

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