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

חניון תת-קרקעי משרת כמה חברות היי-טק. לכל חברה מוקצית מכסה מקסימלית של מקומות חניה, ויש לנהל את הרכבים בהתאם לחברה שאליה הם משויכים ולמכסות המוקצות לה. לשם כך הוגדרו המחלקות הבאות:

המחלקה "רכב חברה" (CompanyCar) ולה התכונות: license_plate (str), manufacturer (str), company (str). המחלקה "מגבלת חברה" (CompanyLimit) ולה התכונות: company_name (str), company_limit (int). בכל מחלקה הוגדרה פונקציה בונה (init) המקבלת ערכים לכל התכונות.

סעיף א
  1. הגדירו מחלקה בשם "חניון חברות" (Parking) הכוללת את התכונות הבאות:
  • רשימה של רכבים (cars) – רשימה של עצמים מסוג "רכב חברה". הרשימה תכיל את הרכבים הנמצאים כרגע בחניון.
  • רשימה של מקומות חניה (parking_spots) – רשימה של מחרוזות באותו הגודל, המציינת את מקום החניה של הרכב המתאים (לדוגמה: "Q21", "A4", "P10").
  • מגבלות חניה (limits) – רשימה של עצמים מסוג CompanyLimit, המכילה את המכסות לכל חברה.
  1. כתבו במחלקה Parking פונקציה בונה (init), המקבלת רשימת limits מוכנה (עם החברות והמגבלות שלהן), ומייצרת חניון ללא רכבים: רשימות ה-cars וה-parking_spots יהיו ריקות בתחילה. קיבולת החניון הכוללת היא 150 מקומות.
סעיף ב

כתבו במחלקה "חניון חברות" פונקציה המקבלת מקום בחניה (spot). הפונקציה תבדוק אם מקום זה פנוי. אם כן – הפונקציה תחזיר True, ואם לא – הפונקציה תחזיר False. כותרת הפונקציה: def check_spot(self, spot)

סעיף ג

כתבו במחלקה "חניון חברות" פונקציה המקבלת את פרטי הרכב ואת מקום החניה (spot): ומנסה לחנות אותו:

  • אם החניה spot תפוסה על ידי רכב אחר, הפונקציה תדפיס הודעה מתאימה ותחזיר False.
  • אם החברה כבר ניצלה את המכסה שלה, הפונקציה תדפיס הודעה מתאימה ותחזיר False.
  • אם המכסה לא נוצלה במלואה, הפונקציה תייצר רכב חדש (עצם מסוג CompanyCar) עם הפרטים שקיבלה, תוסיף את הרכב ותחזיר True. כותרת הפונקציה: def park_car(self, license, manufacturer, company, spot) אפשר להניח שיש מקומות פנויים בחניון, והרכב (עם מספר הרישוי הנתון) אינו נמצא בחניון.
שאלות ותגובות על השאלה

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

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

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