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

النطاقات في الحلقات

جزء من قسم الأساسيات في رحلة Kotlin على Coddy. الدرس 51 من 93.

حتى الآن، استخدمنا 1..5 لإنشاء نطاقات تزداد بالعد بمقدار واحد. توفر Kotlin طرقًا أكثر مرونة لتعريف النطاقات لحلقات التكرار لديك.

للعدّ التنازلي، استخدم downTo:

for (i in 5 downTo 1) {
    println(i)
}
// المخرجات: 5, 4, 3, 2, 1

لتخطّي الأرقام، أضف step للتحكم في مقدار الزيادة:

for (i in 0..10 step 2) {
    println(i)
}
// المخرجات: 0, 2, 4, 6, 8, 10

يمكنك دمج downTo مع step للعد التنازلي بفواصل زمنية مخصّصة:

for (i in 10 downTo 1 step 3) {
    println(i)
}
// المخرجات: 10, 7, 4, 1

إذا كنت بحاجة إلى استبعاد القيمة الأخيرة، فاستخدم until بدلًا من ..:

for (i in 1 until 5) {
    println(i)
}
// المخرجات: 1, 2, 3, 4

تكون الكلمة المفتاحية until مفيدة بشكل خاص عند العمل مع الفهارس التي تبدأ من الصفر، حيث تحتاج غالبًا إلى التوقف قبل الوصول إلى رقم معين.

challenge icon

التحدي

متوسط

اقرأ عددين صحيحين من الإدخال: start وend.

اطبع جميع الأعداد الزوجية من start تنازليًا حتى end (شاملًا)، بحيث يظهر كل عدد في سطر منفصل.

استخدم downTo مع step لإنشاء النطاق. إذا كان start فرديًا، فابدأ من أول عدد زوجي أصغر منه.

على سبيل المثال، إذا كان الإدخال:

10
2

فيجب أن يكون الناتج:

10
8
6
4
2

إذا كان الإدخال:

9
3

فيجب أن يكون الناتج:

8
6
4

إذا لم توجد أعداد زوجية في النطاق المطلوب، فاطبع No even numbers في سطر واحد. وإلا، فاطبع كل عدد زوجي في سطر منفصل.

جرّب بنفسك

fun main() {
    // اقرأ المدخلات
    val start = readLine()!!.toInt()
    val end = readLine()!!.toInt()
    
    // TODO: اكتب الكود الخاص بك أدناه
    // استخدم downTo مع step لطباعة جميع الأعداد الزوجية من start نزولاً إلى end
    // إذا كان start فرديًا، ابدأ من أول عدد زوجي أسفله
    
}
quiz iconاختبر نفسك

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

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

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