נתונה המחלקה Subject, המייצגת מקצוע בתעודה של תלמיד, ולה שתי תכונות: subName — שם המקצוע, ו-grade — הציון (בין 0 ל-100).
נתונה המחלקה Subject, המייצגת מקצוע בתעודה של תלמיד, ולה שתי תכונות: subName — שם המקצוע, ו-grade — הציון (בין 0 ל-100).
נוסף על כך, נתונה המחלקה ReportCard, המייצגת תעודה של תלמיד, ולה שתי תכונות: stuName — שם התלמיד, ומערך subArray — מטיפוס Subject המכיל את עצמי המקצועות שלמד התלמיד.
הנח שקיימות פעולות get ו-set עבור כל התכונות בשתי המחלקות.
לפניך ממשק חלקי חלקי המחלקה ReportCard:
| כותרת הפעולה | תיאור הפעולה |
|---|---|
public ReportCard(String name, int num) | פעולה בונה את המקבלת את שם התלמיד ואת מספר המקצועות שלמד התלמיד, ומאתחלת את תכונות המחלקה. המערך subArray מאותחל למערך ריק בגודל num. |
public double average() | פעולה המחזירה את ממוצע כל הציונים בתעודה של התלמיד. |
public boolean isExcellent() | פעולה המחזירה true אם התלמיד נחשב מצטיין, אחרת מחזירה false. תלמיד מצטיין: שממוצע ציוניו הוא 85 ומעלה, כל ציוניו מעל 54, ולפחות אחד מציוניו הוא 100. |
א. ממש את הפעולה הבונה של המחלקה ReportCard. ב. ממש את הפעולה isExcellent במחלקה ReportCard. אפשר להשתמש בפעולה average של ReportCard בלי לממש אותה. הנח שאיברי המערך subArray שונים מ-null. ג. כתוב פעולה חיצונית ששמה printExcellent, המקבלת מערך מטיפוס ReportCard — המייצג תלמידים בכיתה מסוימת. הפעולה תדפיס את שמות התלמידים המצטיינים. חובה להשתמש בפעולה isExcellent של המחלקה ReportCard. הנח שאיברי המערך array שונים מ-null.
public class Subject
{
private string subName;
private int grade;
// Get/Set קיימות לכל תכונה (subName, grade) — לא מוצגות, לא לממש
}
public class ReportCard
{
private string stuName;
private Subject[] subArray;
// Get/Set קיימות לכל תכונה (stuName, subArray) — לא מוצגות, לא לממש
// public double Average() — נתונה כחלק מממשק המחלקה, מותר להשתמש בה בלי לממש אותה מחדש
}
ממש את הפעולה הבונה של המחלקה ReportCard.
public ReportCard(string name, int num)
ממש את הפעולה isExcellent במחלקה ReportCard. אפשר להשתמש בפעולה average של ReportCard בלי לממש אותה. הנח שאיברי המערך subArray שונים מ-null.
public bool IsExcellent()
כתוב פעולה חיצונית ששמה printExcellent, המקבלת מערך מטיפוס ReportCard — המייצג תלמידים בכיתה מסוימת. הפעולה תדפיס את שמות התלמידים המצטיינים. חובה להשתמש בפעולה isExcellent של המחלקה ReportCard. הנח שאיברי המערך array שונים מ-null.
public static void PrintExcellent(ReportCard[] array)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.