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

נתונה הפעולה what() הבאה המקבלת מחרוזת (ראו קוד).

סעיף א

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

public static String what(String s)
{
    String str="";
    int i;
    for(i=0; i < s.length()-1; i++)
    {
        if(s.charAt(i)<'A' || s.charAt(i)>'Z')
        {
            str+= s.charAt(i);
        }
        else
        {
            if(s.charAt(i) != s.charAt(i+1))
            {
                str+= s.charAt(i);
            }
        }
    }
    str+= s.charAt(i);
    return str;
}

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

סעיף ב

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

סעיף ג

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

סעיף ד

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

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

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

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

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