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

שני כיווני בדיקה על אותו רעיון: קדימה (מצטבר משמאל) באיטרציה רגילה, והפוך (מצטבר מימין) שדורש רקורסיה כי אי אפשר לדעת מראש את הסכום שעוד לא נראה.

דוגמה ל"שרשרת סכומים": כל איבר (פרט לראשון) הוא סכום כל האיברים שלפניו (1=1, 2=1+1, 4=1+1+2, 8=1+1+2+4 וכו').

chain → 1 → 1 → 2 → 4 → 8 → 16 → 32 → null

דוגמה ל"שרשרת סכומים הפוכה": כל איבר (פרט לאחרון) הוא סכום כל האיברים שאחריו (2=2, 2=2, 4=2+2, 8=4+2+2 וכו', בכיוון הפוך).

chain → 64 → 32 → 16 → 8 → 4 → 2 → 2 → null
סעיף א

כתבו פעולה אשר מקבלת הפניה לחוליה הראשונה של שרשרת חוליות ומחזירה true אם השרשרת היא "שרשרת סכומים", ואם לא, הפעולה מחזירה false.

public static bool IsSumChain(Node<int> chain)

סעיף ב

כתבו פעולה אשר מקבלת הפניה לחוליה הראשונה של שרשרת חוליות ומחזירה true אם השרשרת היא "שרשרת סכומים הפוכה", ואם לא, הפעולה מחזירה false.

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

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

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

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