הבדל מפתח - while לעומת do while loop
בתכנות, יכולים להיות מצבים הדרושים לביצוע בלוק של הצהרות שוב ושוב. רוב שפות התכנות תומכות במבני בקרה שונים כגון for loop, while loop ו-do while loop כדי לחזור על קוד. הלולאות מאפשרות ביצוע של קבוצה של הצהרות מספר פעמים עד שהתנאי הנתון הופך לשווא. ההצהרות שייכות ללולאה כלולים בתוך זוג פלטה מתולתלת. מאמר זה דן בהבדל בין שני מבני בקרה: while loop ו-do while loop. לולאת while משמשת לחזרה על משפט או קבוצת הצהרות בזמן שתנאי נתון נכון.הוא בודק את המצב לפני ביצוע ההצהרות בתוך הלולאה. לולאת ה-do while דומה ללולאת while. אבל התנאי נבדק בסוף ביצוע ההצהרות בתוך הלולאה. ההבדל העיקרי בין while loop ל-do while loop הוא ש-while loop בודק את התנאי לפני ביצוע ההצהרות בתוך הלולאה while do while loop בודק את התנאי לאחר ביצוע ההצהרות בתוך הלולאה.
מה זה בעוד לולאה?
לולאת while מבצעת את משפט המטרה או ההצהרות עד שהתנאי הנתון מתקיים. ראשית, לולאת ה-while מוודאת אם התנאי נכון או לא. אם התנאי נכון, הוא חוזר על הלולאה עד שהתנאי הוא אמיתי. כאשר התנאי הוא שקר, הפקד מועבר לשורת הקוד הבאה מיד לאחר הלולאה. לולאת while יכולה להכיל משפט אחד או מספר הצהרות. עיין בתוכנית שלהלן.
איור 01: דוגמה לולאת בעוד
לפי התוכנית לעיל, המשתנה x מאותחל ל-1. ההצהרות של לולאת while יבוצעו עד שערך x קטן או שווה ל-5. בתחילה, הערך הוא 1 והתנאי אמת. לכן, x ידפיס. אז ערך x גדל ב-1. כעת ערך x הוא 2. הוא קטן או שווה ל-5. אז, x ידפיס. שוב, ערך x מוגדל ב-1. כעת x הוא 3. הוא קטן או שווה ל-5. אז, x ידפיס שוב והוא מוגדל באחד. כעת x הוא 4. הוא גם קטן או שווה ל-5. אז, x ידפיס. הערך של x גדל שוב. באיטרציה הבאה, ערך x הופך ל-5. הוא שווה ל-5. ובכל זאת, התנאי נכון. לכן, x ידפיס. ערך x מוגדל שוב. זה 6. אבל עכשיו התנאי שקרי כי 6 גדול מ-5. ביצוע הלולאה מסתיים. אם אין תוספת בתוכנית, ערך x תמיד יהיה 1.התנאי תמיד יהיה נכון כי הוא קטן מ-5. לכן, זה יהיה לולאה אינסופית.
מה זה לעשות בעוד לולאה?
לולאת ה-do while דומה ללולאת while. אבל התנאי נבדק לאחר ביצוע הצהרות הלולאה. לכן, בין אם התנאי אמת או לא נכון, הלולאה תתבצע לפחות פעם אחת. התנאי נבדק לאחר ביצוע הלולאה. אם התנאי נכון, הצהרות הלולאה יבוצעו שוב. תהליך זה חוזר על עצמו עד שהתנאי אינו נכון. עיין בתוכנית שלהלן.
איור 02: דוגמה ללולאת עשה תוך כדי
לפי התוכנית לעיל, המשתנה x מאותחל ל-1. הלולאה מבצעת ומדפיסה את ערך x. אז ערך x גדל ב-1. כעת הוא 2.התנאי נכון, אז הלולאה מופעלת. ה-x מודפס ומוגדל. עכשיו זה 3. התנאי נכון, אז הלולאה מופעלת. ה-x מודפס ומוגדל שוב. עכשיו זה 4. התנאי נכון. הלולאה מבוצעת. ה-x מודפס ומוגדל. כעת x הוא 5. ובכל זאת, התנאי נכון מכיוון שהוא קטן או שווה ל-5. לכן, הלולאה מופעלת שוב ומדפיסה את ערך x. אז x מוגדל ב-1. כעת x הוא 6. התנאי הוא שקר. ביצוע הלולאה מסתיים.
נניח שה-x מאותחל ל-10 בהתחלה. ובכל זאת, הלולאה תבצע ותדפיס ערך x מכיוון שהתנאי נבדק בסוף הלולאה. כאשר בודקים את המצב, הוא שקרי. לכן, ביצוע הלולאה מסתיים. אפילו התנאי הוא נכון או לא נכון, לולאת ה-do while תתבצע לפחות פעם אחת. זה התהליך של לולאת do while.
מהו הדמיון בין לולאת while ל-do while?
שניהם הם מבני בקרה בתכנות
מה ההבדל בין לולאת while ל-do while?
while vs do while loop |
|
לולאת while היא מבנה בקרה המאפשר להפעיל קוד שוב ושוב בהתבסס על מצב בוליאני נתון. | לולאת ה-do while היא מבנה בקרה שמבצע בלוק קוד לפחות פעם אחת, ולאחר מכן מבצע שוב ושוב את הבלוק, או לא, בהתאם למצב בוליאני נתון בסוף הבלוק. |
הצהרת מצב | |
הצהרת התנאי של לולאת while נמצאת בתחילת הלולאה. | הצהרת התנאי של לולאת ה-do while נמצאת בסוף הלולאה. |
ביצוע | |
לולאת while תתבצע רק אם התנאי נכון. | The do while יכול להפעיל לפחות פעם אחת, למרות שהתנאי הוא שקרי. |
סיכום – while לעומת do while loop
בתכנות, לפעמים יש צורך לבצע סט של משפט שוב ושוב. לשם כך משתמשים במבני בקרה. שניים מהם הם while ו-do while loop. מאמר זה דן בהבדל בין while loop ל-do while loop. לולאת while משמשת לחזרה על משפט או קבוצת הצהרות בזמן שתנאי נתון נכון. בלולאת do while, התנאי נבדק בסוף ביצוע ההצהרות בתוך הלולאה. לולאת ה-do while דומה ל-while loop אבל לולאת ה-do while יכולה לפעול לפחות פעם אחת למרות שהתנאי הוא אמת או שקר. ההבדל בין while loop ל-do while loop הוא ש-while loop בודק את התנאי לפני ביצוע ההצהרות בתוך הלולאה while do while loop בודק את התנאי לאחר ביצוע ההצהרות בתוך הלולאה.