(א)נתונה הפעולות why הבאה:
```python
def why(a, x, k):
for i in range(k, len(a)):
if a[i] == x:
return i
return -1
```
1. תנו דוגמה של רשימת מספרים שלמים arr שעבורו זימון הפעולה why(arr, 5, 3) יחזיר ערך 5 וזימון הפעולה why(arr, 3, 5) יחזיר ערך (-1).
2. מה מבצעת הפעולה why באופן כללי?
```python
def why(a, x, k):
for i in range(k, len(a)):
if a[i] == x:
return i
return -1
```
1. תנו דוגמה של רשימת מספרים שלמים arr שעבורו זימון הפעולה why(arr, 5, 3) יחזיר ערך 5 וזימון הפעולה why(arr, 3, 5) יחזיר ערך (-1).
2. מה מבצעת הפעולה why באופן כללי?
(ב)נתונה הפעולה where הבאה:
```python
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.
```python
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 הבאה
```python
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) יהיו שונות.
```python
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) יהיו שונות.
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות
שאלו כאן — ותקבלו מענה מוסמך.
רוצים לתרגל אלפי שאלות נוספות?
המשיכו לתרגול מלא עם משוב אישי ←מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות