(א)נתונה הפעולה What המקבלת מספר שלם חיובי n:

```csharp
public static bool What(int n) {
if (n < 10) return true;
return What(n / 10, n % 10);
}
private static bool What(int n, int k) {
if (n == 0) return true;
if (n % 10 <= k) return false;
return What(n / 10, n % 10);
}
```

1. מה תהיה תוצאת זימון הפעולה `What(8652)`? יש להראות מעקב.
2. תנו דוגמה למספר תלת-ספרתי n שעבורו תוצאת זימון הפעולה `What(n)` תהיה true.
3. מה מבצעת הפעולה `What(n)` באופן כללי עבור מספר שלם חיובי n?
(ב)נתונה הפעולה Secret המקבלת מערך מספרים שלמים:

```csharp
public static void Secret(int[] a) {
Secret(a, 0, a.Length-1);
}
private static void Secret(int[] a, int low, int high) {
if (low < high) {
if (What(a[low])) {
Secret(a, low + 1, high);
} else if (!What(a[high])) {
Secret(a, low, high - 1);
} else {
int temp = a[low];
a[low] = a[high];
a[high] = temp;
Secret(a, low + 1, high - 1);
}
}
}
```

1. עקבו אחרי זימון הפעולה `Secret(a)` עבור המערך הבא:
`int[] a = {17, 863, 19, 542, 123,542};`
רשמו מה תהיה התוצאה של הזימון. יש להראות מעקב.
2. תנו דוגמה של מערך b הכולל חמישה מספרים תלת-ספרתיים, כך שזימון הפעולה `Secret(b)` לא יגרום לשינוי במערך.
3. תנו דוגמה של מערך c הכולל חמישה מספרים תלת-ספרתיים, כך שזימון הפעולה `Secret(c)` יגרום להפיכת סדר איברים במערך.
4. מה מבצעת הפעולה Secret באופן כללי עבור מערך של מספרים שלמים חיוביים?

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

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

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

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

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

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

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