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

נתונה הפעולה What() הבאה המקבלת מחרוזת:

public static string What(string s)
{
    string str="";
    int i;
    for(i=0; i < s.Length-1; i++)
    {
        if(s[i]<'A' || s[i]>'Z')
        {
            str+= s[i];
        }
        else
        {
            if(s[i] != s[i+1])
            {
                str+= s[i];
            }
        }
    }
    str+= s[i];
    return str;
}
סעיף א

נתונה הפעולה What() הבאה המקבלת מחרוזת:

public static string What(string s)
{
    string str="";
    int i;
    for(i=0; i < s.Length-1; i++)
    {
        if(s[i]<'A' || s[i]>'Z')
        {
            str+= s[i];
        }
        else
        {
            if(s[i] != s[i+1])
            {
                str+= s[i];
            }
        }
    }
    str+= s[i];
    return str;
}

עקבו בעזרת טבלת המעקב אחרי זימון הפעולה What("%%ABBCCC??DD") ורשמו מה תהיה תוצאת הזימון.

סעיף ב

האם קיימת מחרוזת לא ריקה str כך שזימון הפעולה What(str) יחזיר מחרוזת זהה ל-str? אם כן – תנו דוגמה למחרוזת, אם לא – הסבירו למה אין מחרוזת כזאת.

סעיף ג

האם קיימות שתי מחרוזות שונות str1 ו-str2 כך שתוצאות הזימונים What(str1) ו-What(str2) יהיו זהות? אם כן – תנו דוגמה לזוג מחרוזות str1 ו-str2, אם לא – הסבירו למה אין זוג כזה.

סעיף ד

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

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

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

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

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