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

נתונה הפעולה secret הבאה המקבלת מספר שלם גדול מ-0:

def secret(n):
    return real_secret(n, 1)

def real_secret(n, k):
    if k == n:
        return 1
    if n % k == 0:
        return 1 + real_secret(n, k+1)
    return real_secret(n, k+1)
סעיף א

עקבו אחרי הזימונים הבאים של הפעולה secret ורשמו מה תהיה התוצאה של כל זימון:

  1. secret(12)
  2. secret(7)
  3. secret(15)
סעיף ב

מה מבצעת הפעולה secret(n) עבור מספר שלם גדול מ-0?

סעיף ג

נתונה הפעולה sod המקבלת רשימה של מספרים שלמים גדולים מ-0:

def sod(arr):
    return real_sod(arr, 0, len(arr)-1)

def real_sod(arr, i, j):
    if(i == j):
        return arr[i]
    if secret(arr[i]) < secret(arr[j]):
        j = j - 1
    else:
        i = i + 1
    return real_sod(arr, i, j)

עקבו אחרי זימון הפעולה sod(arr) עבור הרשימה הבאה: arr = [4,6,12,17,24,15,10] ורשמו מה תהיה התוצאה של הזימון. יש להראות מעקב!

סעיף ד

מה מבצעת הפעולה sod עבור רשימה של מספרים שלמים גדולים מ-0?

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

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

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

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