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

סעיף א

כתבו פעולה המקבלת מספר שלם וחיובי num וספרה dig. הפעולה תבדוק אם dig היא אחת מהספרות של num. אם כן, הפעולה תחזיר True, ולא – הפעולה תחזיר False. כותרת הפעולה:

def exists(num, dig)
סעיף ב

אוסף של מספרים שלמים חיוביים נקרא "סט שלם של ספרות" אם כל הספרות בין 0 ל-9 מופיעות בו לפחות פעם אחת.

לדוגמה, הרשימה arr1 היא "סט שלם של ספרות":

arr1012345678
7132817142059611861317

גם שתי תת-רשימות שלה (מקום 1–5, ומקום 3–8) הן "סט שלם של ספרות" כל אחת.

הרשימה הבאה היא לא "סט שלם של ספרות" כי סיפרה 7 לא מופיעה באף אחד מאיברי הרשימה:

arr20123456789
31328142059611061319234

כתבו פעולה המקבלת רשימה של מספרים שלמים חיוביים ושני מספרים נוספים המציינים אינדקס (מיקום ברשימה). הפעולה תבדוק אם תת-רשימה (רצף תאים בין שני האינדקסים) הוא "סט שלם של ספרות". אם כן – הפעולה תחזיר ערך True, ולא – תחזיר ערך False. כותרת הפעולה:

def is_full_set(arr, left, right)
סעיף ג

כתבו פעולה המקבלת רשימה של מספרים שלמים וחיוביים. הפעולה תחזיר אורך (מספר תאים) של תת-הרשימה הקטנה ביותר, שהיא "סט שלם של ספרות" (כהגדרתו בסעיף ב'). אם אין אף תת רשימה שהיא "סט שלם של ספרות", הפעולה תחזיר ערך (-1).

לדוגמה: עבור הרשימה arr1 (מהדוגמה בסעיף ב') הפעולה תחזיר 5, עבור הרשימה arr2 (מהדוגמה בסעיף ב') הפעולה תחזיר (-1). כותרת הפעולה:

def min_full_set(arr)
שאלות ותגובות על השאלה

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

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

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