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

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

```java
public static boolean what(int[] arr, int num)
{
  int k = 0;
  int p = arr.length-1;
  int s;
  while(k < p)
  {
    s = arr[k] + arr[p];
    if(s < num)
    {
      k++;
    }
    else
    {
      if(s > num)
      {
        p--;
      }
      else
      {
        return true;
      }
    }
   }
    return false;
}
סעיף א-1

נתון מערך int[] arr={2, 4, 7, 12, 18}. עקוב בעזרת טבלת מעקב אחר הזימון what(arr, 10) ורשום מה תחזיר הפעולה. שים לב: אין לשנות את המערך arr!

סעיף א-2

תן דוגמה לפרמטר num כך שזימון what(arr, num) יחזיר תוצאה שונה מהתוצאה שהתקבלה בסעיף א'-1.

סעיף ב

מה מבצעת הפעולה באופן כללי?

סעיף ג

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

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

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

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

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