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

נתונה הפונקציה what המקבלת מספר שלם חיובי n ופונקציית עזר בשם what_helper:

def what(n):
    if n < 10:
        return True
    return what_helper(n // 10, n % 10)

def what_helper(n, k):
    if n == 0:
        return True
    if n % 10 <= k:
        return False
    return what_helper(n // 10, n % 10)
סעיף א
  1. מה תהיה תוצאת זימון הפונקציה what(8652)? יש להראות מעקב.
  2. תנו דוגמה למספר תלת-ספרתי n שעבורו תוצאת זימון הפונקציה what(n) תהיה True.
  3. מה מבצעת הפונקציה what(n) באופן כללי עבור מספר שלם חיובי n?
סעיף ב

נתונה הפונקציה secret המקבלת רשימה של מספרים שלמים ופונקציית עזר secret_helper:

def secret(a):
    secret_helper(a, 0, len(a) - 1)

def secret_helper(a, low, high):
    if low < high:
        if what(a[low]):
            secret_helper(a, low + 1, high)
        elif not what(a[high]):
            secret_helper(a, low, high - 1)
        else:
            temp = a[low]
            a[low] = a[high]
            a[high] = temp
            secret_helper(a, low + 1, high - 1)
  1. עקבו אחרי זימון הפונקציה secret(a) עבור הרשימה הבאה: a = [17, 863, 19, 542, 123,542]. רשמו מה תהיה התוצאה של הזימון. יש להראות מעקב.
  2. תנו דוגמה של רשימה b הכוללת חמישה מספרים תלת-ספרתיים, כך שזימון הפונקציה secret(b) לא יגרום לשינוי ברשימה.
  3. תנו דוגמה של רשימה c הכוללת חמישה מספרים תלת-ספרתיים, כך שזימון הפונקציה secret(c) יגרום להפיכת סדר איברים ברשימה.
  4. מה מבצעת הפונקציה secret באופן כללי עבור רשימה של מספרים שלמים חיוביים?
שאלות ותגובות על השאלה

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

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

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