divicidivici·איזיפס·פשוט להצליח

מה"ט אלגוריתמיקה ותכנות — קיץ 2024 מועד א'

תאריך הבחינה: לא ידוע

טופס המבחן המלא להורדה — ומפתח התשובות עם פתרון מפורט לכל שאלה, אונליין. פתחו שאלה למטה: בשאלה סגורה בוחרים תשובה, בשאלה פתוחה נפתח הפתרון המלא (כניסה מהירה וחינם).

פתרו את המבחן אונליין — בשפה שלכם:JavaC#

טופס מקורי (מה"ט) ↗יש מחוון רשמי ✓

למגמת הנדסת תוכנה — מי שלומד ב-Java או ב-C#. הלומדים בפייתון ניגשים לשאלון נפרד.

✓ פתרון מלא לכל שאלה · ✓ הסברים מלאים וחומרי לימוד · ✓ ליווי מורה AI · ✓ התחלה חינם

פתרון מפורט לכל שאלה — לא רק התשובה: הסבר שלב-אחר-שלב וניתוח הטעויות הנפוצות.

שאלות לדוגמה מהמבחן — פתרו עכשיו

בשאלה סגורה בוחרים תשובה; בשאלה פתוחה פותחים את הפתרון המלא (כניסה מהירה וחינם). אלו 3 מתוך 28 שאלות המבחן — את כולן תוכלו לפתור אונליין.

שאלה 1

כתבו קטע תוכנית המייצרת 40 מספרים אקראיים דו-ספרתיים שלמים חיוביים. על התוכנית לחשב ולהדפיס:

  • מהו המספר שנוצר הכי הרבה פעמים (אם יש כמה מספרים שנוצרו הכי הרבה פעמים, מספיק להדפיס אחד מהם).
  • אילו מספרים לא נוצרו.
שאלה 2

מערך של מספרים שלמים חיוביים נקרא מערך "מושלם K" אם הוא עונה על התנאי הבא: הסכום של כל K האיברים ההתחלתיים במערך (האיברים אשר נמצאים במקומות 0,1,2,...,K-1) מתחלק ב-K ללא שארית.

לדוגמה: המערך הבא הוא מערך "מושלם 5":

אינדקס012345678
ערך714123123

כי סכום של חמשת האיברים הראשונים 15=7+1+4+1+2 מתחלק ב-5.

כתבו פעולה המקבלת מערך של מספרים שלמים חיוביים arr ומספר שלם חיובי K.

סעיף א

הפעולה תחזיר ערך true, אם המערך "מושלם K", ולא, הפעולה תחזיר ערך false. כותרת הפעולה:

public static bool IsPerfectK(int[] arr, int k)
סעיף ב

מערך של מספרים שלמים חיוביים נקרא מערך "סופר מושלם" אם הוא מערך מושלם K עבור כל ערך של K מ-1 עד לאורך המערך.

לדוגמה: המערך הנתון:

הוא לא מערך "סופר מושלם" כי הוא לא מערך "מושלם 4".

כתבו פעולה המקבלת מערך של מספרים שלמים חיוביים arr. הפעולה תחזיר ערך true, אם המערך "סופר מושלם", ולא, הפעולה תחזיר ערך false. כותרת הפעולה:

public static bool IsSuperPerfect(int[] arr)
סעיף ג

מהי סיבוכיות הפעולות שכתבתם בסעיפים א' ו-ב'. הסבירו את תשובתכם.

שאלה 3

נתונה הפעולה why המקבלת מערך של מספרים שלמים arr ומספר שלם חיובי s. הפעולה משתמשת בפעולת עזר what.

public static void why(int[] arr, int s) {
    s = s % arr.length;
    what(arr, 0, arr.length - 1);
    what(arr, 0, s - 1);
    what(arr, s, arr.length - 1);
}
public static void what(int[] arr, int start, int end) {
    int temp;
    while (start < end) {
        temp = arr [start];
        arr [start] = arr [end];
        arr [end] = temp;
        start ++;
        end --;
    }
}

נתון מערך arr הבא:

אינדקס0123456789
ערך571215212640517184
סעיף א

מה יהיה תוכן הרשימה אחרי זימון הפעולה what(arr, 2, 6)? יש להראות מעקב אחרי ביצוע הפעולה.

סעיף ב

מה מבצעת הפעולה what באופן כללי? בתשובה יש להתייחס לכל הפרמטרים של הפעולה.

סעיף ג

מה יהיה תוכן הרשימה אחרי זימון הפעולה why(arr, 4)? יש להראות מעקב אחרי ביצוע הפעולה why, אין צורך במעקב אחרי ביצוע הפעולה what.

סעיף ד

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

סעיף ה

מה מבצעת הפעולה why באופן כללי? בתשובה יש להתייחס לכל הפרמטרים של הפעולה.

הנושאים הרשמיים בבחינה 97104

לפי תוכנית הלימודים הרשמית של מה"ט (אלגוריתמיקה ותכנות) — אלו הנושאים שהבחינה נשענת עליהם:

המקור: תוכנית הלימודים הרשמית של מה"ט (משרד העבודה).

פתרו את המבחן המלא — עם משוב על כל תשובה

כל שאלות המבחן, פתרון מפורט, משוב אישי ומעקב התקדמות. בדיוק מה שצריך כדי לעבור.

התחילו לתרגל — חינם ←