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

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

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

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

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

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

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

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

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

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

שאלה 1

כתוב קטע בפעולה ראשית (main) שיקלוט מספרים שלמים. הקלט יסתיים כאשר ייקלט מספר 0. על התוכנית לחשב ולהדפיס: כמה מספרים נקלטו, כמה מספרים זוגיים נקלטו, ממוצע מספרים חיוביים שנקלטו. הערה: אפשר להניח שיש לפחות מספר חיובי אחד.

סעיף א
שאלה 2

נתונה המחלקה Clock המגדירה טיפוס נתונים שעון.

public class Clock
{
    private int hour; // שעה 0-23
    private int min; // דקות 0-59

    public Clock(int hour, int min)
    {
        this.hour = hour;
        this.min = min;
    }
}
סעיף א

כתוב פעולה getInterval() המחזירה את משך הזמן (בדקות) שנשאר עד לחצות (24:00). לדוגמה: אם השעה היא 20:45, הפעולה תחזיר 195 (דקות).

public int getInterval()

סעיף ב

כתוב קטע בפעולה ראשית (main) במחלקה אחרת. הקטע צריך לקלוט מהמשתמש זמני נחיתה של שתי טיסות. עבור כל טיסה ייקלט זוג מספרים שלמים. לדוגמה: עבור טיסה הנוחתת ב-19:50 יש לקלוט שני מספרים 19 ו-50. בקטע הקוד יש לבדוק איזו מבין שתי הטיסות אמורה לנחות מאוחר יותר ולהציג הודעה מתאימה. עליך להיעזר בפעולה שכתבת בסעיף א'.

שאלה 3

נתונה הפעולה what המקבלת כפרמטר מספר שלם וחיובי num.

public static int what(int num)
{
    int c = 0;
    while (num > 0)
    {
        c += (num % 2);
        num /= 10;
    }
    return c;
}

הפעולה why() לסעיפי ב':

public static void why()
{
    int[] arr = {1245, 34781, 23, 468, 139};
    int res = arr[0];
    for (int i = 1; i < arr.length; i++)
    {
        if (what(arr[i]) < what(res))
        {
            res = arr[i];
        }
    }
    System.out.println(res);
}
סעיף א-1

מה תחזיר הפעולה עבור num=12345? חובה לכתוב מעקב בטבלה.

סעיף א-2

תן דוגמה למספר שלם וחיובי num, שעבורו הפעולה תחזיר 0.

סעיף א-3

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

סעיף ב-1

נתונה הפעולה why() הבאה. עקוב באמצעות טבלת מעקב אחר ביצוע הפעולה why() ורשום מה יהיה הפלט.

סעיף ב-2

הסבר מה תבצע why() עבור מערך כלשהו של מספרים שלמים וחיוביים.

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

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

  1. שאלה 1

    קליטת מספרים עד 0 — ספירה, זוגיים, ממוצע חיוביים

  2. שאלה 2

    מחלקת Clock — הפרש עד חצות ומיון שתי טיסות

  3. שאלה 3

    what — ספירת ספרות אי-זוגיות; why — האיבר עם הכי מעט ספרות אי-זוגיות

  4. שאלה 4

    מערך מאוזן

  5. שאלה 5

    one — איתור זוג שווה במערך

  6. שאלה 6

    why — מחרוזת אותיות גדולות בלבד; mystery — סימטריה לפי why

  7. שאלה 7

    מחלקת Truck — ניהול משאיות

  8. שאלה 8

    secret — כל איברי a קטנים מכל איברי b

  9. שאלה 9

    Ex.secret — היסטוגרמת אותיות גדולות

  10. שאלה 10

    MyArray ו-Program — אתחול מנוקד, קליטה, הדפסה, היפוך

  11. שאלה 11

    arrange (חלוקה לא יציבה) מול order (חלוקה יציבה)

  12. שאלה 12

    מחלקת Family — עלות טיול משפחות

  13. שאלה 13

    what — רקורסיה: אותיות גדולות תחילה, קטנות בסוף (הפוך)

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

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

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

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

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

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