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

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

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

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

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

טופס מקורי (מה"ט) ↗

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

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

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

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

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

שאלה 1

נתונות פעולות רקורסיביות mystery ו-secret:

public static int mystery(String s1, String s2)
{
    if (s1.length() == 0 && s2.length() == 0) return 0;
    if (s1.length() == 0) return -1;
    if (s2.length() == 0) return 1;
    if (s1.charAt(0) < s2.charAt(0)) return -1;
    if (s1.charAt(0) > s2.charAt(0)) return 1;
    return mystery(s1.substring(1), s2.substring(1));
}

public static String[] secret(String[] arr, String s)
{
    String[] temp = new String[arr.length];
    secretHelp(arr, temp, s, 0, 0, temp.length - 1);
    return temp;
}

private static void secretHelp(String[] arr, String[] temp, String s, int i, int left, int right)
{
    if (i < arr.length)
    {
        if (mystery(arr[i], s) < 0)
        {
            temp[left] = arr[i];
            secretHelp(arr, temp, s, i + 1, left + 1, right);
        }
        else
        {
            temp[right] = arr[i];
            secretHelp(arr, temp, s, i + 1, left, right - 1);
        }
    }
}
סעיף א

עקבו אחרי זימון mystery("HELLO","HELP") ורשמו את תוצאת הזימון. יש להראות מעקב!

סעיף ב

מה מבצעת הפעולה mystery(s1, s2) עבור שתי מחרוזות s1,s2?

סעיף ג

נתון מערך מחרוזות: String[] arr = {"HELLO", "WORLD", "GOOD", "DAY","FOR","TEST"} עקבו אחרי הזימון secret(arr, "JAVA") ורשמו את תוצאות הזימון. יש להראות מעקב אחרי הפעולה secret, אין צורך במעקב אחרי הפעולה mystery.

סעיף ד

מה מבצעת הפעולה secret(arr, s) עבור מערך מחרוזות arr ומחרוזת s?

שאלה 2

נתונות ההגדרות: מערך דו-ממדי של מספרים שלמים נקרא "מערך מסודר" אם הוא עונה על שלושת התנאים האלה:

  • מספר השורות במערך שווה למספר העמודות (מערך ריבועי).
  • כל האיברים במערך הם מספרים חיוביים.
  • כל איבר בעמודה 0 כולל את הספרה 0, כל איבר בעמודה 1 כולל את הספרה 1 וכן הלאה. לדוגמה, המערך שלפניכם הוא "מערך מסודר":
שורה\עמודה0123
010312122031
16051134213
2701521305
31003601200203
סעיף א

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

סעיף ב

מהי הסיבוכיות של הפעולה שכתבתם בסעיף א'? הסבירו את תשובתכם. רמז: מומלץ לכתוב פעולות עזר!

שאלה 3

מערך של מספרים שלמים חיוביים נקרא "מערך יפה" אם הוא באורך אי-זוגי ועונה על התנאי: הסכום של כל המספרים מתחילת המערך עד האיבר המרכזי שווה לסכום של כל האיברים שאחרי האיבר המרכזי ושווה לאיבר המרכזי. לדוגמה, המערך הזה הוא "מערך יפה":

אינדקס012345678
ערך5341133127

כי 13=3+1+2+7=5+3+4+1

סעיף א

כתבו פעולה המקבלת מערך של מספרים שלמים חיוביים arr. אם המערך יפה – הפעולה תחזיר ערך true, ואם לא – הפעולה תחזיר ערך false. כותרת הפעולה: public static boolean isNice(int[] arr)

סעיף ב

כתבו פעולה המקבלת מספר שלם אי-זוגי size. הפעולה תיצור מערך של מספרים שלמים בגודל size (אפשר להניח ש-size>4) ותמלא אותו במספרים אקראיים תלת-ספרתיים חיוביים כך שיתקבל "מערך יפה". כותרת הפעולה: public static int[] doItNice(int size)

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

לפי סדר המבחן. לוחצים על שאלה והמבחן נפתח בה: עונים, רואים פתרון מלא ומוסבר, וממשיכים לשאלה הבאה.

  1. שאלה 1

    קליטה עם תנאי עצירה מרובים וחישוב ממוצע וספירה

  2. שאלה 2

    מציאת מחרוזות קיצוניות וספירת תנאים

  3. שאלה 3

    ספירת תכונות במספרים אקראיים

  4. שאלה 4

    מעבר על מערך כלבים וסינון לפי קריטריונים

  5. שאלה 5

    בדיקה ויצירה של מערך יפה עם איבר מרכזי

  6. שאלה 6

    מעבר על מערך ספירה וחישוב סטטיסטיקות ציונים

  7. שאלה 7

    מעבר על מחרוזת עם פילטור תנאי על אותיות וספרות

  8. שאלה 8

    מציאת חציון וסידור מערך לפי קריטריון מרכזי

  9. שאלה 9

    השוואת התפתחות תינוקות וזיהוי תאומים

  10. שאלה 10

    חיפוש האינדקס של המספר הגדול ביותר עם ספרות יורדות

  11. שאלה 11

    מעבר על מטריצה דו-ממדית ובדיקת תכונות פיקסלים

  12. שאלה 12

    מבנה מחלקות לניהול מרכזים רפואיים עם עדכון מרפאות עיניים

  13. שאלה 13

    השוואה לקסיקוגרפית רקורסיבית וחלוקת מערך

  14. שאלה 14

    בדיקת מערך ריבועי עם תנאי ספרות בעמודות

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

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

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

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

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

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