לולאה מקוננת
חלק מהיחידה יסודות במסלול ה-C# של Coddy. שיעור 46 מתוך 69.
לולאה מקוננת היא פשוט לולאה בתוך לולאה אחרת. הלולאה הפנימית תשלים את כל האיטרציות שלה בכל איטרציה בודדת של הלולאה החיצונית.
אנלוגיה טובה לכך היא שעון: עבור כל שעה (הלולאה החיצונית), מחוג הדקות (הלולאה הפנימית) חייב להשלים את המחזור המלא שלו בן 60 הדקות.
דוגמה ללולאה מקוננת:
for (int x = 0; x < 2; x++) {
for (int y = 0; y < 2; y++) {
Console.WriteLine(x + " " + y);
}
}
// הפלט יהיה:
// 0 0
// 0 1
// 1 0
// 1 1הלולאה החיצונית (x) רצה פעמיים, ובכל אחת מהפעמים האלה הלולאה הפנימית (y) רצה פעמיים, כלומר גוף הלולאה הפנימית מתבצע בסך הכול 4 פעמים.
ייתכן שתצטרכו גם את 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, הפלט אמור להיות:
****
****
****
****
****
****נסו בעצמכם
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# אונליין