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

סעיף א

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

def why(a, x, k):
    for i in range(k, len(a)):
        if a[i] == x:
            return i
    return -1
  1. תנו דוגמה של רשימת מספרים שלמים arr שעבורו זימון הפעולה why(arr, 5, 3) יחזיר ערך 5 וזימון הפעולה why(arr, 3, 5) יחזיר ערך (-1).
  2. מה מבצעת הפעולה why באופן כללי?
סעיף ב

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

def where(a, b):
    k = -1
    for i in range(0, len(b)):
        k = why(a, b[i], k+1)
        if k == -1:
            return False
    return True

נתונות שתי הרשימות הבאות: a = [2,4,9,0,2,3] b = [2,4,0,9,3] מהי תוצאת הזימון where(a, b)? יש להראות מעקב אחרי ביצוע הפעולה. אין צורך במעקב אחרי הפעולה why.

סעיף ג

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

def what(a, b):
    i = 0
    j = 0
    while i < len(a) and j < len(b):
        if a[i] == b[j]:
            i += 1
            j += 1
        else:
            i += 1
    return j == len(b)

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

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

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

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

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