הגדרה: מערך נקרא "מערך ממוין בסדר יורד" אם כל איבר (פרט לאיבר הראשון) קטן מהאיבר הקודם לו או שווה לו.

נתונה הפעולה secret המקבלת מערך מספרים שלמים ממוין בסדר יורד ומספר שלם נוסף.

public static boolean secret(int[] arr, int num)
{
    int i = 0;
    int j = arr.length-1;
    int s;
    while(i < j)
    {
        s = arr[i] + arr[j];
        if(s > num)
        {
            i++;
        }
        else
        {
            if(s < num)
            {
                j--;
            }
            else
            {
                return true;
            }
        }
    }
    return false;
}
(א)נתון המערך `int[] arr={20, 16, 9, 4, 2}`
1. עקבו בעזרת טבלת מעקב אחר הזימון `secret(arr, 12)`, ורשמו מה תחזיר הפעולה.
2. תנו דוגמה לפרמטר num כך שזימון `secret(arr, num)` יחזיר תוצאה שונה מהתוצאה שהתקבלה בסעיף א.1
שימו לב: אין לשנות את המערך arr!
(ב)מה מבצעת הפעולה secret באופן כללי?
(ג)האם ההנחה שמערך arr ממוין בסדר יורד היא הכרחית לביצוע תקין של הפעולה secret? אם לא – תסבירו למה דרישה זו מיותרת, ואם כן – כתבו פעולה חדשה המבצעת את אותה המשימה עבור כל מערך של מספרים שלמים (גם ממוין וגם לא ממוין).

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

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

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

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←