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

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

סעיף א

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

public static bool What(int a, int b) {
    return What(a, b, 1);
}
public static bool 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 bool Why(int n){
    return Why(n, n);
}
public static bool 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);
        Console.Write(n % 10);
        Display(n/10);
    }
}
  1. מה יהיה פלט עבור זימון הפעולה Display(12)? יש להראות מעקב.
  2. מה יהיה פלט עבור זימון הפעולה Display(123)?
  3. מה יהיה פלט עבור זימון הפעולה Display(1234)?
שאלות ותגובות על השאלה

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

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

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