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

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

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

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

כותרת הפעולה:
```csharp
public void EraseStudent(string id)
```
(ג)מדי פעם מתקבלת בקשה לעזרה מאזרח וותיק אשר מדבר בשפה מסוימת והמתגורר ביישוב מסוים. כתבו במחלקה StudentsData את הפעולה:
```csharp
public void Print(string city, string lang)
```
הפעולה תדפיס את שמות המתנדבים אשר מדברים בשפה lang ומתגוררים בישוב city.
(ד)אם אין אף מתנדב שגר בישוב city ומדבר בשפה lang, הפעולה תדפיס את דוברי השפה lang שהם בעלי רכב.

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

כותרת הפעולה:
```csharp
public int NumStudents(string city)
```

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

כותרת הפעולה:
```csharp
public string CityName(string[] cities)
```
אפשר להניח שיש רק עיר אחת כזאת.

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

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

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

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←