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

נתונה המחלקה TourPackage – חבילת סלולר לטסים לחו"ל, ולה חמש תכונות:

• id – מספר זיהוי של לקוח, מטיפוס שלם • price – מחיר החבילה, מטיפוס שלם • maxTime – מספר דקות השיחה הכלול בחבילה, מטיפוס שלם • maxData – נפח הנתונים (ב-Giga) לגלישה באינטרנט הכלול בחבילה, מטיפוס שלם • extra – הסכום לתשלום על חריגה ממספר הדקות ומנפח הנתונים הכלולים בחבילה הבסיסית, מטיפוס שלם תעריפי החריגה הם שקל אחד עבור כל דקת שיחה נוספת, ו-2 שקלים עבור כל Giga נוסף בנפח הגלישה. הניחו שקיימות פעולות get/Get לתכונות המחלקה.

סעיף א(1)

כתבו פעולה בונה במחלקה TourPackage, המקבלת את מספר הזיהוי של לקוח – id, את מחיר החבילה – price, את מספר דקות השיחה הכלול בחבילה – maxTime, ואת נפח הנתונים – maxData. הפעולה מאתחלת את תכונות המחלקה. התכונה extra מאותחלת ל-0.

public TourPackage (int id, int price, int maxTime, int maxData)

סעיף א(2)

כתבו פעולה פנימית במחלקה TourPackage ששמה setExtra בשפת Java או SetExtra בשפת C#, המקבלת את מספר דקות השיחה שבהן השתמש הלקוח בפועל בחו"ל – minutes (מטיפוס שלם), ואת נפח הגלישה שבו השתמש הלקוח בפועל בחו"ל – usage (מטיפוס שלם). הפעולה קובעת ערך לתכונה extra בהתאם לחריגה מן החבילה הבסיסית (ככל שיש) ולתעריפי החריגה. הערה: extra היא 0 לפני הפעולה.

public void SetExtra (int minutes, int usage)

סעיף ב(1)

נתון מערך מלא – packages, מטיפוס TourPackage, שבו נתונים על לקוחות שונים (לאחר שכבר חושב ועודכן הסכום לתשלום עבור חריגה מן החבילה הבסיסית בתכונה extra). כתבו פעולה חיצונית ששמה calculate בשפת Java או Calculate בשפת C#, המקבלת את המערך packages, ומחזירה את כמות הלקוחות שצריכים לשלם תוספת על חריגה מן החבילה הבסיסית.

public static int Calculate (TourPackage[] packages)

סעיף ב(2)

כתבו פעולה חיצונית ששמה customers בשפת Java או Customers בשפת C#, המקבלת את המערך packages. הפעולה מחזירה מערך מטיפוס שלם שבו מספרי הזיהוי (id) של הלקוחות שצריכים לשלם תוספת על חריגה מן החבילה הבסיסית (גודל המערך הוא לפי כמות האנשים שחרגו). אין חשיבות לסדר ההופעה במערך. הערה: חובה להיעזר בפעולה שכתבתם בסעיף ב(1).

public static int[] Customers (TourPackage[] packages)

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

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

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

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