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

נתונות שלוש הפעולות הבאות:

public static int one(String s, int i)
{
    int m = 0;
    for (int j = 1; j <= i; j++)
    {
        if (s.charAt(j) < s.charAt(m))
            m = j;
    }
    return m;
}

public static String two(String s, int i)
{
    String r = "";
    for(int j = 0;j <= i;j++)
    {
        r += s.charAt(i-j);
    }
    r += s.substring(i+1);
    return r;
}

public static String three(String s)
{
    for (int i = s.length()-1; i > 0; i--)
    {
        int m = one(s, i);
        s = two(s, m);
        s = two(s, i);
    }
    return s;
}

תזכורת: הפונקציה s.charAt(k) מחזירה תו שנמצא במקום k במחרוזת s.

סעיף א

עקבו בעזרת טבלת מעקב אחרי זימון הפעלה one("VACCINE",6) ורשמו מה תחזיר הפעולה.

סעיף ב

עקבו בעזרת טבלת מעקב אחרי זימון הפעלה two("VACCINE",3) ורשמו מה תחזיר הפעולה.

סעיף ג

עקבו בעזרת טבלת מעקב אחרי זימון הפעלה three("VACCINE") ורשמו מה תחזיר הפעולה. אין צורך לעקוב אחרי פעולות one ו-two.

סעיף ד

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

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

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

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

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