נתונה הפעולה Secret:
public static int Secret(Stack<int> s1, Stack<int> s2)
{
if(s1.IsEmpty() || s2.IsEmpty())
return 0;
if(s1.Top() > s2.Top())
return s1.Pop() + s2.Top() + Secret(s1, s2);
else
return s1.Top() + s2.Pop() + Secret(s1, s2);
}
שתי המחסניות שבסעיף א׳
s2 (top..bottom): 5, 2, 4, 3
s1 (top..bottom): 7, 6, -1, 1
שתי המחסניות שבסעיף ג׳:
s2 (top..bottom): 1, 2, 3, 4
s1 (top..bottom): 4, X, -1
סעיף א
נתונות שתי המחסניות הבאות (ראו איור). עקבו אחרי זימון הפעולה Secret(s1, s2) וכתבו מה תחזיר הפעולה. יש להראות שינויים בתכנים של המחסניות.
סעיף ב
נתונה הטענה הבאה: Secret(s1, s2) == Secret(s2, s1). האם הטענה נכונה לכל זוג מחסניות של מספרים שלמים s1 ו-s2? נמקו את תשובתכם. אם הטענה לא נכונה, יש להביא דוגמה של זוג מחסניות s1 ו-s2 מתאים.
סעיף ג
נתונות שתי המחסניות הבאות (ראו איור, s1 מכיל את X). האם קיים ערך X כזה שתוצאת זימון הפעולה Secret(s1, s2) תהיה 19? הסבירו את תשובתכם.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.