אופרטורים לוגיים חלק 3
חלק מהיחידה יסודות במסלול ה-C# של Coddy. שיעור 24 מתוך 69.
בעת בדיקת כמה תנאים, המחשב מפסיק לבדוק ברגע שהוא יודע מה התשובה הסופית (הדבר נקרא הערכה בקצר חשמלי).
לדוגמה:
int x = 0;
int y = 5;
bool result = x != 0 && y / x > 2;כאן x שווה ל־0, לכן לא יתבצע חישוב של y / x > 2. אם נהפוך את הסדר:
bool result = y / x > 2 && x != 0;הדבר יגרום לשגיאה, משום ש־y יחולק ב־0, דבר שאינו חוקי במתמטיקה.
משתמשים בטכניקה הזאת כדי לייעל את ההערכה של ביטויים לוגיים. לדוגמה:
int a = 0;
int b = 2;
int c = 3;
int d = 5;
bool result = (a > 0 && b < 2) || (c < -5 && d < 10);בדוגמה זו b < 2 ו-d < 10 לא יוערכו כי a > 0 וגם c < -5 שקריים.
אתגר
מתחיליםבואו ניצור תוכנית שתקבע אם זהו יום טוב לייצור אנרגיה באמצעות פאנלים סולאריים
אתחלו את המשתנים האלה:
isSunnyעם הערך truewindSpeedעם הערך 5.4temperatureעם הערך 23solarPanelOutputעם הערך 9isCloudyעם הערך false
צרו ביטוי לוגי אחד שבודק את כל התנאים האלה:
- יש שמש
- מהירות הרוח נמוכה מ־10
- תפוקת הפאנל הסולארי נמוכה מ־15
- הטמפרטורה גבוהה מ־20 או שאין עננים
נסו בעצמכם
using System;
public class Program {
public static void Main(string[] args) {
// אתחלו את המשתנים
// החליפו כל ערך מציין מקום בערך המתואר במשימה
bool isSunny = false;
double windSpeed = 0.0;
int temperature = 0;
int solarPanelOutput = 0;
bool isCloudy = true;
// הביטוי הלוגי המלא
// החליפו את מציין המקום שלהלן בביטוי המתואר במשימה
bool result = false;
// אל תמחקו את השורות שלהלן
Console.WriteLine("Checking conditions for solar energy production...");
Console.WriteLine("1. Is it sunny? " + isSunny);
Console.WriteLine("2. Is wind speed safe? " + (windSpeed < 10));
Console.WriteLine("3. Can panels produce more? " + (solarPanelOutput < 15));
Console.WriteLine("4. Is temperature good OR no clouds? " + (temperature > 20 || !isCloudy));
Console.WriteLine("\nFinal result - Good day for solar energy production: " + result);
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוהגדלה/הקטנההגדלה/הקטנה אחרי הפעולהקיצורים אריתמטיים5אופרטורים חלק 2
אופרטורי השוואהאופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2סיכום — לוגיקה פשוטהאופרטורים לוגיים חלק 3תרגלו בעצמכם: קומפיילר C# אונליין