(א)נתונה מחרוזת s="aMrAdDYrM". עקבו בעזרת טבלת המעקב אחרי זימון הפעולה why(s) ורשמו מהי תוצאת הזימון.
```java
public static boolean why(String s)
{
while(s.length() > 1)
{
if(s.charAt(0)<'A' || s.charAt(0)>'Z')
{
s = s.substring(1);
}
else
if(s.charAt(s.length()-1)<'A' || s.charAt(s.length()-1)>'Z')
{
s = s.substring(0,s.length()-1);
}
else
{
if(s.charAt(0)!=s.charAt(s.length()-1)) return false;
s = s.substring(1, s.length()-1);
}
}
return true;
}
```
(ב)נתונה הפעולה what הבאה:
```java
public static boolean what(String s)
{
while(s.length() > 1)
{
if(s.charAt(0) != s.charAt(s.length()-1)) return false;
s = s.substring(1, s.length()-1);
}
return true;
}
```
תנו דוגמה למחרוזת s באורך שישה תווים כך שזימון what(s) יחזיר ערך true.
(ג)נתונה הפעולה where הבאה. הפעולה משתמשת בפעולה what:
```java
public static boolean where(String s)
{
String str = "";
for(int i = 0; i < s.length(); i++)
if(s.charAt(i)>='A' && s.charAt(i)<='Z') str += s.charAt(i);
return what(str);
}
```
האם הפעולה where שקולה (מבצעת בדיוק אותו הדבר) לפעולה why? אם כן, הסבירו מה מבצעות שתי הפעולות באופן כללי, ולא – תנו דוגמה של מחרוזת s שעבורה תוצאות הזימונים why(s) ו-where(s) יהיו שונות.

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

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

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

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←