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

החנות "Game4U" מוכרת משחקי שולחן לילדים. לשם ניהול ממוחשב של המכירות הוגדרה המחלקה Game ולה ארבע תכונות:

  • שם המשחק – name, מטיפוס מחרוזת, String
  • גיל מינימלי – minAge, מטיפוס מספר שלם, int
  • מספר שחקנים – numPlayers, מטיפוס מספר שלם, int
  • מחיר – price, מטיפוס מספר ממשי, double

למחלקה הוגדרו פעולה בונה (constructor), פעולות get/set והפעולה toString

סעיף א

לקוח יכול להחליף את המשחק שקנה למשחק אחר בתנאי שהגיל מינימלי של שני משחקים זהה והמחיר של המשחק האחר לא גבוה מהמחיר שקנה הלקוח. כתבו פעולה המקבלת הפניה למשחק בשם other (הפניה לעצם מטיפוס Game). הפעולה תבדוק אם אפשר להחליף משחק this למשחק other. אם כן – הפעולה תחזיר ערך true, ולא – הפעולה תחזיר ערך false. כותרת הפעולה: public boolean canReplace(Game other)

סעיף ב

כתבו פעולה המקבלת מערך משחקים arr ומשחק myGame שהלקוח מעוניין להחליף. הפעולה תמנה ותחזיר את מספר המשחקים אשר מתאימים להחלפה. כותרת הפעולה: public static int replace(Game[] arr, Game myGame)

סעיף ג

סבא וסבתא של התאומים אורי ודורון רוצים לקנות להם מתנות ליום ההולדת החמישי שלהם. ליאור, האחות הגדולה של התאומים, ביקשה שבכל משחק יוכלו לשחק לפחות שלושה שחקנים. כתבו פעולה המקבלת מערך משחקים ומדפיסה את כל הצירופים האפשריים של שני משחקים שונים שעולים יחד פחות מ-200 ₪. כותרת הפעולה: public static void giftForTwins(Game[] arr)

סעיף ד

מהי סיבוכיות הפעולות שכתבתם בסעיפים ב' ו-ג'. הסבירו את תשובתכם.

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

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

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

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