כותב |
|
yehouda משתמש פעיל
הצטרף / הצטרפה: 28 November 2008 מדינה: Israel
משתמש: מנותק/ת הודעות: 66
|
נשלח בתאריך: 26 December 2008 בשעה 14:18 | | IP רשוּם
|
|
|
|
לגבי הקטע של הלולאה הזאת רציתי להבין משהו -
הלולאה הראשונה מתבצעת כל עוד משתנה I קטן מ5 ,נכון ?ומתי התכנית ממשיכה לחלק השני של הלולאה ומסיימת את הבדיקה עד 10 ?
חלק ראשון מתבצע בין 0-4 וחלק שני ?
אשמח לתרשים זרימה קטן רק להבין תודה
int i,j;
for(i=0;i<5;i++) { for(j=i+1;j<10;j+=2) printf("%d",j); printf("\n"); }
|
חזרה לתחילת העמוד |
|
|
כפיר אורח
הצטרף / הצטרפה: 01 October 2003
משתמש: אונליין הודעות: 12647
|
נשלח בתאריך: 26 December 2008 בשעה 15:17 | | IP רשוּם
|
|
|
|
הלולאה הראשונה נבדקת. כלומר: אם i קטן מחמש, קדם אותו באחד ובצע את הוראות הלולאה. אחרת, סיים. ההוראה היחידה של הלולאה הראשונה היא לולאת for פנימית. גם כאן, הלולאה נבדקת. אם j קטן מעשר, קדם אותו בשתיים ובצע את הוראות הלולאה. אחרת, סיים. בנקודה זו, הלולאה הפנימית מתבצעת ברצף, משום שאחרי שתנאי הלולאה נבדקים ונמצאים כ-אמת, אז הלולאה ממשיכה. אם מוחזר הערך שקר, היא מפסיקה.
לכן, תנאי הלולאה הראשונה נבדק, i מקודם באחד ואז הלולאה הפנימית מתבצעת עד אשר התנאי שלה יהיה שקר. ברגע שיהיה שקר, הלולאה הפנימית תסתיים, והמשך התכנית למעשה זו חזרה לבדיקת התנאי של הלולאה הראשונה.
מקווה שהצלחת להבין את ההסבר המסורבל. שבת שלום!
|
חזרה לתחילת העמוד |
|
|
yehouda משתמש פעיל
הצטרף / הצטרפה: 28 November 2008 מדינה: Israel
משתמש: מנותק/ת הודעות: 66
|
נשלח בתאריך: 26 December 2008 בשעה 15:52 | | IP רשוּם
|
|
|
|
כפיר כתב:
הלולאה הראשונה נבדקת. כלומר: אם i קטן מחמש, קדם אותו באחד ובצע את הוראות הלולאה. אחרת, סיים. ההוראה היחידה של הלולאה הראשונה היא לולאת for פנימית. גם כאן, הלולאה נבדקת. אם j קטן מעשר, קדם אותו בשתיים ובצע את הוראות הלולאה. אחרת, סיים. בנקודה זו, הלולאה הפנימית מתבצעת ברצף, משום שאחרי שתנאי הלולאה נבדקים ונמצאים כ-אמת, אז הלולאה ממשיכה. אם מוחזר הערך שקר, היא מפסיקה.
לכן, תנאי הלולאה הראשונה נבדק, i מקודם באחד ואז הלולאה הפנימית מתבצעת עד אשר התנאי שלה יהיה שקר. ברגע שיהיה שקר, הלולאה הפנימית תסתיים, והמשך התכנית למעשה זו חזרה לבדיקת התנאי של הלולאה הראשונה.
מקווה שהצלחת להבין את ההסבר המסורבל. שבת שלום!
|
|
|
|
חזרה לתחילת העמוד |
|
|
yehouda משתמש פעיל
הצטרף / הצטרפה: 28 November 2008 מדינה: Israel
משתמש: מנותק/ת הודעות: 66
|
נשלח בתאריך: 26 December 2008 בשעה 15:53 | | IP רשוּם
|
|
|
|
ברגע שI הגיע ל5 בלולאה הראשונה זה שקר ולכן הוא אמור לצאת נכון ?
הלולאה הפנימית ממשיכה מאיזה מספר עד שהיא מגיעה ל10 ?
אני רוצה פשוט להבין את טבלת המעקב זה הכל .
כי לאחר שמרצים את התכנית מקבלים פלט
13579
2468
3579
468
579
|
חזרה לתחילת העמוד |
|
|
danikel משתמש מתחיל
הצטרף / הצטרפה: 19 December 2008 מדינה: Israel
משתמש: מנותק/ת הודעות: 32
|
נשלח בתאריך: 28 December 2008 בשעה 16:19 | | IP רשוּם
|
|
|
|
הלולאה החיצונית, בעצם אחראית על מספר השורות, מספר השורות כמספר הצעדים4-0+1 כלומר 5 שורות. כל ערך שהI מקבל, הלולאה השניה מתחילה לפעול, כלומר כשהI=0 זה נכנס ללולאה השניה (מספר איברים בשורה) עד שזה מקיים ת'תנאי, בררגע שזה לא מקיים אותו, הI מתקדם, ואז עוד פעם נכנסים ללולאה השניה עד שהתנאי של J לא מתקיים שם, ואז הI מתקדם וכן הלאה... שים לב שמספר האיברים בכל שורה משתנה.(הלולאה הפנימית אחראית על זה)
__________________
|
חזרה לתחילת העמוד |
|
|
|
|