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

المغلقة مقابل نصف المفتوحة

جزء من قسم المنطق والتدفق في رحلة Swift على Coddy — الدرس 7 من 56.

تمتلك Swift عاملي نطاق يبدوان متطابقين تقريبًا، لكنهما يعنيان أشياء مختلفة.

a...b هو النطاق المغلق. إنه يتضمن b:

for i in 1...3 { print(i) }
// 1
// 2
// 3

a..<b هو النطاق نصف المفتوح. يتوقف قبل b:

for i in 1..<3 { print(i) }
// 1
// 2

نصف المفتوح هو الخيار الأنسب عندما يكون لديك عدّ: 0..<arr.count يغطي كل فهرس صالح في المصفوفة. استخدم المغلق عندما تكون كلتا النهايتين قيمتين حقيقيتين تهمانك (مثل نطاق الدرجات أو حد درجة شامل).

challenge icon

التحدي

سهل

اقرأ عددين صحيحين (في سطرين): a و b، حيث a <= b. اطبع ثلاثة أسطر:

  1. القيم في النطاق المغلق a...b، مدمجة بـ , في سطر واحد
  2. القيم في النطاق نصف المفتوح a..<b، مدمجة بـ , (أو سطر فارغ عندما يكون النطاق فارغاً)
  3. مجموع كل قيمة في النطاق المغلق

للمدخلات 1 ثم 5، يكون المخرج:

1,2,3,4,5
1,2,3,4
15

ورقة مرجعية

عوامل النطاق في Swift:

  • a...bنطاق مغلق، يتضمن كلاً من a و b
  • a..<bنطاق نصف مفتوح، يتضمن a ولكنه يتوقف قبل b
for i in 1...3 { print(i) } // 1, 2, 3
for i in 1..<3 { print(i) } // 1, 2

استخدم 0..<arr.count لتغطية كل فهرس مصفوفة صالح. استخدم النطاقات المغلقة عندما تكون كلتا نقطتي النهاية قيمتين ذواتي معنى.

جرّب بنفسك

let a = Int(readLine()!)!
let b = Int(readLine()!)!

// TODO: طباعة النطاق المغلق مدمجاً، والنطاق نصف المفتوح مدمجاً، ومجموع النطاق المغلق
quiz iconاختبر نفسك

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

جميع دروس المنطق والتدفق