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

‏ • Sela

בחלקים הקודמים במדריך למדנו כיצד לעבוד עם משתנים וכיצד להשתמש במשפטי if. בחלק זה נלמד על לולאת for.

מה זה לולאה?

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

Console.WriteLine("Welcome");
Console.WriteLine("Welcome");
Console.WriteLine("Welcome");

אופציה זו היא יחסית סבירה, אבל מה יקרה אם נרצה להדפיס זאת 30 פעמים? או 300?

בשביל זה נשתמש בלולאה שבה יהיה כתוב מה רוצים לבצע ומספר הפעמים הדרוש.

לולאת for

לולאת for היא הסוג הפשוט ביותר של לולאות הקיים בשפת #C.

ראשית נראה דוגמא לשימוש בלולאת for, בתוכנית הבאה אנו מבצעים הדפסה של המחרוזת "Welcome to C#" 3 פעמים:

for (int i = 0; i < 3; ++i)
{
   
Console.WriteLine("Welcome");
}

נסביר כעת את דוגמא זו:

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

קטע הקוד i < 3 מתבצע לפני כל ריצה של גוף הלולאה, אם הערך הוא true גוף הלולאה מתבצע, אחרת התוכנית מפסיקה את הלולאה ועוברת לקטע קוד שמופיע אחריה.

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

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

באופן כללי, לולאת for נראית בצורה הבאה:

for (before-statement; condition; after-statement)
{
    //loop-body
}

דוגמאות נוספות לשימוש בלולאת for

  • קליטת שם משתמש והדפסתו 10 פעמים
Console.Write("Enter name: ");
string name = Console.ReadLine();
for (int
i = 0; i < 10; ++i)
{
   
Console.WriteLine("Your name is " + name);
}

  • הדפסת כל המספרים הזוגיים בין 1 ל 10:
for (int i = 0; i <= 10; i += 2)
{
   
Console.WriteLine(i);
}

  • הדפסת הסכום 1+2+3 וכו’ עד 10:
int sum = 0;
for (int
i = 1; i <= 10; ++i)
{
    sum += i;
}

Console.WriteLine("Sum is: " + sum);

תגיות: , , ,

arikp

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

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