במערכת "SmartHome" כל מכשיר מקבל מזהה ייחודי (string) המורכב משם החדר, התו נקודתיים (":") ושם מכשיר.
במערכת "SmartHome" כל מכשיר מקבל מזהה ייחודי (string) המורכב משם החדר, התו נקודתיים (":") ושם מכשיר.
לדוגמה: "KITCHEN:LIGHT", "ROOM_2:TV", "MICROWAVE:KITCHEN".
כתבו פעולה המקבלת מחרוזת המייצגת מזהה מכשיר. הפעולה תבדוק אם המזהה תקין. אם כן – הפעולה תחזיר true, ואם לא – הפעולה תחזיר false. מזהה תקין הוא מחרוזת שמתקיימים בה שני תנאים:
- היא מכילה בדיוק פעם אחת את התו נקודתיים (":");
- התו נקודתיים אינו מופיע בתחילת המחרוזת ואינו מופיע בסופה.
כותרת הפעולה:
public static bool IsValidDevice(string deviceId)
כדי לייעל את צריכת החשמל, על המערכת לדעת אם שני מכשירים נמצאים באותו החדר.
כתבו פעולה המקבלת שתי מחרוזות dev1 ו-dev2 המייצגות מזהי מכשירים. הפעולה תבדוק אם שני המכשירים נמצאים באותו החדר. אם כן – הפעולה תחזיר true, ואם לא – הפעולה תחזיר false.
כותרת הפעולה:
public static bool AreInSameRoom(string dev1, string dev2)
אפשר להניח שהמזהים תקינים.
כתבו פעולה המקבלת מערך של מחרוזות allDevices ומחרוזת נוספת roomName. הפעולה תחזיר מערך חדש המכיל רק את שמות המכשירים הנמצאים בחדר roomName. כותרת הפעולה:
public static string[] GetDevicesInRoom(string[] allDevices,
string roomName)
לדוגמה: עבור החדר roomName = "KITCHEN" ומערך המכשירים allDevices הבא
allDevices = {"KITCHEN:LIGHT", "ROOM_2:TV", "KITCHEN:MICROWAVE"}
הפעולה תחזיר מערך חדש {"LIGHT", "MICROWAVE"}.
אם לא נמצאו מכשירים בחדר המבוקש, הפעולה תחזיר מערך ריק, כלומר מערך באורך 0.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.