אתם מתרגלים שאלה מתוך מה"ט מבני נתונים ותכנות מונחה עצמים — הנדסאי תוכנהמבחן 2025 · אביב מועד ב · שאלה 11כל שאלות המבחן ←
מבנים לינארייםתורים

מוקד החירום העירוני מקבל קריאות לעזרה בעקבות מצבי חירום שונים. בעת קבלת הקריאה נקבעת רמת הדחיפות של האירוע (1 – גבוהה, 2 – בינונית, 3 – נמוכה) וסוג האירוע (1 – שריפה, 2 – תאונה, 3 – חילוץ, 4 – פלילי, 5 – ביטחוני).

המחלקה Call מייצגת קריאה לעזרה.

תכונות המחלקה:

  • private int type; // סוג אירוע חירום
  • private String location; // אזור
  • private String description; // תיאור
  • private String callerName; // שם המתקשר
  • private int priority; // רמת הדחיפות

במחלקה הוגדרה פעולה בונה (constructor) המקבלת פרמטרים לכל תכונה וכן פעולות Get/Set.

המחלקה EmergencyList מייצגת רשימת קריאות לאירועי חירום.

המחלקה EmergencyCenter מייצגת את מוקד החירום. למחלקה תכונה אחת – מערך של רשימות הקריאות לפי סוג אירוע החירום:

private EmergencyList [] arr = new EmergencyList [6];

התא 0 מיועד לרשימת קריאות שהטיפול בהן הסתיים.

סעיף א

כתבו את כותרת המחלקה EmergencyList ואת התכונות שלה. לייצוג אוסף (רשימה) אפשר להשתמש במחלקות Stack, Queue, Node. אפשר להוסיף תכונות נוספות. יש לתעד את התכונות.

סעיף ב

כתבו במחלקה EmergencyCenter פעולה המקבלת את הפרטים של הקריאה ומוסיפה אותה לרשימת קריאות בהתאם לסוג האירוע שלה.

כותרת הפעולה:

public void addCall(int type, String location, String
                     description, String callerName, int priority)
סעיף ג

כתבו במחלקה EmergencyCenter פעולה המקבלת סוג אירוע type ומחזירה קריאה לאירוע הדחוף ביותר מסוג זה. הפעולה גם תמחק את הקריאה מרשימת הקריאות ותעביר אותה לרשימת הקריאות שהטיפול בהן הסתיים. אם יש מספר קריאות באותה רמת הדחיפות (הגבוהה ביותר), יש להחזיר את הקריאה שהתקבלה ראשונה. אם אין שום קריאה מסוג type, הפעולה תחזיר null.

כותרת הפעולה:

public Call mostUrgentCall(int type)
סעיף ד

כתבו במחלקה EmergencyCenter פעולה המקבלת אזור בעיר (location) ומדפיסה עבור כל סוג אירוע את מספר הקריאות באזור זה.

שאלות ותגובות על השאלה

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

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

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