במערכת "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.
כותרת הפעולה:
```csharp
public static string[] GetDevicesInRoom(string[] allDevices,
string roomName)
```

לדוגמה: עבור החדר `roomName = "KITCHEN"` ומערך המכשירים allDevices הבא
`allDevices = {"KITCHEN:LIGHT", "ROOM_2:TV", "KITCHEN:MICROWAVE"}`
הפעולה תחזיר מערך חדש `{"LIGHT", "MICROWAVE"}`.
אם לא נמצאו מכשירים בחדר המבוקש, הפעולה תחזיר מערך ריק, כלומר מערך באורך 0.

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה בטיחות מוסמך עונה כאן — תקבלו מענה מקצועי

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←