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

המחלקה MyTime מייצגת זמן, ולה שתי תכונות:

  • myMinute – מספר שלם חיובי בין 0 ל-59 (כולל), המייצג דקה
  • myHour – מספר שלם חיובי בין 7 ל-23 (כולל), המייצג שעה

הניחו שקיימות פעולות get/Get ו-set/Set עבור תכונות המחלקה, ופעולה בונה המקבלת ערכים עבור תכונות המחלקה.

לפניכם ממשק המחלקה (אפשר להשתמש בפעולות המחלקה בלי לממש אותן):

  • before/Before(MyTime other): מחזירה true אם זמן העצם הנוכחי מוקדם מזמן העצם other, אחרת (הזמן שווה לו או מאוחר ממנו) מחזירה false.
  • diff/Diff(MyTime other): מחזירה את ההפרש בדקות בערך מוחלט בין זמן העצם הנוכחי ובין זמן העצם other.

המחלקה Parking מציגה מידע על מכונית שחנתה בחניון, ולה שלוש תכונות:

  • id – מספר לוחית רישוי של המכונית, מטיפוס מחרוזת
  • in – זמן כניסת המכונית לחניון, מטיפוס MyTime
  • out – זמן יציאת המכונית מן החניון, מטיפוס MyTime

הניחו שקיימות פעולות get/Get ו-set/Set עבור תכונות המחלקה, ושתכונות המחלקה אינן null.

נתון מערך חד-ממדי cars מטיפוס Parking המכיל מידע על כל המכוניות שחנו בחניון ביממה מסוימת (החניון נפתח ב-07:00 ונסגר ב-23:59). המערך אינו ממוין ואינו מכיל ערכי null.

סעיף א

כתבו פעולה חיצונית ששמה first בשפת Java או First בשפת C#, המקבלת את המערך cars, ומדפיסה את מספר לוחית הרישוי של המכונית שנכנסה ראשונה לחניון. הניחו שאין שתי מכוניות שנכנסו לחניון בדיוק באותו הזמן.

public static void First (Parking[] cars)

סעיף ב(1)

המחיר בחניון נקבע על פי משך החניה. בשעתיים הראשונות (120 דקות) החניה חינם והחל מהדקה ה-121 התעריף הוא שקל אחד לכל דקת חניה. כתבו פעולה פנימית במחלקה Parking ששמה total בשפת Java או Total בשפת C#, המחזירה את סך כל מספר הדקות שהמכונית חנתה בחניון.

public int Total ()

סעיף ב(2)

כתבו פעולה חיצונית ששמה sumMoney בשפת Java או SumMoney בשפת C#, המקבלת את המערך cars, ומחזירה את הסכום הכולל ששילמו כל בעלי המכוניות. אפשר להשתמש בפעולה שכתבתם בסעיף ב(1).

public static int SumMoney (Parking[] cars)

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

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

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

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