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

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

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

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

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

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

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

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

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

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

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

שאלה 1

נתונות הפעולות What, Why ו-WhyHelp:

public static bool What(string s, char c, int k)
{
    if(k == 0 && s.Length == 0) return true;
    if(s.Length == 0) return false;
    if(k < 0 ) return false;
    if(s[0] == c) return What(s.Substring(1),c, k-1);
    return What(s.Substring(1),c, k);
}
public static bool Why(char[] arr, string s)
{
    return WhyHelp(arr, s, 0);
}
public static bool WhyHelp(char[] arr, string s, int k)
{
    if(k == arr.Length) return true;
    if(!What(s, arr[k], k+1)) return false;
    return WhyHelp(arr, s, k+1);
}
סעיף א

עקבו אחרי זימון What("HELLO",'L',3) ורשמו את תוצאת הזימון. יש להראות מעקב.

סעיף ב

תנו דוגמה למחרוזת s באורך חמישה תווים לפחות שעבורה זימון What(s,'T',2) יחזיר ערך true.

סעיף ג

מה מבצעת הפעולה What(string s, char c, int k) באופן כללי?

סעיף ד

נתונים מערך תווים

char[] arr = {'H','E','L','P'};

ומחרוזת

string s = "APHEEKLPPLVLZTP";

עקבו אחרי הזימון Why(arr, s) ורשמו את תוצאות הזימון.

סעיף ה

תנו דוגמה למחרוזת הקצרה ביותר str שעבורה זימון הפעולה Why(arr, str) יחזיר ערך true.

סעיף ו

מה מבצעת הפעולה Why(arr, s) באופן כללי?

שאלה 2

נתונות ההגדרות הבאות:

  • "רמת הזוגיות" של מספר שלם היא סכום הספרות הזוגיות במספר. לדוגמה:

    • "רמת הזוגיות" של מספר 12347 היא 6.
    • "רמת הזוגיות" של מספר 1860- היא 14.
    • "רמת הזוגיות" של מספר 135 היא 0.
  • מערך של מספרים שלמים נקרא "מערך בלי חזרות רמה" אם "רמות הזוגיות" של כל איברי המערך שונות זו מזו.

  • שני מערכים של מספרים שלמים arr1 ו-arr2 נקראים "זרים לפי רמות" אם הם "מערכים בלי חזרות רמה" ולא קיים זוג איברים (אחד ממערך arr1 ושני ממערך arr2) שיש להם את אותה "רמת הזוגיות".

סעיף א

כתבו פעולה המקבלת מספר שלם ומחזירה את "רמת הזוגיות" שלו.

סעיף ב

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

סעיף ג

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

סעיף ד

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

שאלה 3

בחברת "הפלסטיק הקסום" מייצרים קופסאות לאחסון בצבעים שונים ובגדלים שונים. לחלק מהקופסאות יש מכסה הרמטי.

למחלקת קופסת האחסון StorageBox יש שש תכונות:

  • צבע – color, מטיפוס מחרוזת – string
  • אורך – length, מטיפוס מספר שלם – int
  • רוחב – width, מטיפוס מספר שלם – int
  • גובה – height, מטיפוס מספר שלם – int
  • מחיר – cost, מטיפוס מספר ממשי – double
  • יש מכסה – hasCover, מטיפוס בוליאני – bool (יש מכסה – true, אין מכסה – false)

במחלקה StorageBox הוגדרה פעולה בונה (בנאי, constructor) המקבלת פרמטר של כל תכונה וקובעת את הערכים של תכונות העצם. המחלקה כוללת פעולות Get/Set לכל אחת מהתכונות.

סעיף א

כתבו פעולה בונה המייצרת קופסה בצבע לבן (white), ללא מכסה, שכל הממדים שלה (אורך, רוחב וגובה) הם מספרים אקראיים בין 30 ל-100 (כולל). כותרת הפעולה:

public StorageBox(double cost)
סעיף ב

כתבו פעולה חיצונית המקבלת מערך הפניות לעצמים מסוג StorageBox בשם arr וצבע color. הפעולה תחזיר מספר קופסאות בצבע color שאין להן מכסה. כותרת הפעולה:

public static int NoCover(StorageBox[] arr, string color)

הנחה: כל תא במערך מכיל הפניה לעצם מסוג StorageBox ואין תאים במערך שערכם שווה ל-null.

סעיף ג

מערך של קופסאות נקרא "סט אחיד" אם כל הקופסאות בו הן באותו הצבע ולכולן יש מכסה או לכולן אין מכסה. כתבו פעולה חיצונית המקבלת מערך הפניות לעצמים מסוג StorageBox בשם arr. הפעולה תבדוק אם המערך מייצג "סט אחיד". אם כן – הפעולה תחזיר ערך true, ואם לא – הפעולה תחזיר ערך false. כותרת הפעולה:

public static bool IsUnique(StorageBox[] arr)

הנחה: כל תא במערך מכיל הפניה לעצם מסוג StorageBox ואין תאים במערך שערכם שווה ל-null.

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

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

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

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

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

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