מדריך C# – לולאות מקוננות

‏ • Sela

בחלקים קודמים למדנו על הסוגים השונים של לולאות בשפת #C. בחלק זה נלמד מהן לולאות מקוננות ונראה מספר דוגמאות.

מה זה לולאה מקוננת?

לולאה מקוננת הינה לולאה שמוגדרת בתוך לולאה אחרת.
כאשר משתמשים בלולאה מקוננת צריך לזכור להשתמש במשתנה אחר מאשר המשתנה שכבר משתמשים בו בלולאה הראשונה.

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

for (int i = 1; i <= 10; ++i)
{
    for (int j = 1; j <= 10; ++j)
    {
        Console.Write(i * j);
        Console.Write(" ");
    }
    Console.WriteLine();
}

בדוגמא זו הלולאה הראשונה (שמשתמשת במשתנה i) עוברת על השורות, ואילו הלולאה השניה מדפיסה את כל העמודות בשורה בודדת.

תוצאת הרצת התוכנית הזו היא:

מדריך #C – לולאות מקוננות


מספרים ראשוניים

במתמטיקה, מספר נקרא ראשוני אם הוא מתחלק רק בעצמו ובאחד, לדוגמא 2,3,5 הם מספרים ראשוניים ואילו 4 אינו ראשוני, כי 2 מחלק אותו.

נרצה לבנות תוכנית שמציגה את כל המספרים הראשוניים בטווח 2 עד 100.

בקטע הקוד הבא אנחנו מבצעים שתי לולאות. בלולאה הראשונה (החיצונית) אנו עוברים על כל המספרים מ 2 עד 100, ואילו בלולאה השניה (הפנימית) אנו בודקים כל מספר האם הוא מתחלק במספר שקטן ממנו. במידה ומצאנו מספר שאינו מתחלק באף מספר שקטן ממנו אנו מדפיסים אותו למסך.

bool isPrime = false;
int number = 2;
while
(number <= 100)
{
    isPrime =
true
;
   
for (int
i = 2; i < number; ++i)
    {
       
if
(number % i == 0)
        {
            isPrime =
false
;
           
break
;
        }
    }
   
if
(isPrime)
    {
       
Console
.Write(number);
       
Console.Write(" ");
    }
    number++;
}

תוצאת הרצת התוכנית הזו היא:

מדריך #C – לולאות מקוננות

תגיות: , , ,

arikp

אריק פוזננסקי הוא יועץ בכיר ומרצה בסלע. הוא השלים שני תארי B.Sc. במתמטיקה ומדעי המחשב בהצטיינות יתרה בטכניון. לאריק ידע נרחב בטכנולוגיות מיקרוסופט, כולל .NET עם C#, WPF, Silverlight, WinForms, Interop, COM/ATL, C++ Win32 ו reverse engineering.

תגובות בפייסבוק