נתונה הפעולה הרקורסיבית Secret:

public static int Secret(int[] a)
{
    return Secret(a, a.Length-1);
}
public static int Secret(int[] a, int i)
{
    if(i == 0) return 0;
    int k = Secret(a, i-1);
    if(a[i] < a[k])
        return i;
    return k;
}
(א)נתון המערך הבא של מספרים שלמים:
```csharp
int[] a = {3,5,1,2,10,9}
```
עקבו אחרי זימון Secret(a) רשמו את תוצאת הזימון. יש להראות מעקב!
(ב)מה מבצעת הפעולה Secret(a) באופן כללי?
(ג)נתונה הפעולה הרקורסיבית Mystery הבאה:
```csharp
public static void Mystery(int[] a)
{
Mystery(a, a.Length-1);
}
public static void Mystery(int[] a, int i)
{
if(i > 0)
{
int k = Secret(a,i);
int temp = a[i];
a[i] = a[k];
a[k] = temp;
Mystery(a, i-1);
}
}
```
נתון המערך הבא של מספרים שלמים:
```csharp
int[] a = {3,5,1,2,10,9}
```
עקבו אחרי זימון Mystery(a) ורשמו את תוצאות הזימון.
יש להראות מעקב אחרי הפעולה Mystery, אין צורך במעקב אחרי הפעולה Secret.
(ד)מה מבצעת הפעולה Mystery(a) באופן כללי?

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

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

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

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

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

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

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