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

מפעל לייצור דגלים של מדינות שונות מעוניין במערכת ניהול מלאי ממוחשבת. לשם כך הוגדרה מחלקה "דגל" (Flag) ולה כמה תכונות:

  • שם מדינה (country) – מחרוזת (str)
  • אורך (length) – מספר שלם (int)
  • רוחב (width) – מספר שלם (int)

במחלקה הוגדרה פונקציה בונה (init) המקבלת ערכים לכל התכונות והפעולות get/set (מאפיינים) והפעולה str.

סעיף א

הגדירו מחלקה בשם "מחסן דגלים" (Warehouse) הכוללת את התכונות האלה:

  • רשימה של דגלים (flags) – רשימה של עצמים מסוג "דגל" (Flag), בגודל מקסימלי של 100.
  • רשימה של כמויות (quantities) – רשימה של מספרים שלמים (int) באותו הגודל של רשימת הדגלים, שבה כל תא מציין את הכמות של הדגל המתאים ברשימת הדגלים (הדגל במקום ה-i ברשימת הדגלים מתאים לכמות במקום ה-i ברשימת הכמויות).
  • מספר הדגלים הנוכחי במחסן (current_flags) – מספר שלם (int).

כתבו פונקציה בונה (init) למחלקה המאתחלת את רשימת הדגלים, את רשימת הכמויות בגודל 100 ואת מספר הדגלים הנוכחי ל-0.

def __init__(self):

סעיף ב

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

def add(self, country, length, width, quantity):

סעיף ג

כתבו במחלקה "מחסן דגלים" פונקציה המקבלת מספר שלם המייצג כמות מינימלית ומדפיסה את שמות המדינות של כל הדגלים במחסן שנמצאים בכמות הקטנה מהכמות המינימלית.

def flags_with_min_quantity(self, min_quantity):

סעיף ד

לקראת ביקור ראשי מדינות שונות יש להכין דגלים לקישוט העיר. כתבו במחלקה "מחסן דגלים" פונקציה המקבלת רשימה של שמות מדינות (רשימה של מחרוזות) ומדפיסה עבור כל מדינה ברשימה את כמות כל הדגלים שלה הקיימים במחסן. שימו לב שבמחסן יכולים להיות דגלים שונים של אותה מדינה!

def print_flags(self, countries):

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

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

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

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