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

נתונה המחלקה SportClube המתארת מועדון ספורט. למחלקה יש חמש תכונות: שם המועדון — name (מחרוזת), שם ענף הספורט — sportName (מחרוזת), העיר שבה מתקיימת הפעילות — city (מחרוזת), מספר הספורטאים — countOfPlayer (שלם), מספר המאמנים — countOfCoach (שלם).

איגוד הספורט הארצי SportUnion מאגד את מועדוני הספורט השונים. למחלקה SportUnion שלוש תכונות: שם האיגוד — unionName (מחרוזת), נתוני האיגוד — unionData — מערך המועדונים השייכים לאיגוד, מסוג SportClube, בגודל מקסימלי של 100, מספר המועדונים השייכים לאיגוד — numberUnion (שלם, אינו עולה על גודל המקסימלי של המערך).

הניחו כי בשתי המחלקות קיימות פעולות מאחזרות (get) וקובעות (set).

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

סעיף א

כתבו פעולה במחלקה SportUnion המקבלת מועדון (עצם מסוג SportClube) ובודקת אם אפשר לצרף את המועדון לאיגוד הארצי. אם כן — הפעולה מוסיפה את המועדון לאיגוד ומחזירה ערך true, אם לא — הפעולה מחזירה ערך false.

public bool TryAddClub(SportClube c)

סעיף ב

כתבו פעולה במחלקה SportUnion המחזירה את שם המועדון אשר יש לו הכי הרבה מאמנים. אפשר להניח שיש רק מועדון אחד כזה.

public string MostCoachedClubName()

סעיף ג

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

public static void PrintExcellentUnions(SportUnion[] arr)

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

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

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

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