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

נתונות ארבע פעולות:

def one(num):
    return two(num, 0, 0)

def two(num, s, c):
    if num == 0:
        return s / c if c != 0 else 0.0
    return two(num // 10, s + (num % 10), c + 1)

def three(arr, p):
    n = len(arr)
    temp = [0] * n
    four(arr, temp, 0, 0, n - 1, p)
    return temp

def four(arr, temp, k, left, right, p):
    if k < len(arr):
        if one(arr[k]) > one(arr[p]):
            temp[right] = arr[k]
            four(arr, temp, k + 1, left, right - 1, p)
        else:
            temp[left] = arr[k]
            four(arr, temp, k + 1, left + 1, right, p)
סעיף א(1)

עקבו אחרי זימון הפונקציה one(6123) ורשמו את תוצאת הזימון! יש להראות מעקב.

סעיף א(2)

תנו דוגמה של מספר שלם וחיובי גדול מ-100 שעבורו הפונקציה one תחזיר ערך חמש.

סעיף א(3)

מה מבצעת הפונקציה one(num) עבור מספר שלם num?

סעיף ב(1)

נתונה הרשימה a = [24, 126, 9, 35, 2684, 8941]. עקבו אחרי זימון הפונקציה three(a, 3) ורשמו מה תהיה תוצאת הזימון. יש להראות מעקב אחרי ביצוע הפונקציה three, אין צורך להראות מעקב אחרי הפעולות one ו-two.

סעיף ב(2)

האם קיים ערך p שעבורו זימון הפונקציה three(a, p) יגרום לשגיאה? הסבירו את תשובתכם.

סעיף ב(3)

תנו דוגמה לרשימה arr בגודל שישה איברים כך שזימון הפונקציה three(arr, p) יחזיר רשימה זהה ל-arr עבור כל ערך p תקין. אם הדבר אינו אפשרי הסבירו מדוע.

סעיף ב(4)

מה מבצעת הפונקציה three(a, p) עבור רשימה של מספרים שלמים arr וערך שלם p?

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

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

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

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