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

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

public static String why(String s1, String s2)
{
    String res1 = "";
    String res2 = "";
    while(s1.length()>0)
    {
        char ch = s1.charAt(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 באופן כללי אחרי השינוי?

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

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

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

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