לולאת for
חלק מהיחידה יסודות במסלול ה-C# של Coddy. שיעור 41 מתוך 69.
לפעמים בתכנות יש צורך לבצע את אותה פעולה, או כמעט את אותה פעולה, כמה פעמים.
כדי למנוע כתיבה חוזרת ונשנית של אותו הדבר, אפשר להשתמש בלולאות.
ללולאת for יש את התחביר הבא:
for (initialization; condition; update) {
code
}ה־initialization, ה־condition וה־update קובעים מהו ערך ה־start ומהו ערך ה־end.
לדוגמה, לולאה מ-0 עד 5 (לא כולל):
for (int i = 0; i < 5; i++) {
Console.WriteLine(i);
}פירוק הלולאה for:
- אתחול:
int i = 0- הפעולה הזו מתבצעת פעם אחת ממש בתחילת הדרך
- יוצרת משתנה
iומגדירה את ערך ההתחלה שלו ל-0
- תנאי:
i < 5- התנאי נבדק לפני כל איטרציה
- הלולאה נמשכת כל עוד התנאי הזה נכון
- כאשר
iהופך ל-5, התנאי הופך לשקר והלולאה נעצרת
- עדכון:
i++- הפעולה הזו מתבצעת אחרי כל איטרציה
- מגדילה את הערך של
iב-1 בכל פעם i++הוא קיצור ל-i = i + 1
for (int i = 0; i < 5; i++) {
│ │ │
│ │ └── Update
│ └─────────── Condition
└─────────────────────── Initializationהיא תבצע את פקודת ההדפסה 5 פעמים:
0
1
2
3
4ללולאות יש שימושים רבים. לדוגמה, נסכם את כל המספרים מ-1 עד 100:
int sumNumbers = 0;
for (int i = 1; i <= 100; i++) {
sumNumbers += i;
}
Console.WriteLine(sumNumbers);תחילה הלולאה תעבור על כל המספרים בין 1 ל־100 (כולל 100 בגלל הסימן <=) ותסכם את כולם, ואז היא תדפיס את המשתנה sumNumbers
אתגר
מתחיליםקרא מספר שלם n (קוד הפתיחה כבר עושה זאת). השתמש ב־לולאת for כדי להדפיס את "Hello Coddy: " ואת הערך i עבור כל מספר מ־3 עד n, כולל שניהם.
לדוגמה, אם n הוא 6, הפלט הוא:
Hello Coddy: 3
Hello Coddy: 4
Hello Coddy: 5
Hello Coddy: 6אם n הוא 27, הלולאה מדפיסה 25 שורות, מ־Hello Coddy: 3 עד Hello Coddy: 27.
נסו בעצמכם
using System;
class Program {
public static void Main(string[] args) {
int n = int.Parse(Console.ReadLine());
// כתבו כאן קוד
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוהגדלה/הקטנההגדלה/הקטנה אחרי הפעולהקיצורים אריתמטיים5אופרטורים חלק 2
אופרטורי השוואהאופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2סיכום — לוגיקה פשוטהאופרטורים לוגיים חלק 3תרגלו בעצמכם: קומפיילר C# אונליין