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

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

  • מספר תעודת הזהות (מחרוזת)
  • שם (מחרוזת)
  • יישוב מגורים (מחרוזת)
  • אם יש לו רכב (ערך בוליאני, true – כן, false – לא)
  • שפת האם (מחרוזת)
  • שפה נוספת שסטודנט שולט בה ברמה גבוהה (מחרוזת)
סעיף א

כתבו את כותרת המחלקה ואת התכונות עבור כל אחת מהמחלקות הבאות:

  • Student המתארת סטודנט.
  • StudentsData המתארת מידע על כל הסטודנטים.

אפשר להניח שבמחלקה Student קיימים בנאים, פעולות get ו-set לכל תכונה.

סעיף ב

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

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

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

public void eraseStudent(String id)
סעיף ג

מדי פעם מתקבלת בקשה לעזרה מאזרח וותיק אשר מדבר בשפה מסוימת והמתגורר ביישוב מסוים. כתבו במחלקה StudentsData את הפעולה:

public void print(String city, String lang)

הפעולה תדפיס את שמות המתנדבים אשר מדברים בשפה lang ומתגוררים בישוב city.

סעיף ד

אם אין אף מתנדב שגר בישוב city ומדבר בשפה lang, הפעולה תדפיס את דוברי השפה lang שהם בעלי רכב.

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

  1. כתבו פעולה במחלקה StudentsData המקבלת שם עיר ומחזירה את מספר המתנדבים המתגוררים בה.

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

public int numStudents(String city)
  1. כתבו פעולה במחלקה StudentsData המקבלת מערך של שמות ערים (מערך מסוג מחרוזת) ומחזירה את שם העיר שגרים בה הכי הרבה מתנדבים.

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

public String cityName(String[] cities)

אפשר להניח שיש רק עיר אחת כזאת.

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

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

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

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