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

נתונות הפעולות הסטטיות what ו-something הבאות:

public static boolean what(String s, String t, int ind)
{
    for (int i=0; i<t.length(); i++)
    {
        if (s.charAt(ind+i) != t.charAt(i))
            return false;
    }
    return true;
}

public static String something(String s, String t)
{
    int i = 0;
    int lenT = t.length();
    while (i < s.length()-lenT+1)
    {
        if (s.charAt(i) == t.charAt(0)); // (bug: trailing ';' -- the block below always runs)
        {
            if (what(s, t, i))
            {
                s = s.substring(0,i)+s.substring(i+lenT);
                i--;
            }
        }
        i++;
    }
    return s;
}
סעיף א

נתונות שתי מחרוזות s1="ABCANCAD" ו-s2="CAN". מה צריך להיות ערכו של הפרמטר ind כך שהזימון what(s1, s2, ind) יחזיר ערך true?

סעיף ב

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

סעיף ג

נתונה מחרוזת s1="AACANAAAA". מה צריכה להיות המחרוזת s2, כך שתוצאת הזימון something(s1, s2) תהיה המחרוזת "CAN"? הסבירו את תשובתכם.

סעיף ד

מה מבצעות הפעולות what ו-something באופן כללי? הסבירו את תשובתכם.

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

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

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

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