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

ברשת המרכזים הרפואיים "בריאות זה הכול" יש 40 מרכזים שונים. ברשת הוחלט למחשב את מאגר המידע כדי לעזור למבקשי שירות לבחור את המרכז המתאים ביותר לצרכים שלהם.

לכל מרכז שמורים הפרטים האלה:

  • שם המרכז
  • היישוב שבו נמצא המרכז (יכולים להיות כמה מרכזים באותו היישוב)
  • מערך המרפאות במרכז (לב, אורולוגיה, אף אוזן גרון וכד'). בכל מרכז יש לכל היותר חמש עשרה מרפאות שונות. עבור כל מרפאה נשמר שם המרפאה, מספר הטלפון לקביעת תור והסטטוס של המרפאה: חלק מהמרפאות מטפלות גם במבוגרים וגם בילדים, חלקן רק בילדים וחלקן רק במבוגרים.
סעיף א

כתבו את כותרת המחלקה, את התכונות ואת פעולות הבונות (בנאים) עבור כל אחת מהמחלקות:

  • מרפאה Clinic
  • מרכז Center
  • רשת מרכזים Chain
סעיף ב

כתבו פעולה פנימית במחלקה Center המקבלת את שם המרפאה ובודקת אם המרפאה מטפלת בילדים. אם כן – הפעולה תחזיר ערך true, ואם לא – הפעולה תחזיר ערך false. אם המרפאה לא קיימת במרכז, הפעולה תחזיר ערך false.

סעיף ג

עקב ביקוש רב, החליטה הנהלת הרשת להגדיל את מספר מרפאות ה"עיניים" אשר מטפלות בילדים. לשם כך הוחלט לפתוח מרפאות חדשות במרכזים שאין בהם מרפאת "עיניים". אם במרכז יש מרפאת "עיניים" המטפלת רק במבוגרים, הסטטוס שלה ישתנה כך שהיא תטפל גם בילדים, ולא תיפתח במרכז מרפאה נוספת. כתבו פעולה פנימית במחלקה Chain המעדכנת את מאגר המידע בהתאם להחלטה שהתקבלה. שימו לב: אי אפשר לפתוח מרפאה אם היא כבר קיימת במרכז והיא מטפלת בילדים או שבמרכז יש כבר חמש עשרה מרפאות שונות. הערה: אם כתבתם פעולות עזר – עליכם לציין באיזו מחלקה הן נמצאות וגם להגדיר את טענות הכניסה והיציאה לכל פעולה (הפרמטרים של הפעולה והמטרה שלה).

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

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

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

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