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

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

סעיף א

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

def what(a, b, n=1):
    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. x=None, ערך ברירת המחדל של x.

def why(n, x = None):
    if x is None:
        x = n
    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 המקבלת מספר שלם:

def display(n):
    if n > 0:
        display(n // 10)
        print(n % 10, end="")
        display(n // 10)
  1. מה יהיה פלט עבור זימון הפונקציה display(12)? יש להראות מעקב.
  2. מה יהיה פלט עבור זימון הפונקציה display(123)?
  3. מה יהיה פלט עבור זימון הפונקציה display(1234)?
שאלות ותגובות על השאלה

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

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

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