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

סעיף א

נתונה הפעולה Secret הבאה המקבלת שתי מחרוזות:

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

נתונה הפעולה Mystery המקבלת מערך מחרוזות. הפעולה משתמשת בפעולה Secret:

public static bool Mystery(string[] arr)
{
    for (int i = 0; i<arr.Length -1; i+=2)
    {
        if (!Secret(arr[i], arr[i+1]))
            return false;
    }
    return true;
}
  1. תנו דוגמה למערך arr בגודל שישה תאים שעבורו הפעולה Mystery תחזיר ערך true.
  2. נתונה הטענה הבאה: אם זימון הפעולה Mystery(arr) מחזיר ערך true, המערך arr לא כולל זוג מחרוזות זהות אשר נמצאות בתאים סמוכים. האם הטענה נכונה? הסבירו את תשובתכם.
  3. מהי הסיבוכיות של הפעולה Mystery? הסבירו את תשובתכם.
שאלות ותגובות על השאלה

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

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

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