(א)נתונה הפעולה Why הבאה:
```csharp
public static int Why(int[] a, int x, int k){
for(int i = k; i < a.Length; i++)
if(a[i] == x)
return i;
return -1;
}
```
1. תנו דוגמה של מערך מספרים שלמים arr שעבורו זימון הפעולה Why(arr, 5, 3) יחזיר ערך 5 וזימון הפעולה Why(arr, 3, 5) יחזיר ערך (-1).
2. מה מבצעת הפעולה Why באופן כללי?
(ב)נתונה הפעולה Where הבאה:
```csharp
public static bool Where(int[] a, int[] b) {
int k = -1;
for(int i = 0; i < b.Length; i++)
{
k = Why(a, b[i], k+1);
if(k == -1)
return false;
}
return true;
}
```
נתונים שני המערכים הבאים:
```csharp
int[] a = {2,4,9,0,2,3};
int[] b = {2,4,0,9,3};
```
מהי תוצאת הזימון Where(a, b)?
יש להראות מעקב אחרי ביצוע הפעולה. אין צורך במעקב אחרי הפעולה Why.
(ג)נתונה הפעולה What הבאה:
```csharp
public static bool What(int[] a, int[] b) {
int i = 0, j = 0;
while(i < a.Length && j < b.Length)
{
if(a[i] == b[j])
{
i++;
j++;
}
else
i++;
}
return j == b.Length;
}
```
האם הפעולה What שקולה (מבצעת בדיוק אותו הדבר) לפעולה Where? אם כן – הסבירו מה מבצעות שתי הפעולות באופן כללי, ולא – תנו דוגמה של שני המערכים a ו-b שעבורם תוצאות הזימונים What(a,b) ו-Where(a,b) יהיו שונות.

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

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

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

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←