אתם מתרגלים שאלה מתוך בגרות מדעי המחשב — יסודות (שאלון 899371)מבחן 2018 · קיץ מועד א · שאלה 3כל שאלות המבחן ←
תכנות מונחה עצמיםמחלקות ואובייקטים

נתונה המחלקה Time שיש לה שתי תכונות: hour — מייצגת שעה, בין 0 ל-23 כולל, מטיפוס שלם. minute — מייצגת דקה, בין 0 ל-59 כולל, מטיפוס שלם. הנח שלכל תכונה הוגדרו ב-Java פעולות get ו-set, וב-C# פעולות Get ו-Set.

סעיף א

כתוב ב-Java או ב-C# פעולה בונה (קונסטרוקטור) למחלקה Time שמקבלת ערכים עבור כל תכונה. עבור כל ערך המתקבל שאינו אפשרי לפי הגדרת התכונה, יש להחליפו ב-0.

public Time(int hour, int minute)

סעיף ב

נתונה המחלקה Flight שיש לה ארבע תכונות: name — שם חברת תעופה, מטיפוס מחרוזת. destination — שם ארץ היעד, מטיפוס מחרוזת. flightCode — קוד טיסה, מטיפוס מחרוזת. flightTime — זמן הטיסה, מטיפוס Time. כתוב ב-Java או ב-C# את כותרת המחלקה ואת תכונות המחלקה.

סעיף ג-i

נתונה המחלקה Airport שיש לה תכונה אחת: flights — מערך חד-ממדי מטיפוס Flight. הנח שלכל תכונה במחלקה Flight הוגדרו ב-Java פעולות get ו-set, וב-C# פעולות Get ו-Set. במחלקה Airport נתונה פעולה פנימית isFly ב-Java (IsFly ב-C#) שמטרתה לבדוק אם במערך flights יש טיסה של חברת התעופה 'Sky' — הפעולה מחזירה true אם כן, אחרת false. הנח שכל תאי המערך flights שונים מ-null. הפעולה הנתונה להלן שגויה (שגיאה):

public boolean isFly()
{
    for (int i = 0; i < this.flights.length; i++)
    {
        if (this.flights[i].getName().equals("Sky"))
            return true;
        return false;
    }
}
public bool IsFly()
{
    for (int i = 0; i < this.flights.Length; i++)
    {
        if (this.flights[i].GetName() == "Sky")
            return true;
        return false;
    }
}

כתוב מה תחזיר הפעולה השגויה הנתונה עבור מערך flights בגודל 4, שערכי תכונת name של העצמים במערך הם (לפי הסדר): במקום הראשון 'Cloud', במקום השני 'Air', במקום השלישי 'Sky', במקום הרביעי 'Travel'.

סעיף ג-ii

הסבר מהי הסיבה לשגיאה בפעולה (הפעולה שבסעיף הקודם, ג-i).

סעיף ג-iii

תקן את הפעולה כדי שתבצע את הנדרש, והעתק למחברתך את הפעולה המתוקנת.

public boolean isFly()

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

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

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

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