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

בשאלה זו אין קשר בין הסעיפים.

סעיף א

נתונה הפעולה what המקבלת שני מספרים שלמים חיוביים a ו-b (גדולים מאפס).

public static boolean what(int a, int b) {
    return what(a, b, 1);
}
public static boolean what(int a, int b, int n) {
    if(a == 1)
        return b == 1;
    if(n == b)
        return true;
    if(n > b)
        return false;
    return what(a, b, n*a);
}
  1. מה תהיה תוצאת זימון הפעולה what(2, 15)? יש להראות מעקב.
  2. תנו דוגמה למספר דו-ספרתי b שעבורו תוצאת זימון הפעולה what(3, b) תהיה true.
  3. מה מבצעת הפעולה what(a, b) באופן כללי עבור שני מספרים שלמים חיוביים?
סעיף ב

נתונה הפעולה why המקבלת מספר שלם n.

public static boolean why(int n){
    return why(n, n);
}
public static boolean why(int n, int x){
    if(n > x * x)
        return false;
    if(n < x * x)
        return why(n, x-1);
    return true;
}
  1. מה תהיה תוצאת זימון הפעולה why(10)? יש להראות מעקב.
  2. תנו דוגמה למספר דו-ספרתי n שעבורו תוצאת זימון הפעולה why(n) תהיה true.
  3. מה מבצעת הפעולה why באופן כללי עבור מספר שלם n? יש להתייחס למקרים שונים של n.
סעיף ג

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

public static void display(int n){
    if(n>0) {
        display(n/10);
        System.out.print(n % 10);
        display(n/10);
    }
}
  1. מה יהיה פלט עבור זימון הפעולה display(12)? יש להראות מעקב.
  2. מה יהיה פלט עבור זימון הפעולה display(123)?
  3. מה יהיה פלט עבור זימון הפעולה display(1234)?
שאלות ותגובות על השאלה

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

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

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