אתם מתרגלים שאלה מתוך מה"ט אלגוריתמיקה ותכנות בפייתון — הנדסאי תוכנהמבחן 2026 · אביב מועד ב · שאלה 6כל שאלות המבחן ←
תכנות בסיסימחרוזות

במערכת "SmartHome" כל מכשיר מקבל מזהה ייחודי מסוג מחרוזת (str) המורכב משם החדר, התו נקודתיים (":") ושם מכשיר.

לדוגמה: "KITCHEN:LIGHT", "ROOM_2:TV", "KITCHEN:MICROWAVE".

סעיף א

כתבו פונקציה המקבלת מחרוזת המייצגת מזהה מכשיר. הפונקציה תבדוק אם המזהה תקין. אם כן – הפונקציה תחזיר True, ואם לא – הפונקציה תחזיר False. מזהה תקין הוא מחרוזת שמתקיימים בה שני תנאים:

  • היא מכילה בדיוק פעם אחת את התו נקודתיים (":");
  • התו נקודתיים אינו מופיע בתחילת המחרוזת ואינו מופיע בסופה. כותרת הפונקציה: def is_valid_device(device_id)
סעיף ב

כדי לייעל את צריכת החשמל, על המערכת לדעת אם שני מכשירים נמצאים באותו החדר. כתבו פונקציה המקבלת שתי מחרוזות dev1 ו-dev2 המייצגות מזהי מכשירים. הפונקציה תבדוק אם שני המכשירים נמצאים באותו החדר. אם כן – הפונקציה תחזיר True, ואם לא – הפונקציה תחזיר False. אפשר להניח שהמזהים תקינים. כותרת הפונקציה: def are_in_same_room(dev1, dev2)

סעיף ג

כתבו פונקציה המקבלת רשימה של מחרוזות all_devices ומחרוזת נוספת room_name. הפונקציה תחזיר רשימה חדשה המכילה רק את שמות המכשירים הנמצאים בחדר room_name. כותרת הפונקציה: def get_devices_in_room(all_devices, room_name) לדוגמה: עבור החדר room_name = "KITCHEN" ורשימת המכשירים all_devices הבאה all_devices =["KITCHEN:LIGHT" ,"ROOM_2:TV" ,"KITCHEN:MICROWAVE"] הפונקציה תחזיר רשימה חדשה ["LIGHT", "MICROWAVE"]. אם לא נמצאו מכשירים בחדר המבוקש, הפונקציה תחזיר רשימה ריקה, כלומר רשימה באורך 0.

שאלות ותגובות על השאלה

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

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

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