טוען...
טוען...
בחברת התקשורת "אוזניים לעתיד" יש 4 סוגי עובדים. כל עובד שייך לסוג אחד בלבד.
החלטות מתקבלות באמצעות הצבעה בהשתתפות כל עובדי החברה. ההצבעה נערכת באמצעות נקודות. לכל עובד בחברה יש מספר נקודות שונה, לפי סוגו.
לפניך טבלה ובה נתונים בנוגע למספר הנקודות שיש לכל עובד לפי סוגו:
| סוג העובד | מספר הנקודות |
|---|---|
| עובד רגיל | מקבל 4 נקודות עבור היותו עובד בחברה, ונוסף על כך הוא מקבל עוד נקודה עבור כל שנת ותק. דוגמה: לעובד רגיל שעובד 5 שנים בחברה יש 9 נקודות: 4 נקודות עבור היותו עובד בחברה ועוד 5 נקודות — נקודה עבור כל שנת ותק בחברה. |
| חבר ועד | מקבל פי 2 ממספר הנקודות שעובד רגיל מקבל, ונוסף על כך הוא מקבל 2 נקודות עבור כל שנה שבה הוא חבר בוועד. דוגמה: לחבר ועד שעובד 5 שנים בחברה ומתוכן הוא חבר בוועד 3 שנים יש 24 נקודות: 18 נקודות — פי 2 מעובד רגיל שעובד 5 שנים בחברה ועוד 6 נקודות — 2 נקודות עבור כל שנה שהוא חבר בוועד. |
| טכנאי | מקבל נקודות כמו עובד רגיל, נוסף על כך הוא מקבל נקודה עבור כל מחשב שבאחריותו. דוגמה: לטכנאי שעובד 5 שנים בחברה ואחראי על 4 מחשבים יש 13 נקודות: 9 נקודות — כפי שמקבל עובד רגיל שעובד 5 שנים בחברה ועוד 4 נקודות — נקודה עבור כל מחשב שבאחריותו. |
| אחראי פרויקט | מקבל נקודות כמו עובד רגיל, ונוסף על כך הוא מקבל מספר נקודות השווה לסך הנקודות של כל 15 העובדים שעליהם הוא אחראי. דוגמה: לאחראי פרויקט שעובד 5 שנים בחברה, וסך כל הנקודות של 15 העובדים שבאחריותו הוא 80, יש 89 נקודות: 9 נקודות — כפי שמקבל עובד רגיל שעובד 5 שנים בחברה ועוד 80 נקודות — סך כל הנקודות של 15 העובדים שבאחריותו. |
בחברה רוצים לבנות מערכת ממוחשבת שתציג את מספר הנקודות של כל עובד בחברה. לשם כך הגדירו 4 מחלקות:
Employee — עובד רגיל, UnionMember — חבר ועד, Technician — טכנאי, Supervisor — אחראי פרויקט.
כל עובד שייך למחלקה אחת בלבד.
את הסעיפים שלפניך יש לפתור באופן המתאים ביותר לעקרונות תכנות מונחה עצמים.
סרטט תרשים הייררכייה בין המחלקות.
עבור כל אחת מן המחלקות כתוב את כותרת המחלקה, את התכונות שלה ואת הפעולה getScore המחזירה את מספר הנקודות בהצבעה. אין צורך לכתוב פעולה בונה ופעולות get ו־set.
הנחיה: הנתונים הקבועים של מספר הנקודות אינם חלק מתכונות המחלקות, ויש להשתמש בהם רק בכתיבת הפעולה getScore.
הועלתה הצעה לשנות את שם החברה ל"תקשורת עתידית". כל העובדים הרגילים והטכנאים תומכים בהצעה וכל חברי הוועד והאחראים לפרויקטים התנגדו לה. רק אם סך הנקודות בעד ההצעה גדול מסך הנקודות נגד ההצעה — ההצעה מתקבלת, אחרת היא אינה מתקבלת.
נתונה כותרת פעולה המקבלת מערך של כל העובדים ומחזירה true אם ההצעה התקבלה, אחרת היא מחזירה false.
public static boolean isAccepted (Object[] arr)
ממש את הפעולה.
בחברת התקשורת "אוזניים לעתיד" יש 4 סוגי עובדים. כל עובד שייך לסוג אחד בלבד.
החלטות מתקבלות באמצעות הצבעה בהשתתפות כל עובדי החברה. ההצבעה נערכת באמצעות נקודות. לכל עובד בחברה יש מספר נקודות שונה, לפי סוגו.
לפניך טבלה ובה נתונים בנוגע למספר הנקודות שיש לכל עובד לפי סוגו:
| סוג העובד | מספר הנקודות |
|---|---|
| עובד רגיל | מקבל 4 נקודות עבור היותו עובד בחברה, ונוסף על כך הוא מקבל עוד נקודה עבור כל שנת ותק. דוגמה: לעובד רגיל שעובד 5 שנים בחברה יש 9 נקודות: 4 נקודות עבור היותו עובד בחברה ועוד 5 נקודות — נקודה עבור כל שנת ותק בחברה. |
| חבר ועד | מקבל פי 2 ממספר הנקודות שעובד רגיל מקבל, ונוסף על כך הוא מקבל 2 נקודות עבור כל שנה שבה הוא חבר בוועד. דוגמה: לחבר ועד שעובד 5 שנים בחברה ומתוכן הוא חבר בוועד 3 שנים יש 24 נקודות: 18 נקודות — פי 2 מעובד רגיל שעובד 5 שנים בחברה ועוד 6 נקודות — 2 נקודות עבור כל שנה שהוא חבר בוועד. |
| טכנאי | מקבל נקודות כמו עובד רגיל, נוסף על כך הוא מקבל נקודה עבור כל מחשב שבאחריותו. דוגמה: לטכנאי שעובד 5 שנים בחברה ואחראי על 4 מחשבים יש 13 נקודות: 9 נקודות — כפי שמקבל עובד רגיל שעובד 5 שנים בחברה ועוד 4 נקודות — נקודה עבור כל מחשב שבאחריותו. |
| אחראי פרויקט | מקבל נקודות כמו עובד רגיל, ונוסף על כך הוא מקבל מספר נקודות השווה לסך הנקודות של כל 15 העובדים שעליהם הוא אחראי. דוגמה: לאחראי פרויקט שעובד 5 שנים בחברה, וסך כל הנקודות של 15 העובדים שבאחריותו הוא 80, יש 89 נקודות: 9 נקודות — כפי שמקבל עובד רגיל שעובד 5 שנים בחברה ועוד 80 נקודות — סך כל הנקודות של 15 העובדים שבאחריותו. |
בחברה רוצים לבנות מערכת ממוחשבת שתציג את מספר הנקודות של כל עובד בחברה. לשם כך הגדירו 4 מחלקות:
Employee — עובד רגיל, UnionMember — חבר ועד, Technician — טכנאי, Supervisor — אחראי פרויקט.
כל עובד שייך למחלקה אחת בלבד.
את הסעיפים שלפניך יש לפתור באופן המתאים ביותר לעקרונות תכנות מונחה עצמים.
סרטט תרשים הייררכייה בין המחלקות.
עבור כל אחת מן המחלקות כתוב את כותרת המחלקה, את התכונות שלה ואת הפעולה getScore המחזירה את מספר הנקודות בהצבעה. אין צורך לכתוב פעולה בונה ופעולות get ו־set.
הנחיה: הנתונים הקבועים של מספר הנקודות אינם חלק מתכונות המחלקות, ויש להשתמש בהם רק בכתיבת הפעולה getScore.
הועלתה הצעה לשנות את שם החברה ל"תקשורת עתידית". כל העובדים הרגילים והטכנאים תומכים בהצעה וכל חברי הוועד והאחראים לפרויקטים התנגדו לה. רק אם סך הנקודות בעד ההצעה גדול מסך הנקודות נגד ההצעה — ההצעה מתקבלת, אחרת היא אינה מתקבלת.
נתונה כותרת פעולה המקבלת מערך של כל העובדים ומחזירה true אם ההצעה התקבלה, אחרת היא מחזירה false.
public static boolean isAccepted (Object[] arr)
ממש את הפעולה.