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

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

בנעלי ילדים עבור כל זוג נשמרים הפרטים הבאים:

  • יצרן (producer)
  • מידה (size)
  • צבע (color)
  • מחיר בסיסי (price)
  • האם נעל אורתופדית? (orth)

בנעלי נשים עבור כל זוג נשמרים הפרטים הבאים:

  • יצרן (producer)
  • מידה (size)
  • צבע (color)
  • מחיר בסיסי (price)
  • שנת ייצור (year)
  • גובה עקב (heel)

בנעלי גברים עבור כל זוג נשמרים הפרטים הבאים:

  • יצרן (producer)
  • מידה (size)
  • צבע (color)
  • מחיר בסיסי (price)
  • שנת ייצור (year)
  • האם זו נעל עבודה (work)

מחיר הנעליים נקבע לפי מספר קריטריונים:

  • מחיר בסיסי עבור נעלי ילדים הוא 100 ₪.
  • מחיר בסיסי עבור נעליים למבוגרים הוא 200 ₪.
  • עבור מידה מעל 40 המחיר הוא 300 ₪.
  • נעל ילדים אורתופדית מוסיפה 25 ₪ למחיר.
  • גובה עקב של שלושה ס"מ לפחות מוסיף 30 ₪ למחיר, גובה עקב של חמישה ס"מ לפחות מוסיף 60 ₪ למחיר.
  • עבור נעל שנוצרה השנה (2023), יש תוספת של 50% למחיר.
  • נעל עבודה מוזילה את מחיר הנעל ב-50 ₪.
סעיף א

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

סעיף ב

לכל אחת מהמחלקות כתבו את כותרת המחלקה ואת התכונות שלה. כתבו לכל מחלקה את הפעולה הבונה. אפשר להניח שבכל מחלקה הוגדרו פעולות set/get.

סעיף ג

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

סעיף ד

כתבו פעולה או פעולות calcPrice לחישוב המחיר הסופי של נעליים לפי הקריטריונים. המימוש חייב להיות בהתאם לעקרונות תכנות מונחה עצמים. ציינו באיזו מחלקה כתבתם את הפעולה.

public double calcPrice()

סעיף ה

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

public int countOrthopedic()

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

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

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

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