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

נתונה המחלקה Driver, המייצגת נהג שקבל רישיון נהיגה. תכונות המחלקה הן: שם – name, מטיפוס מחרוזת string; תעודת זהות – id, מטיפוס מחרוזת string; שנת לידה – year, מטיפוס מספר שלם int; מספר מבחני נהיגה כולל – tests, מטיפוס מספר שלם int. במחלקה הוגדרה פעולה בונה (constructor) המקבלת פרמטר לכל תכונה ויוצרת עצם מסוג Driver, המכיל את הערכים האלו בתכונות. כמו כן יש פעולות get/set לכל אחת מהתכונות.

סעיף א

עקוב אחרי קטע התכנית, לכל עצם רשום את השמות של כל התכונות שלו, את הערכים של כל התכונות ואת השינויים שהיו בהם, ורשום את הפלט:

Driver[] d = new Driver[5];
d[0] = new Driver("Yossi", "1234", 2000, 3);
d[1] = new Driver("Avi", "7596", 1980, 7);
d[2] = new Driver("Sara", "6051", 1995, 1);
d[3] = new Driver("Dani", "4472", 1998, 2);

d[4] = d[3];

int m = 0, s = 0;
int x = d[1].GetTests();
d[1].SetTests(d[3].GetTests()+2);
d[3].SetTests(x);

for (int i = 0; i < d.Length; i++)
{
    Console.WriteLine(d[i].GetTests());
    s = s + d[i].GetTests();
    if (d[i].GetYear() > 1995)
        m++;
}
Console.WriteLine((double)s/d.Length);
Console.WriteLine(m);
סעיף ב

כתוב פעולה המקבלת מערך של עצמים מסוג Driver, ומספר שלם num, ומחזירה מערך הכולל את השמות של הנהגים שעברו את הטסט בפחות מ-num מבחנים.

public static string[] GetNamesUnder(Driver[] arr, int num)

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

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

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

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