נתונה הפונקציה what המקבלת מספר שלם חיובי n ופונקציית עזר בשם what_helper:
נתונה הפונקציה 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)
סעיף א
- מה תהיה תוצאת זימון הפונקציה what(8652)? יש להראות מעקב.
- תנו דוגמה למספר תלת-ספרתי n שעבורו תוצאת זימון הפונקציה what(n) תהיה True.
- מה מבצעת הפונקציה 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)
- עקבו אחרי זימון הפונקציה secret(a) עבור הרשימה הבאה: a = [17, 863, 19, 542, 123,542]. רשמו מה תהיה התוצאה של הזימון. יש להראות מעקב.
- תנו דוגמה של רשימה b הכוללת חמישה מספרים תלת-ספרתיים, כך שזימון הפונקציה secret(b) לא יגרום לשינוי ברשימה.
- תנו דוגמה של רשימה c הכוללת חמישה מספרים תלת-ספרתיים, כך שזימון הפונקציה secret(c) יגרום להפיכת סדר איברים ברשימה.
- מה מבצעת הפונקציה secret באופן כללי עבור רשימה של מספרים שלמים חיוביים?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.