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

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

  • Policeman (שוטר)
  • Investigator (חוקר)
  • SpecInvestigator (חוקר נוער)
  • Commander (מפקד התחנה)

לחוקר (Investigator) יש את התכונות:

  • name – שם, מטיפוס מחרוזת string
  • id – מספר תעודת זהות, מטיפוס מחרוזת string
  • seniority – ותק, מטיפוס שלם int
  • eduLevel – רמת ההשכלה, מטיפוס מחרוזת string

לחוקר נוער (SpecInvestigator) יש את התכונות:

  • name – שם, מטיפוס מחרוזת string
  • id – מספר תעודת זהות, מטיפוס מחרוזת string
  • seniority – ותק, מטיפוס שלם int
  • eduLevel – רמת ההשכלה, מטיפוס מחרוזת string
  • extensionStudy – עבר השתלמות מיוחדת, מטיפוס bool (true – אם עבר, false – אם לא עבר)

מפקד התחנה (Commander) הוא חוקר שאחראי על צוות של עד 30 שוטרים. למפקד תחנה יש את התכונות:

  • name – שם, מטיפוס מחרוזת string
  • id – מספר תעודת זהות, מטיפוס מחרוזת string
  • seniority – ותק, מטיפוס שלם int
  • eduLevel – רמת ההשכלה, מטיפוס מחרוזת string
  • arr – מערך של שוטרים הכפופים למפקד התחנה
  • current – מספר אנשי הצוות בפועל, מטיפוס שלם int
סעיף א

שרטטו תרשים UML המתאר את הקשר בין המחלקות Policeman, Investigator, SpecInvestigator, Commander באופן המתאים ביותר לעקרונות של תכנות מונחה עצמים. יש לציין יחסי ירושה והכלה.

סעיף ב

לכל אחת מהמחלקות Policeman, Investigator, SpecInvestigator, Commander כתבו: • כותרת המחלקה. • תכונות. • פעולה בונה – הפעולה הבונה של כל מחלקה מקבלת את כל הפרמטרים הנדרשים.

סעיף ג

כתבו פעולה חיצונית המקבלת מערך שוטרים ומדפיסה את שמות מפקדי התחנות שבין השוטרים שבפיקודם יש חוקרי נוער אשר לא עברו השתלמות מיוחדת. הערה: הניחו שהפעולות Get ו-Set מוגדרות בעבור כל תכונה בכל אחת ממחלקות הפרויקט.

public static void PrintCommandersWithUntrainedSpecs(Policeman[] officers)

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

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

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

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