الحلقة المتداخلة
جزء من قسم الأساسيات في رحلة Kotlin على Coddy. الدرس 52 من 93.
يمكنك وضع حلقة داخل حلقة أخرى لإنشاء حلقة متداخلة. تُنفَّذ الحلقة الداخلية بالكامل في كل تكرار من تكرارات الحلقة الخارجية.
for (i in 1..2) {
for (j in 1..3) {
println("i=$i, j=$j")
}
}
// المخرجات:
// i=1, j=1
// i=1, j=2
// i=1, j=3
// i=2, j=1
// i=2, j=2
// i=2, j=3عندما تكون i مساويةً لـ 1، تتكرر الحلقة الداخلية ثلاث مرات (تتراوح قيمة j من 1 إلى 3). ثم تصبح i مساويةً لـ 2، وتتكرر الحلقة الداخلية ثلاث مرات إضافية. وهذا يمنحنا 2 × 3 = 6 تكرارات إجمالًا.
تُستخدم الحلقات المتداخلة عادةً لإنشاء الأنماط أو التعامل مع الهياكل الشبيهة بالشبكات:
for (row in 1..3) {
for (col in 1..row) {
print("*")
}
println()
}
// المخرجات:
// *
// **
// ***هنا، يعتمد نطاق الحلقة الداخلية على متغير الحلقة الخارجية، مما ينشئ نمطًا مثلثيًا. تعرض الدالة print() الناتج دون سطر جديد، بينما تنتقل println() إلى السطر التالي بعد كل صف.
التحدي
متوسطاقرأ عددًا صحيحًا n من الإدخال. استخدم حلقات متداخلة لطباعة جدول ضرب للأعداد من 1 إلى n.
لكل صف i من 1 إلى n، اطبع النواتج i * 1 وi * 2 و... وi * n مفصولة بمسافات، متبوعة بسطر جديد.
على سبيل المثال، إذا كان الإدخال هو 3، فيجب أن يكون الناتج:
1 2 3
2 4 6
3 6 9إذا كان الإدخال هو 4، فيجب أن يكون الناتج:
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16استخدم print() مع مسافة لإخراج القيم في السطر نفسه، وprintln() للانتقال إلى الصف التالي.
جرّب بنفسك
fun main() {
// اقرأ المدخلات
val n = readLine()!!.toInt()
// TODO: اكتب الكود الخاص بك أدناه
// استخدم الحلقات المتداخلة لطباعة جدول الضرب
// استخدم print() مع مسافة للقيم في نفس السطر
// استخدم println() للانتقال إلى الصف التالي
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4العوامل - الجزء الأول
العوامل الحسابيةعامل باقي القسمةالإسناد المُعزَّزعوامل المقارنةمراجعة - الرياضيات البسيطة7أساسيات الإدخال والإخراج
دالة Printlnقوالب السلاسل النصيةإدخال ReadLineتحويل النوعمراجعة - السنوات حتى التقاعدمراجعة - صواب أم خطأ10الدوال
تعريف دالةالمعاملات والوسائطالقيم المُعادةالوسائط المُسمّاةالقيم الافتراضيةالدوال ذات التعبير الواحدمراجعة - دالة سيغمامراجعة - دالة التحقق2المتغيرات
val مقابل varاستنتاج النوعالأعدادالسلسلة النصيةالقيمة المنطقيةاصطلاحات التسميةمراجعة - تهيئة المتغيرات5المعاملات الجزء 2
المعاملات المنطقية الجزء 1المعاملات المنطقية الجزء 2المعاملات المنطقية الجزء 3المعامل الثلاثي مع تعبير Ifمراجعة - المنطق البسيط8حاسبة تقسيم الفاتورة
رسالة ترحيبيةالحصول على الإدخال3القابلية للقيمة الفارغة
ما هو الأمان من القيم الفارغةالأنواع القابلة للقيمة الفارغةعامل الاستدعاء الآمنعامل Elvisأساسيات تحدي الدوالتأكيد عدم كون القيمة فارغةمراجعة - الوصول الآمن9الحلقات
حلقة Forحلقة Whileحلقة Do-WhileBreakContinueالنطاقات في الحلقاتالحلقة المتداخلةمراجعة - المضروبمراجعة - الإدخال الديناميكيتدرّب بنفسك: Playground لـ Kotlin