בעיריית דימונה קיימת מערכת ממוחשבת לגביית מיסוי עירוני (ארנונה). במערכת הוגדרה המחלקה Property (נכס) ולה התכונות הבאות:

  • מספר הנכס – num, מטיפוס מחרוזת, String
  • מספר תעודת הזהות של המשלם – id, מטיפוס מחרוזת, String
  • כתובת הנכס – address, מטיפוס מחרוזת, String
  • שטח הנכס – area, מטיפוס מספר ממשי, double
  • זכאות להנחה – discount, מספר שלם בין 0 ל-3, כאשר:
    • 0 – מציין שאין הנחה, תשלום מלא,
    • 1 – תשלום מופחת, הנחה של 10%,
    • 2 – הנחה של 50%,
    • 3 – פטור מלא מתשלומי ארנונה

⚠️ תכונות המחרוזת מתועדות בתור "String" (אות גדולה) גם בפרק המבחן ב-C# — הועתק verbatim מהמקור (אינו תואם ל-string הרגיל בשאר השאלון).

במחלקה הוגדרו בנאים, פעולות set/get לכל התכונות. במחלקה הוגדרה פעולה פנימית double account() המחזירה סכום חשבון מלא של ארנונה.

(א)כתבו פעולה פנימית לחישוב סכום לתשלום בהתאם לזכאות להנחה של הנכס.
כותרת הפעולה:
`public double realAccount()`
(ב)המחלקה CityData מאחסנת נתונים של כל נכסים בעיר. למחלקה תכונה אחת – מערך arr, מערך הפניות לעצמים מסוג Property.
כתבו במחלקה CityData פעולה לחישוב סכום כולל של כל ההנחות בתשלומי הארנונה.
כותרת הפעולה:
`public double totalDiscount()`
(ג)תושבי העיר רשאים להגיש בקשה לעדכון רמת הזכאות להנחה. מדי פעם, העירייה אוספת את כל הבקשות לעדכון ומטפלת בהן. לפי החוק העירוני, תושב העיר יכול לקבל הנחה אם מתקיימים התנאים הבאים:
- יש בבעלותו רק נכס אחד
- רמת הזכאות של נכס נמוכה מרמת הזכאות המבוקשת

כתבו פעולה במחלקה CityData המקבלת מערך תעודות זהות ids של מגישי בקשה לעדכון (הנחה), ורמת הזכאות המבוקשת level. הפעולה תבדוק אם יש מקום לעדכון. אם כן – הפעולה תבצע את העדכון, ולא – הפעולה תדפיס אחת משלוש הודעות:
- "תעודת הזהות אינה ברשימת משלמי ארנונה"
- "יש יותר מנכס אחד בבעלותו"
- "רמת הזכאות המבוקשת נמוכה מנוכחית"

כותרת הפעולה:
`public void printDecision(String[] ids, int level)`

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

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

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

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←