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

נתונה הפעולה why (Why ב-C#) המקבלת שתי מחרוזות (הקוד המלא מובא כאן).

public static string Why(string s1, string s2)
{
    string res1 = "";
    string res2 = "";
    while(s1.Length>0)
    {
        char ch = s1[0];
        int p = s2.IndexOf(ch);
        if(p == -1)
            res1 = res1 + ch;   // (*)
        else
        {
            res2 = res2 + ch;
            s2 = s2.Substring(0, p) + s2.Substring(p+1);
        }
        s1 = s1.Substring(1);
    }
    return res2 + res1;
}
סעיף א

נתונות שתי מחרוזות s1="GOODDAY" ו-s2="BOYSANDGIRLS". עקבו בעזרת טבלת מעקב אחרי זימון הפעלה why(s1, s2) ורשמו מה תחזיר הפעולה.

סעיף ב

מה מבצעת הפעולה why באופן כללי?

סעיף ג

הפקודה res1 = res1 + ch; המסומנת ב-(*) הוחלפה לפקודה הבאה: res2 = res2 + '%'; רשמו מה תהיה תוצאת זימון הפעולה why(s1, s2) עבור שתי מחרוזות s1="GOODDAY" ו-s2="BOYSANDGIRLS".

סעיף ד

מה מבצעת הפעולה why באופן כללי אחרי השינוי?

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

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

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

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