לולאה מקוננת
חלק מהיחידה יסודות במסלול ה-C# של Coddy. שיעור 46 מתוך 69.
לולאה מקוננת היא פשוט לולאה בתוך לולאה אחרת. הלולאה הפנימית תשלים את כל האיטרציות שלה בכל איטרציה יחידה של הלולאה החיצונית.
הקבלה טובה לכך היא שעון: עבור כל שעה (הלולאה החיצונית), מחוג הדקות (הלולאה הפנימית) חייב להשלים את מחזור 60 הדקות המלא שלו.
דוגמה ללולאה מקוננת:
int rows = 2;
int cols = 2;
for (int x = 0; x < rows; x++) {
for (int y = 0; y < cols; y++) {
Console.WriteLine(x + " " + y);
}
}
// הפלט יהיה:
// 0 0
// 0 1
// 1 0
// 1 1הלולאה החיצונית (x) רצה rows פעמים, ובכל אחת מהפעמים האלה הלולאה הפנימית (y) רצה cols פעמים, כלומר גוף הלולאה הפנימית מתבצע בסך הכול 2 × 2 = 4 פעמים. לכל לולאה יש מונה משלה: y מתחיל שוב מ־0 בכל פעם שהלולאה החיצונית רצה, ואילו rows ו־cols נשארים ללא שינוי ורק מציינים ללולאות מתי לעצור.
ייתכן שתצטרכו גם את Console.Write() כשעובדים עם לולאות מקוננות. בניגוד ל־Console.WriteLine(), שמדפיסה טקסט ועוברת לשורה חדשה, Console.Write() מדפיסה טקסט בלי להוסיף מעבר לשורה חדשה בסוף. כך תוכלו לבנות פלט באותה שורה:
for (int y = 0; y < 4; y++) {
Console.Write("* ");
}
Console.WriteLine();
// הפלט יהיה:
// * * * * כאן, Console.Write() ממשיכה להדפיס באותה שורה, ו-Console.WriteLine() שבסוף עוברת לשורה הבאה.
אתגר
מתחיליםכתבו תוכנית שמדפיסה מלבן של כוכביות (*) ברוחב ובגובה נתונים.
קלט: שני מספרים שלמים: width ו-height
לדוגמה:
אם width = 5 ו-height = 3, הפלט אמור להיות:
*****
*****
*****אם width = 4 ו-height = 6, הפלט אמור להיות:
****
****
****
****
****
****השתמשו במונה חדש לכל לולאה (לדוגמה, i עבור השורות ו-j עבור הכוכביות בשורה), והשוו אותו ל-height או ל-width. אל תשנו את height ואת width עצמם: כל שורה זקוקה שוב ל-width.
נסו בעצמכם
using System;
public class Program {
public static void Main(string[] args) {
int width = int.Parse(Console.ReadLine());
int height = int.Parse(Console.ReadLine());
// כתבו את הקוד שלכם למטה
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוהגדלה/הקטנההגדלה/הקטנה אחרי הפעולהקיצורים אריתמטיים5אופרטורים חלק 2
אופרטורי השוואהאופרטורים לוגיים חלק 1אופרטורים לוגיים חלק 2סיכום — לוגיקה פשוטהאופרטורים לוגיים חלק 3תרגלו בעצמכם: קומפיילר C# אונליין