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

נתונה הפעולה why הבאה המקבלת מחרוזת:

public static void Why(string str)
{
    int i=0;
    int j=str.Length-1;
    while(i<=j)
    {
      if(str[i] < 'A' || str[i] > 'Z')
        i++;
      else if(str[j]< 'A' || str[j] > 'Z')
        j--;
      else
      {
        string temp = str.Substring(i,j+1);
        Console.WriteLine(temp);
        i++; // (*)
        j--; // (**)
      }
    }
}
סעיף א

עקבו בעזרת טבלת מעקב אחרי זימון הפעולה why(str) עבור המחרוזת str="aBbCdDeFggHi3" ורשמו מה יהיה הפלט של הפעולה.

סעיף ב

הפקודה i++; המסומנת ב-(*) נמחקה. מה יהיה הפלט עבור זימון why(str) אחרי שינוי הפעולה?

סעיף ג

אחרי השינוי שהתבצע בסעיף ב', נמחקה גם הפקודה j--; המסומנת ב-(**). הסבירו מה תהיה התוצאה של שינוי זה.

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

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

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

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