תשלום מיסי ארנונה (Property tax) הוא תשלום לרשויות המקומיות בעבור שטח המגורים והקרקע הנוספת. מחיר הארנונה הוא 10 ש"ח למ"ר על שטח המיועד למגורים, ו-0.5 ש"ח למ"ר על קרקע נוספת. לדוגמה, תושב שבבעלותו שטח למגורים בגודל 100 מ"ר ושטח קרקע בגודל 500 מ"ר משלם ארנונה בסכום של 100·10 + 500·0.5 = 1250. התושבים חולקו לשלוש קבוצות: תושב עיר — משלם מיסי ארנונה עבור שטח המגורים שבבעלותו ומקבל מענק בסך 250 ש"ח לתשלום הארנונה. תושב עיר ותיק — תושב עיר בן 60 ומעלה, משלם כפי שמשלם תושב עיר, ונוסף לכך זכאי להנחה בהתאם לגילו: 1% הנחה עבור כל שנת חיים לאחר גיל 60. ההנחה מחושבת לאחר הפחתת המענק מהסכום המקורי. תושב כפר — משלם ארנונה עבור שטח המגורים והקרקע שבבעלותו וזכאי להנחה של 10%. תושב כפר בן 60 ומעלה אינו זכאי להנחה התלויה בגיל. אם לאחר הפחתת ההנחה והמענק הסכום לתשלום מיסי הארנונה הוא מספר שלילי, התושב פטור מהתשלום (משלם 0 ש"ח). הוחלט לפתח תוכנה לחישוב מיסי ארנונה וגבייתם מהתושבים, ולשם כך הוגדר כך הממשק שלפניך. בסעיפים א-ב שלפניך עליך להגדיר את המחלקות לפי עקרונות של תכנות מונחה עצמים בהתאם לדרישות: את הנתונים לחישוב מס הארנונה (תשלום עבור שטח של דירה במ"ר, תשלום עבור שטח קרקע במ"ר, שיעור ההנחה, סכום המענק) הגדר פעם אחת בלבד כקבועים; את כל התכונות שאינן קבועות הגדר כפרטיות (private).
תשלום מיסי ארנונה (Property tax) הוא תשלום לרשויות המקומיות בעבור שטח המגורים והקרקע הנוספת. מחיר הארנונה הוא 10 ש"ח למ"ר על שטח המיועד למגורים, ו-0.5 ש"ח למ"ר על קרקע נוספת. לדוגמה, תושב שבבעלותו שטח למגורים בגודל 100 מ"ר ושטח קרקע בגודל 500 מ"ר משלם ארנונה בסכום של 100·10 + 500·0.5 = 1250. התושבים חולקו לשלוש קבוצות: תושב עיר — משלם מיסי ארנונה עבור שטח המגורים שבבעלותו ומקבל מענק בסך 250 ש"ח לתשלום הארנונה. תושב עיר ותיק — תושב עיר בן 60 ומעלה, משלם כפי שמשלם תושב עיר, ונוסף לכך זכאי להנחה בהתאם לגילו: 1% הנחה עבור כל שנת חיים לאחר גיל 60. ההנחה מחושבת לאחר הפחתת המענק מהסכום המקורי. תושב כפר — משלם ארנונה עבור שטח המגורים והקרקע שבבעלותו וזכאי להנחה של 10%. תושב כפר בן 60 ומעלה אינו זכאי להנחה התלויה בגיל. אם לאחר הפחתת ההנחה והמענק הסכום לתשלום מיסי הארנונה הוא מספר שלילי, התושב פטור מהתשלום (משלם 0 ש"ח). הוחלט לפתח תוכנה לחישוב מיסי ארנונה וגבייתם מהתושבים, ולשם כך הוגדר כך הממשק שלפניך. בסעיפים א-ב שלפניך עליך להגדיר את המחלקות לפי עקרונות של תכנות מונחה עצמים בהתאם לדרישות: את הנתונים לחישוב מס הארנונה (תשלום עבור שטח של דירה במ"ר, תשלום עבור שטח קרקע במ"ר, שיעור ההנחה, סכום המענק) הגדר פעם אחת בלבד כקבועים; את כל התכונות שאינן קבועות הגדר כפרטיות (private).
public interface IData
{
string GetName(); // מחזירה שם של תושב
double GetPropertyTax(); // מחזירה גובה מס ארנונה
}
הגדר מחלקה Resident (המייצגת תושב), המממשת את הממשק IData, וכתוב בה את התכונות (אין צורך לכתוב פעולת בנייה).
הגדר שלוש מחלקות לכל אחת מקבוצות התושבים: CityResident — תושב עיר, SeniorCityResident — תושב עיר ותיק, VillageResident — תושב כפר. כתוב את התכונות והפעולה getPropertyTax() שתאפשר לחשב את תשלום מס הארנונה לכל אחת משלוש הקבוצות (אין צורך לכתוב פעולת בנייה).
public override double GetPropertyTax()
נתון גוף פעולה המקבל מערך a של תושבים, ומדפיס עבור כל תושב עיר ותיק את שמו ואת סכום הארנונה שהוא נדרש לשלם. עבור כל אחת מכותרות הפעולה (1)-(3) שלפניך, ציין אם הפעולה תקינה או אינה תקינה. אם הפעולה אינה תקינה — נמק מדוע, תקן את הפעולה, והעתק את הפעולה המתוקנת למחברתך. (1) public static void print(Object[] a) (2) public static void print(IData[] a) (3) public static void print(Resident[] a)
public static void Print(object[] a)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.