בשאלה זו אין קשר בין הסעיפים.
בשאלה זו אין קשר בין הסעיפים.
סעיף א
נתונה הפונקציה 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)
- מה תהיה תוצאת זימון הפונקציה what(2, 15)? יש להראות מעקב.
- תנו דוגמה למספר דו-ספרתי b שעבורו תוצאת זימון הפונקציה what(3, b) תהיה True.
- מה מבצעת הפונקציה 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
- מה תהיה תוצאת זימון הפונקציה why(10)? יש להראות מעקב.
- תנו דוגמה למספר דו-ספרתי n שעבורו תוצאת זימון הפונקציה why(n) תהיה True.
- מה מבצעת הפונקציה why באופן כללי עבור מספר שלם n? יש להתייחס למקרים שונים של n.
סעיף ג
נתונה הפונקציה display המקבלת מספר שלם:
def display(n):
if n > 0:
display(n // 10)
print(n % 10, end="")
display(n // 10)
- מה יהיה פלט עבור זימון הפונקציה display(12)? יש להראות מעקב.
- מה יהיה פלט עבור זימון הפונקציה display(123)?
- מה יהיה פלט עבור זימון הפונקציה display(1234)?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.