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

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

public static bool Mystery(string s1, string s2)
{
    if(s2.Length > s1.Length) return false;
    if(s2.Length == 0) return true;
    if(s1[0]!=s2[0]) return false;
    return Mystery(s1.Substring(1), s2.Substring(1));
}

public static bool Secret (string s1, string s2)
{
    if(s2.Length == 0) return true;
    if(s1.Length < s2.Length) return false;
    return Mystery(s1,s2) || Secret(s1.Substring(1), s2);
}
סעיף א

עקבו אחרי זימון Mystery("HELLO","HELP") ורשמו את תוצאת הזימון. יש להראות מעקב!

סעיף ב

מה מבצעת הפעולה mystery(s1, s2) עבור שתי מחרוזות s1,s2?

סעיף ג

עקבו אחרי זימון Secret("MYJOBTEST", "JOB") ורשמו את תוצאת הזימון. יש להראות מעקב אחרי הפעולה Secret, אין צורך במעקב אחרי הפעולה Mystery.

סעיף ד

מה מבצעת הפעולה Secret(s1, s2) עבור שתי מחרוזות s1,s2?

סעיף ה

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

public static bool SecretIterative(string s1, string s2)

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

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

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

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