حلقة While
جزء من قسم الأساسيات في رحلة Swift على Coddy — الدرس 43 من 86.
أحيانًا لا تعرف بالضبط عدد المرات التي يجب أن يتم فيها تشغيل الحلقة. بدلاً من ذلك، تريد الاستمرار في التكرار بينما يظل الشرط صحيحًا. هنا يأتي دور حلقة while.
var count = 1
while count <= 3 {
print(count)
count += 1
}
// المخرجات: 1، 2، 3 (كل منها في سطر جديد)تتحقق الحلقة من الشرط count <= 3 قبل كل تكرار. طالما أن الشرط صحيح (true)، يتم تشغيل الكود الموجود بالداخل. وبمجرد أن يصبح الشرط خاطئاً (false)، تتوقف الحلقة.
كن حذرًا: إذا لم يصبح الشرط خاطئًا (false) أبدًا، فستنشئ حلقة تكرار لا نهائية! تأكد دائمًا من أن شيئًا ما داخل الحلقة يغير الشرط في النهاية:
var number = 10
while number > 0 {
print(number)
number -= 2
}
// المخرجات: 10, 8, 6, 4, 2استخدم حلقة while عندما يعتمد عدد التكرارات على شرط يتغير أثناء التنفيذ، بدلاً من نطاق ثابت.
التحدي
سهلاكتب دالة باسم countdownSum تأخذ start وتعيد مجموع كل الأرقام من start تنازلياً إلى 1.
استخدم حلقة while للعد التنازلي من رقم البداية، مع إضافة كل قيمة إلى المجموع الكلي حتى تصل إلى الصفر.
المنطق:
- ابدأ بالرقم المعطى
- بينما الرقم أكبر من 0، أضفه إلى المجموع وانقصه بمقدار 1
- أعد المجموع النهائي
المعاملات:
start(Int): رقم البداية للعد التنازلي
القيمة المرجعة: مجموع كل الأرقام من start تنازلياً إلى 1 (Int)
على سبيل المثال، إذا كان start هو 5، ستقوم الدالة بحساب 5 + 4 + 3 + 2 + 1 = 15 وتعيد 15.
ورقة مرجعية
تكرر حلقة while الكود طالما أن الشرط صحيح (true):
var count = 1
while count <= 3 {
print(count)
count += 1
}
// المخرجات: 1, 2, 3يتم التحقق من الشرط قبل كل تكرار. عندما يصبح الشرط غير صحيح (false)، تتوقف الحلقة.
تأكد دائماً من أن الشرط سيصبح غير صحيح في النهاية لتجنب الحلقات اللانهائية:
var number = 10
while number > 0 {
print(number)
number -= 2
}
// المخرجات: 10, 8, 6, 4, 2استخدم حلقات while عندما يعتمد عدد التكرارات على شرط متغير بدلاً من نطاق ثابت.
جرّب بنفسك
func countdownSum(start: Int) -> Int {
// اكتب الكود هنا
}
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةالإسناد المركبمراجعة - عمليات رياضية بسيطةمعاملات المقارنة7أساسيات الإدخال والإخراج
دالة الطباعةتضمين النصوصإدخال ReadLineتحويل الأنواعمراجعة - حتى 120مراجعة - True أو False10الدوال
تعريف دالةالمعاملات والوسائطقيم الإرجاعتسميات الوسائطمراجعة - دالة Sigmaمراجعة - دالة Validationالقيم الافتراضية2المتغيرات
Let مقابل Varتوصيف الأنواع (Type Annotations)الأرقامStringBooleanقواعد التسميةمراجعة - تهيئة المتغيرات5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعامل الثلاثي (Ternary Operator)8حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على المدخلات3القيم الاختيارية (Optionals)
ما هي القيم الاختياريةفك القيم باستخدام If Letاستخدام Guard Letمعامل دمج Nilمراجعة - فك القيم بأمان9حلقات التكرار
حلقة For-Inحلقة Whileحلقة Repeat-WhileBreakContinueمراجعة - المضروب (Factorial)النطاقات في حلقات التكرارالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)