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

סעיף א

נתונה מחרוזת s="aMrAdDYrM". עקבו בעזרת טבלת המעקב אחרי זימון הפעולה why(s) ורשמו מהי תוצאת הזימון.

def why(s):
    while len(s) > 1:
        if s[0] < 'A' or s[0] > 'Z':
            s = s[1:]
        elif s[-1] < 'A' or s[-1] > 'Z':
            s = s[:-1]
        elif s[0] != s[-1]:
            return False
        else:
            s = s[1:-1]
    print(s)
    return True
סעיף ב

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

def what(s):
    while len(s) > 1:
        if s[0] != s[-1]:
            return False
        s = s[1:-1]
    return True

תנו דוגמה למחרוזת s באורך שישה תווים כך שזימון what(s) יחזיר ערך true.

סעיף ג

נתונה הפעולה where הבאה. הפעולה משתמשת בפעולה what:

def where(s):
    str = ""
    for i in range(len(s)):
        if s[i] >= 'A' and s[i] <= 'Z':
            str = str + s[i]
    return what(str)

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

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

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

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

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