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

סעיף א

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

def secret(s1, s2):
    if s1 == s2:
        return False
    while len(s1) >0 and len(s2)>0 :
        pos = s2.find(s1[0])
        if pos == -1:
            return False
        s1 = s1[1:]
        s2 = s2[0:pos]+s2[pos+1:]
    return len(s1) == 0
  1. תנו דוגמה למחרוזת s2 באורך של שישה תווים שעבורה הפעולה secret("HELLO!", s2) תחזיר ערך True.
  2. נתונה הטענה הבאה: אם זימון הפעולה secret(s1, s2) מחזיר ערך True, גם זימון הפעולה secret(s2, s1) יחזיר ערך True. האם הטענה נכונה? הסבירו את תשובתכם.
  3. מה מבצעת הפעולה secret באופן כללי?
סעיף ב

נתונה הפעולה mystery המקבלת רשימה מחרוזות. הפעולה משתמשת בפעולה secret:

def mystery(arr):
    for i in range(0, len(arr)-1, 2):
        if not secret(arr[i], arr[i+1]):
            return False
    return True
  1. תנו דוגמה לרשימה arr של שש מחרוזות שעבורה הפעולה mystery תחזיר ערך true.
  2. נתונה הטענה הבאה: אם זימון הפעולה mystery(arr) מחזיר ערך True, הרשימה arr לא כוללת זוג מחרוזות זהות אשר נמצאות במקומות עוקבים. האם הטענה נכונה? הסבירו את תשובתכם.
  3. מהי הסיבוכיות של הפעולה mystery? הסבירו את תשובתכם.
שאלות ותגובות על השאלה

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

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

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