לולאה מקוננת (Nested Loop)

סגור באמצעות טופס זה תוכלו לספר ולהמליץ לחבריכם..
שם השולח:
כתובת דוא"ל של השולח:
שם המקבל:
שלח לכתובת דוא"ל:
הוסף הערה:
גוף לולאה יכול להכיל לולאה נוספת, לולאה המוגדרת בתוך לולאה אחרת מוגדר כלולאה מקוננת


 

לולאה מקוננת (Nested Loop)

 
 
מאת: ארז קלר
 
Nested Loop


 להורדת דוגמאות הקוד



גוף הלולאה יכול להיות מורכב מפקודה/מתודה אחת או יותר.
בין השאר, גוף הלולאה יכול להכיל לולאות נוספות.
לולאה מקוננת היא לולאה שבגוף הלולאה שלה מוגדרת לולאה נוספת.


לדוגמה (NestedLoop01):
 1  : class Program 
 2  : { 
 3  :     static void Main(string[] args) 
 4  :     { 
 5  :         for (int y = 1; y <= 10; y++) 
 6  :         { 
 7  :             for (int x = 1; x <= 10; x++) 
 8  :             { 
 9  :                 Console.Write("{0,4}", x * y); 
 10 :             } 
 11 :             Console.WriteLine(); 
 12 :         } 
 13 :     } 
 14 : } 
בדוגמת הקוד כתובות שתי לולאות, לולאת חיצונית (נכנה אותה Yבשורה 5 ובתוכה מוגדרת לולאה פנימית (נכנה אותה לולאה X) - בשורה 7.
בכל איטראציה של הלולאה החיצונית Y, מתבצעות כל האיטראציות של הלולאה הפנימית X,
בדוגמה השימוש בלולאה מקוננת יצר את לוח הכפל.
הערה - יש להקפיד שהמשתנה המוגדר במקטע האתחול של הלולאה החיצונית שונה מהמשתנה המוגדר בלולאה המקוננת.
פלט:
פלט התוכנית NesredLoop


במקרים רבים קיים קשר הדוק יותר בין המשתנה המשמש את הלולאה החיצונית עם זה של הלולאה הפנימית.
בדוגמה הבאה, מספר האיטראציות של הלולאה הפנימית משתנה ותלוי במספר האיטראציה של הלולאה החיצונית.
לדוגמה (NestedLoop02):
 1  : class Program 
 2  : { 
 3  :     static void Main(string[] args) 
 4  :     { 
 5  :         for (int y = 1; y <= 10; y++) 
 6  :         { 
 7  :             for (int x = 1; x <= y; x++) 
 8  :             { 
 9  :                 Console.Write("*"); 
 10 :             } 
 11 :             Console.WriteLine(); 
 12 :         } 
 13 :     } 
 14 : } 
מספר האיטראציות של הלולאה הפנימית X (שורה 7) תלוי בערכו של Y, בכל כניסה מחודשת ללולאה המקוננת X ערכו של Y גדול ב-1 מהביצוע הקודם שלה.
פלט:
פלט תוכנית הדוגמה NestedLoop02