Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

الحلقة المتداخلة

جزء من قسم الأساسيات في رحلة 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() إلى السطر التالي بعد كل صف.

challenge icon

التحدي

متوسط

اقرأ عددًا صحيحًا 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() للانتقال إلى الصف التالي
    
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات

تدرّب بنفسك: Playground لـ Kotlin