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

חנות הצעצועים "כדורי" מוכרת חבילות כדורים לגני ילדים. המחלקה Ball: color (מחרוזת), size (מספר שלם, קוטר), material (מחרוזת). במחלקה Ball קיימות פעולה בונה, get, set לכל התכונות.

המחלקה BallPack מייצגת חבילת כדורים: balls (מערך עצמי Ball, גודלו מוגדר בפעולה הבונה), colors (מערך מחרוזות — הצבעים שחייבים להיות בחבילה), numOfBalls (מספר הכדורים בחבילה כרגע), material (החומר שממנו עשויים כל הכדורים בחבילה), minSize (קוטר מינימלי מותר). פעולה בונה נתונה:

public BallPack (int num, String[] cols, int min, String mat){
this.balls = new Ball[num];
this.colors = cols;
this.numOfBalls = 0;
this.minSize = min;
this.material = mat;
}

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

סעיף א

כתבו פעולה המקבלת כפרמטר כדור (הפניה לעצם מטיפוס Ball) ומחזירה true אם הוא מתאים לחבילה, ואם לא, הפעולה תחזיר false.

public boolean isFit(Ball b)

סעיף ב

כתבו פעולה המקבלת כדור (עצם מטיפוס Ball) ומוסיפה אותו לחבילה. ניתן להוסיף כדור לחבילה אם הוא מתאים לחבילה ובחבילה יש מקום. אם אפשר להוסיף, הפעולה תעדכן את תכונות החבילה ותחזיר true, ואם לא – תחזיר false.

public boolean add(Ball b)

סעיף ג

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

public int countColor(String color)

סעיף ד

כתבו פעולה המחזירה מערך צבעים שחסרים בחבילה (צבע מ-colors שאין ממנו אף כדור בחבילה). אם אין צבעים חסרים (לכל צבע ממערך colors יש לפחות כדור אחד) יש להחזיר null.

public String[] missingColors()

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

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

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

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