סעיף א
נתונה הפעולה What המקבלת שתי מחרוזות s1 ו-s2:
public static bool What(string s1, string s2) {
if(s1.Equals(s2)) return false;
for(int i=0; i<s1.Length; i++)
{
int pos = s2.IndexOf(s1[i]);
if(pos == -1) return false;
s2 = s2.Substring(0,pos) + s2.Substring(pos+1);
}
return true;
}
- עקבו בעזרת טבלת המעקב אחרי זימון
What("HELLO","HELPME")ורשמו מה תהיה תוצאת הזימון. - נתונה הטענה הבאה: אם זימון הפעולה
What(s1, s2)מחזיר ערך true, גם זימון הפעולהWhat(s2, s1)יחזיר ערך true. האם הטענה נכונה? הסבירו את תשובתכם. - מה מבצעת הפעולה What באופן כללי?
סעיף ב
נתונה הפעולה Secret המקבלת מערך מחרוזות. הפעולה משתמשת בפעולה What:
public static bool Secret(string[] arr) {
for (int i = 1; i<arr.length; i++)
{
if (!What(arr[i], arr[0]))
return false;
}
return true;
}
- תנו דוגמה למערך arr בגודל שישה תאים הכולל מחרוזות שונות שעבורו הפעולה Secret תחזיר ערך true.
- נתונה הטענה הבאה: אם זימון הפעולה
Secret(arr)מחזיר ערך true, המערך arr לא כולל זוג מחרוזות זהות. האם הטענה נכונה? הסבירו את תשובתכם. - מה מבצעת הפעולה Secret באופן כללי?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.