חברת Help14U נותנת שירותי תמיכה טלפונית. מוקד השירות כולל 15 עמדות תמיכה הממוספרות 0-14. שירותי התמיכה מתנהלים באופן הבא:
חברת Help14U נותנת שירותי תמיכה טלפונית. מוקד השירות כולל 15 עמדות תמיכה הממוספרות 0-14. שירותי התמיכה מתנהלים באופן הבא:
• כל מתקשר משאיר את שמו ואת מספר הטלפון שלו לרכז המערכת. • הרכז מצרף את פרטי המתקשר לאוסף הממתינים בעמדת התמיכה הכי פחות עמוסה. • כאשר עמדת התמיכה מסיימת טיפול במתקשר, פרטיו נמחקים מאוסף הממתינים בעמדה. מערכת לניהול כוללת כמה מחלקות.
callerClassNoteHebrew: המחלקה Caller (מתקשר). למחלקה הוגדרו לה פעולה בונה ופעולות get לשם ולטלפון.
callerGetterCasingConfidenceFlag: The inline prose referencing Caller's already-defined getters was hard to read with full certainty at this render resolution (appeared as capitalized 'GetName()'/'GetPhOne()'-style text even in the Java-section printing) — LOW/MEDIUM confidence on that one inline phrase specifically; the constructor row and the full Service/Support method tables below it are unambiguous and HIGH confidence (clearly camelCase in Java: addCaller/callback/getNumOfCallers/startSupport; clearly PascalCase in C#: AddCaller/Callback/GetNumOfCallers/StartSupport).
callerTable: constructor: Caller (String name, String phone)
constructorDocHebrew: הפעולה בונה מתקשר חדש ששמו name ומספר הטלפון שלו phone.
serviceClassNoteHebrew: המחלקה Service מייצגת עמדת שירות. לפניכם ממשק חלקי של Service:
serviceTable:
- java: void addCaller (Caller c)
csharp: void AddCaller (Caller c)
descHebrew: מוסיפה מתקשר c לאוסף הממתינים בעמדה.
- java: Caller callback()
csharp: Caller Callback()
descHebrew: הפעולה מחזירה את המתקשר הראשון מבין הממתינים בעמדה, ומוחקת את נתוניו מאוסף הממתינים בעמדה. הנחה: יש ממתינים בעמדה.
- java: int getNumOfCallers()
csharp: int GetNumOfCallers()
descHebrew: הפעולה מחזירה את מספר הממתינים בעמדה.
supportClassNoteHebrew: ניהול מוקד השירות נעשה בעזרת המחלקה Support. לפניכם ממשק חלקי של Support:
supportTable:
- java: void startSupport (String name, String phone)
csharp: void StartSupport (string name, string phone)
descHebrew: הפעולה מקבלת פרטים של מתקשר ומוסיפה אותו לסוף אוסף הממתינים בעמדה שמספר הממתינים בה הוא הנמוך ביותר. אם יש כמה עמדות כאלה, המתקשר יתווסף לראשונה מביניהן.
כתבו את כותרת המחלקה Service ואת התכונות שלה. לייצוג אוסף, אפשר להשתמש במחלקות Stack, Queue, Node. אפשר להוסיף תכונות נוספות. חובה לתעד את התכונות.
callback()
כתבו את הפעולה callback().
כתבו את כותרת המחלקה Support ואת התכונות שלה.
startSupport()
כתבו את הפעולה startSupport().
theBest()
הנהלת החברה החליטה לציין בסוף כל יום עבודה את פקיד/ת השרות שטיפל/ה בהכי הרבה לקוחות. ציינו שינויים נדרשים במחלקה/מחלקות וכתבו פעולה במחלקה Support המחזירה את מספר העמדה של הפקיד הכי טוב ביותר (אפשר להניח שיש רק פקיד אחד).
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.