נתונה פעולה רקורסיבית what(String s, int k) הבאה.
נתונה פעולה רקורסיבית what(String s, int k) הבאה.
public static string What(string s, int k)
{
if (s.Length == k)
return "";
if (s[k] >= 'A' && s[k] <= 'Z')
return s[k] + What(s, k + 1);
if (s[k] >= 'a' && s[k] <= 'z')
return What(s, k + 1) + s[k];
return What(s, k + 1);
}
סעיף א
מה תהיה תוצאת הזימון what(s1, 0) עבור מחרוזת s1="A3BC12eDba"?
סעיף ב
תן דוגמה למחרוזת s2 כך שתוצאת הזימון what(s2, 0) תהיה "ABC".
סעיף ג
תן דוגמה למחרוזת s3 כך שתוצאת הזימון what(s3, 0) תהיה "ABCabc".
סעיף ד
האם קיימת מחרוזת s4 באורך של שמונה תווים לפחות כך שתוצאת הזימון what(s4, 0) תהיה "ABCabc"? אם כן - תן דוגמה למחרוזת כזאת, אם לא - הסבר למה.
סעיף ה
[תוקן content_issue: s5 ולא s4] האם קיימת מחרוזת s5 באורך 8 תווים לפחות כך שתוצאת הזימון what(s5, 0) תהיה "abcABC"? אם כן - תן דוגמה למחרוזת כזאת, אם לא - הסבר למה.
סעיף ו
מה מבצעת הפעולה what?
סעיף ז
הפרמטר k מוגדר כמשתנה מסוג שלם. האם כל ערך שלם מתאים לזימון הפעולה? אם יש ערכים שיכולים לגרום לשגיאת זמן ריצה, הסבר איזה שינוי יש לעשות כדי למנוע שגיאה.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.