الحلقات المتداخلة
جزء من قسم Fundamentals في رحلة 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.WriteLine() بطباعة كل نتيجة في سطر جديد.
إذا كنت تريد الطباعة دون الانتقال إلى سطر جديد، استخدم Console.Write() بدلاً من ذلك:
Console.Write("Hello ");
Console.Write("World");
// المخرجات: Hello Worldكلتا الطريقتين مفيدتان — يضيف Console.WriteLine() سطراً جديداً في النهاية، بينما يبقي Console.Write() المؤشر على نفس السطر.
التحدي
مبتدئاكتب برنامجًا يطبع مستطيلاً من النجوم (*) بعرض وارتفاع محددين.
المدخلات: عددان صحيحان: width و height
على سبيل المثال:
إذا كان width = 5 و height = 3، يجب أن تكون المخرجات:
*****
*****
*****إذا كان width = 4 و height = 6، يجب أن تكون المخرجات:
****
****
****
****
****
****ورقة مرجعية
الحلقة المتداخلة (nested loop) هي حلقة داخل حلقة أخرى. تُكمل الحلقة الداخلية جميع تكراراتها لكل تكرار واحد من الحلقة الخارجية.
مثال على الحلقات المتداخلة:
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تعمل الحلقة الخارجية مرتين، ومع كل تكرار، تعمل الحلقة الداخلية مرتين بشكل كامل.
طباعة المخرجات:
تطبع Console.WriteLine() قيمة وتنتقل إلى سطر جديد.
تطبع Console.Write() قيمة دون الانتقال إلى سطر جديد، لذا تستمر المخرجات التالية في نفس السطر.
جرّب بنفسك
using System;
public class Program {
public static void Main(string[] args) {
int width = int.Parse(Console.ReadLine());
int height = int.Parse(Console.ReadLine());
// اكتب الكود الخاص بك أدناه
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالزيادة والنقصانالزيادة والنقصان اللاحقاختصارات العمليات الحسابية7أساسيات الإدخال والإخراج (Basic IO)
الإخراج الأساسيتضمين النصوص (String Interpolation)قراءة المدخلاتالتحليل (Parse)مراجعة - حتى 120مراجعة - True أو False5المعاملات - الجزء الثاني
معاملات المقارنةالمعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالث6اتخاذ القرار
جملة Ifجملة If - Elseجملة Switchالمعامل الثلاثيمراجعة - If Elseجملة If - Else المتداخلة9حلقات التكرار
حلقة Forحلقة Whileحلقة Do WhileBreakContinueالحلقات المتداخلةالحلقة اللانهائيةمراجعة - Dynamic Input