סעיף א
נתונה הפעולות why הבאה:
def why(a, x, k):
for i in range(k, len(a)):
if a[i] == x:
return i
return -1
- תנו דוגמה של רשימת מספרים שלמים arr שעבורו זימון הפעולה why(arr, 5, 3) יחזיר ערך 5 וזימון הפעולה why(arr, 3, 5) יחזיר ערך (-1).
- מה מבצעת הפעולה why באופן כללי?
סעיף ב
נתונה הפעולה where הבאה:
def where(a, b):
k = -1
for i in range(0, len(b)):
k = why(a, b[i], k+1)
if k == -1:
return False
return True
נתונות שתי הרשימות הבאות: a = [2,4,9,0,2,3] b = [2,4,0,9,3] מהי תוצאת הזימון where(a, b)? יש להראות מעקב אחרי ביצוע הפעולה. אין צורך במעקב אחרי הפעולה why.
סעיף ג
נתונה הפעולה what הבאה
def what(a, b):
i = 0
j = 0
while i < len(a) and j < len(b):
if a[i] == b[j]:
i += 1
j += 1
else:
i += 1
return j == len(b)
האם הפעולה what שקולה (מבצעת בדיוק אותו הדבר) לפעולה where? אם כן – הסבירו מה מבצעות שתי הפעולות באופן כללי, ולא – תנו דוגמה של שתי הרשימות a ו-b שעבורן תוצאות הזימונים what(a, b) ו-where(a, b) יהיו שונות.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.