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

סעיף א

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

public static boolean secret(Stack<Integer> s) {
    if (s.isEmpty()) return true;
    boolean 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 boolean mystery (Queue<Integer> q) {
    if (q.isEmpty()) return true;
    boolean 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. בסיום הפעולה, על המחסנית לחזור למצב המקורי.

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

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

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

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