אתם מתרגלים שאלה מתוך מה"ט אלגוריתמיקה ותכנות — הנדסאי תוכנהמבחן 2025 · אביב מועד ב · שאלה 10כל שאלות המבחן ←
אלגוריתמים בסיסייםמיון

נתונות שלוש הפעולות הבאות:

public static int One ( int[] arr ){
    int res = -1;
    for (int k = 0; k < arr.Length-1 && res  == -1; k++)
        if (arr[k] > arr[k+1])
            res = k;
    return res;
}
public static void Two ( int[] arr, int k ){
    int temp = arr[k];
    arr[k] = arr[k+1];
    arr[k+1] = temp;
}
public static void Three ( int[] arr ){
    int k = One( arr );
    while (k != -1)
    {
        Two( arr, k );
        k = One( arr );
    }
}
סעיף א

עקבו בעזרת טבלת המעקב ורשמו מה יחזיר זימון הפעולה One(arrA) עבור המערך:

int[] arrA = {8, 9, 20, 17, -3, 1, 4};
סעיף ב

מה יחזיר זימון הפעולה One(arrB) עבור המערך:

int[] arrB = {-5, -3, 0, 11, 13, 15, 18};
סעיף ג

תנו דוגמה למערך arrC בגודל שישה תאים שעבורו הזימון One(arrC) יחזיר 4.

סעיף ד

נתון מערך int[] arrD = {7, 9, 2, 8, 3, 1}. עקבו בעזרת טבלת המעקב ורשמו מה יהיה התוכן של המערך אחרי זימון הפעולה Three(arrD). אין צורך להראות מעקב אחרי הפעולות One ו-Two.

סעיף ה

מה מבצעת הפעולה Three(arr) באופן כללי? הסבירו את תשובתכם.

שאלות ותגובות על השאלה

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

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

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