אתם מתרגלים שאלה מתוך מה"ט אלגוריתמיקה ותכנות — הנדסאי תוכנהמבחן 2021 · אביב מועד א · שאלה 13כל שאלות המבחן ←
אלגוריתמים בסיסייםרקורסיה

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

```csharp
public static bool What(string s1, string s2)
{
  if(s1.Length != s2.Length)
       return false;
   if(s1.Length == 0)
        return true;
  int place = s2.IndexOf(s1[0]);
  if(place < 0)
     return false;
  else
  {
      string a = s2.Substring(0, place);
      string b = s2.Substring(place+1);
      string c = String.Concat(a, b);
      return What(s1.Substring(1), c);
  }
}
סעיף א

עקוב אחרי זימון הפעולה what(s1, s2) עבור s1="hello", s2="oeloh" ורשום מה תהיה תוצאת הזימון.

סעיף ב

תן דוגמה למחרוזת s3 כך שתוצאת הזימון what("hello", s3) תהיה שונה מהתוצאה של סעיף א'.

סעיף ג

מה מבצעת הפעולה what באופן כללי?

סעיף ד

כתוב את הפעולה what המבצעת אותה משימה בצורה לא רקורסיבית.

public static bool What(string s1, string s2)

שאלות ותגובות על השאלה

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

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

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