דלג לתוכן הראשי
8200 University Pro

מבחן להב - רמה בינונית

בחרו סט תרגול

📋רמה בינונית - שני מבנים שעובדים יחד

ברמה הבינונית כל שאלה משלבת שני מבנים: לולאה עם תנאי בתוכה, לולאה שבונה מחרוזת, פונקציה שנקראת מתוך לולאה, מערך שעוברים עליו, או שתי לולאות זו בתוך זו. המעקב מתארך ל-6 עד 15 צעדים, ולכן הדבר החשוב ביותר כאן הוא טבלת מעקב עם עמודה לכל משתנה.

מה מתאמנים כאן

  • לנהל שניים או שלושה משתנים במקביל בלי לאבד אף אחד מהם.
  • לעבוד עם מערכים: האינדקס הראשון הוא 0, והאחרון הוא length - 1.
  • לבנות מחרוזת צעד אחרי צעד ולשים לב לסדר: s = c + s מוסיף בהתחלה, s = s + c מוסיף בסוף.
  • לעצור בקריאה לפונקציה, לחשב את ערך ההחזרה, ולחזור לשורה שקראה לה.

דוגמה:

int[] arr = {4, 9, 2, 7};
int count = 0;
for (int i = 0; i < arr.length; i++) {
    if (arr[i] % 2 == 1) {
        count += arr[i];
    }
}
System.out.println(count);
iarr[i]אי-זוגי?count
04לא0
19כן9
22לא9
37כן16

הפלט: 16. שימו לב לשם המשתנה: הוא נקרא count אבל צובר סכום, לא כמות. הקוד עושה מה שכתוב בו, לא מה שהשם מרמז.

המלכודות של הרמה הזו

  • מודפס מול נשמר: אם ההדפסה בתוך הלולאה, יש כמה שורות פלט; אם היא אחריה, יש שורה אחת עם הערך הסופי.
  • לולאות מקוננות: הלולאה הפנימית רצה עד הסוף בכל סיבוב של החיצונית. ספרו כמה פעמים בסך הכול מתבצעת השורה הפנימית.
  • ערך החזרה שלא נשמר: קריאה לפונקציה בלי השמה (f(x); לבד) לא משנה שום משתנה בחוץ.

ברמה זו כדאי להתחיל לעבוד עם שעון: שתי דקות לשאלה. אם שאלה לוקחת יותר, סמנו והמשיכו, וחזרו אליה בסוף הסט.