» נושאי לימוד
» נושאי לימוד
יום שבת 21 בדצמבר 2024
שאלות חזרה
דף ראשי  הגן על עצמך  שאלות חזרה גרסה להדפסה

 

בקטע הקוד הבא ישנה שגיאה. באיזה שלב תתגלה השגיאה?

for (int i = 1; i < 7; i++)
{
    cout << i << endl;
    i = i + 1;
}

  1. זוהי שגיאת קומפילציה. השגיאה תתגלה בזמן קומפילציה.
  2. אין שגיאה בקטע הקוד
  3. זוהי שגיאה לוגית. השגיאה תתגלה בזמן ריצה
  4. זוהי שגיאה לוגית. השגיאה תתגלה בזמן קומפילציה.

 

כיצד ניתן למנוע מראש שגיאה זו?

  1. ע"י הקפדה על העיקרון שלא משנים מונה לולאה בתוך הלולאה
  2. ע"י קביעת i כ-const
  3. ע"י הגדרת משתנה i מחוץ ללולאה

 

אסף החליט לוודא שהמונה שלו אינו חורג מהלולאה ושתל בתוכה את הפקודה הבאה:

for (int i = 10; i > 0; i--)
{
   ....
   Assert (i>0);
   ...
}

  1. שיטה זו טובה רק אם נרוץ ב-Release
  2. שיטה זו טובה רק אם לא נשנה את i בתוך הלולאה
  3. זוהי פקודה מיותרת. ממראה עיניים ברור ש-  i>0.
  4. שיטה מצוינת ושימוש נכון ב-Assert

 09-04-04 / 02:43  עודכן ,  03-04-04 / 20:18  נוצר ע"י ישי קנובל בתאריך 
 סגירות קטעים ביצועיים - הקודםהבא - ביבליוגרפיה וקישורים 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 8