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

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

למחלקת קופסת האחסון StorageBox יש שש תכונות:

  • צבע – color, מטיפוס מחרוזת – String
  • אורך – length, מטיפוס מספר שלם – int
  • רוחב – width, מטיפוס מספר שלם – int
  • גובה – height, מטיפוס מספר שלם – int
  • מחיר – cost, מטיפוס מספר ממשי – double
  • יש מכסה – hasCover, מטיפוס בוליאני – boolean (יש מכסה – true, אין מכסה – false)

במחלקה StorageBox הוגדרה פעולה בונה (בנאי, constructor) המקבלת פרמטר של כל תכונה וקובעת את הערכים של תכונות העצם. המחלקה כוללת פעולות get/set לכל אחת מהתכונות.

סעיף א

כתבו פעולה בונה המייצרת קופסה בצבע לבן (white), ללא מכסה, שכל הממדים שלה (אורך, רוחב וגובה) הם מספרים אקראיים בין 30 ל-100 (כולל). כותרת הפעולה:

public StorageBox(double cost)
סעיף ב

כתבו פעולה חיצונית המקבלת מערך הפניות לעצמים מסוג StorageBox בשם arr וצבע color. הפעולה תחזיר מספר קופסאות בצבע color שאין להן מכסה. כותרת הפעולה:

public static int noCover(StorageBox[] arr, String color)

הנחה: כל תא במערך מכיל הפניה לעצם מסוג StorageBox ואין תאים במערך שערכם שווה ל-null.

סעיף ג

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

public static boolean isUnique(StorageBox[] arr)

הנחה: כל תא במערך מכיל הפניה לעצם מסוג StorageBox ואין תאים במערך שערכם שווה ל-null.

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

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

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

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