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

נתונות הפעולות What, Why ו-WhyHelp:

public static bool What(string s, char c, int k)
{
    if(k == 0 && s.Length == 0) return true;
    if(s.Length == 0) return false;
    if(k < 0 ) return false;
    if(s[0] == c) return What(s.Substring(1),c, k-1);
    return What(s.Substring(1),c, k);
}
public static bool Why(char[] arr, string s)
{
    return WhyHelp(arr, s, 0);
}
public static bool WhyHelp(char[] arr, string s, int k)
{
    if(k == arr.Length) return true;
    if(!What(s, arr[k], k+1)) return false;
    return WhyHelp(arr, s, k+1);
}
סעיף א

עקבו אחרי זימון What("HELLO",'L',3) ורשמו את תוצאת הזימון. יש להראות מעקב.

סעיף ב

תנו דוגמה למחרוזת s באורך חמישה תווים לפחות שעבורה זימון What(s,'T',2) יחזיר ערך true.

סעיף ג

מה מבצעת הפעולה What(string s, char c, int k) באופן כללי?

סעיף ד

נתונים מערך תווים

char[] arr = {'H','E','L','P'};

ומחרוזת

string s = "APHEEKLPPLVLZTP";

עקבו אחרי הזימון Why(arr, s) ורשמו את תוצאות הזימון.

סעיף ה

תנו דוגמה למחרוזת הקצרה ביותר str שעבורה זימון הפעולה Why(arr, str) יחזיר ערך true.

סעיף ו

מה מבצעת הפעולה Why(arr, s) באופן כללי?

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

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

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

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