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

נתונות הפעולות What ו-Secret.

public  static  int  What (Queue<int> q , int x)
{
if ( q.IsEmpty() || x != q.Head() )
return 0;
    x = q.Remove();
    return   1 + What(q , x);
}

public  static  int  Secret(Queue<int> q)
{
  if (q.IsEmpty())  return 0;
  int x = q.Head();
  int z = x * What(q, x);
  int y = 1 + Secret(q);
  q.Insert(z);
  return y;
}
סעיף א

עקבו אחר ביצוע הפעולה What (ראו קוד לעיל). ענו:

  1. מה יחזיר זימון הפעולה What(q,5) עבור התור q:[5,5,5,3,3,2,8] (5 בראש התור)? יש להראות מעקב אחרי ביצוע הפעולה.
  2. אחרי זימון הפעולה What(q, x) עבור התור q לא ריק, התור q נשאר ללא שינוי. האם הטענה 'ערך x לא מופיע בתור' נכונה? הסבירו את תשובתכם.
  3. תנו דוגמה של תור q שעבורו זימון הפעולה What(q, 7) תחזיר 4. איך ייראה התור אחרי זימון הפעולה?
  4. מה מבצעת הפעולה?
סעיף ב

נתונה הפעולה Secret (ראו קוד לעיל). עקבו אחר הפעולה Secret(q) עבור התור q:[5,5,1,1,4,4,4,5,6] (5 בראש התור). אין צורך לפרט את המעקב אחרי הפעולה What. ענו:

  1. מהו הערך המוחזר מהפעולה Secret?
  2. איך ייראה התור בסיום הפעולה Secret?
  3. אחרי זימון הפעולה Secret(q) התור q נראה כך: q:[6,16,2,3] (6 בראש התור). איך נראה התור q לפני זימון הפעולה?
שאלות ותגובות על השאלה

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

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

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