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

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

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

נתונה הפעולה why:

public static boolean why(int[] arr)
{
    double prev= what(arr[0]);
    double curr;
    for (int i = 1; i < arr.length; i++)
    {
        curr = what(arr[i]);
        if (curr > prev)
        {
            prev = curr;
        }
        else
          return false;
    }
    return true;
}
סעיף א-1

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

סעיף א-2

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

סעיף א-3

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

סעיף ב-1

עקוב באמצעות טבלת מעקב אחר ביצוע הפעולה why(arr) עבור המערך: int[] arr = {2002, 28, 129, 468}; ורשום מה תהיה תוצאת הזימון. הערה: אין צורך להראות מעקב אחרי הזימונים של הפעולה what.

סעיף ב-2

האם אפשר לשנות את סדר האיברים במערך הנתון arr, כך שהזימון why(arr) יחזיר תוצאה שונה מתוצאה של סעיף ב'1? הסבר את תשובתך.

סעיף ב-3

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

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

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

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

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