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

סעיף א

נתונה הפעולה Secret:

public static bool Secret(Stack<int> s) {
    if (s.IsEmpty()) return true;
    bool res = true;
    while (!s.IsEmpty()) {
        int x = s.Pop();
        if (!s.IsEmpty()) {
            if (x * s.Top() >= 0) {
                res = false;
            }
        }
    return res;
}
  1. תנו דוגמה למחסנית s הכוללת לפחות שישה ערכים שלמים (גם חיוביים וגם שליליים), שעבורה זימון הפעולה Secret(s) יחזיר ערך true. אם אין מחסנית כזאת – הסבירו את הסיבה לכך.
  2. מה מבצעת הפעולה Secret באופן כללי עבור מחסנית של מספרים שלמים?
סעיף ב

נתונה הפעולה Mystery:

public static bool Mystery (Queue<int> q) {
    if (q.IsEmpty()) return true;
    bool res = true;
    while (!q.IsEmpty()) {
        int first = q.Remove();
        if (!q.IsEmpty()) {
            int second = q.Remove();
            if (first * second <= 0) {
                res = false;
            }
        }
    }
    return res;
}
  1. תנו דוגמה לתור q הכולל לפחות שישה ערכים שלמים (גם חיוביים וגם שליליים), שעבורו זימון הפעולה Mystery(q) יחזיר ערך true. אם אין תור כזה – הסבירו את הסיבה לכך.
  2. מה מבצעת הפעולה Mystery באופן כללי עבור תור של מספרים שלמים?
סעיף ג

כתבו פעולה בשם Check המקבלת מחסנית של מספרים שלמים חיוביים ומספר שלם חיובי k. הפעולה תבדוק אם כל איברי המחסנית הם כפולות של k (מתחלקים ב-k ללא שארית). אם כן – הפעולה תחזיר ערך true, ואם לא – הפעולה תחזיר ערך false. בסיום הפעולה, על המחסנית לחזור למצב המקורי.

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

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

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

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