נתונה המחלקה Results, המייצגת זמני שחיית 50 מטרים של שחיין בתקופה מסוימת. למחלקה שתי תכונות:
נתונה המחלקה Results, המייצגת זמני שחיית 50 מטרים של שחיין בתקופה מסוימת. למחלקה שתי תכונות:
- arr – מערך מטיפוס שלם, המכיל את מספר השניות שארכה שחיית 50 המטרים של השחיין בכל יום בתקופה מסוימת
- name – שם השחיין, מטיפוס מחרוזת
הניחו שקיימות פעולות get/Get ו-set/Set עבור תכונות המחלקה.
זמן שחיית 50 המטרים של השחיין יכול להשתנות מיום ליום. "הרעה" היא יום שבו ארכה השחייה יותר שניות מביום הקודם, ו"שיפור" הוא יום שבו ארכה השחייה פחות שניות מביום הקודם. "הפרש" הוא ההבדל במספר השניות בערך מוחלט בין יום מסוים ליום שקדם לו.
המערך arr לדוגמה לסעיף א.
index: 0 1 2 3 4 5 6
arr: 45 52 50 53 38 38 42
כתבו פעולה פנימית ששמה deltas בשפת Java או Deltas בשפת C#, המקבלת פרמטר – isLonger מטיפוס בוליאני, ומחזירה מספר שלם בהתאם לאפיון שלפניכם:
- אם הפרמטר isLonger שהתקבל הוא true, הפעולה תחזיר את סך ההפרשים בימים שנחשבים "הרעה".
- אם הפרמטר isLonger שהתקבל הוא false, הפעולה תחזיר את סך ההפרשים בימים שנחשבים "שיפור".
לדוגמה, עבור המערך arr שלפניכם, אם isLonger הוא true הפעולה תחזיר 14, ואם isLonger הוא false הפעולה תחזיר 17. הסבר: התאים באינדקסים 1, 3, 6 מייצגים ימים שנחשבים "הרעה", וסך ההפרשים בהם (7+3+4) הוא 14 שניות. התאים באינדקסים 2, 4 מייצגים ימים שנחשבים "שיפור", וסך ההפרשים בהם (2+15) הוא 17 שניות.
public int deltas (boolean isLonger)
כתבו פעולה פנימית ששמה improving בשפת Java או Improving בשפת C#, המחזירה true אם סך ההפרשים בימים שנחשבים "שיפור" גדול מסך ההפרשים בימים שנחשבים "הרעה". אחרת הפעולה תחזיר false. למשל, בדוגמה שלעיל הפעולה תחזיר true כיוון שסך ההפרשים בימים שנחשבים "שיפור" גדול מסך ההפרשים בימים שנחשבים "הרעה" (17>14). חובה להיעזר בפעולה שכתבתם בסעיף א.
public boolean improving ()
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.