حلقة Repeat-While
جزء من قسم الأساسيات في رحلة Swift على Coddy — الدرس 44 من 86.
حلقة repeat-while تشبه حلقة while، ولكن مع اختلاف جوهري واحد: فهي تتحقق من الشرط بعد تنفيذ كتلة الكود، وليس قبلها. وهذا يضمن تشغيل جسم الحلقة مرة واحدة على الأقل.
var count = 1
repeat {
print(count)
count += 1
} while count <= 3
// المخرجات: 1, 2, 3لاحظ البنية: تأتي الكلمة المفتاحية repeat أولاً، تليها كتلة الكود، ويظهر الشرط في النهاية بعد while.
يصبح الفرق واضحاً عندما يكون الشرط خاطئاً منذ البداية:
var number = 10
repeat {
print("This runs once!")
} while number < 5
// الناتج: This runs once!على الرغم من أن number < 5 هي false، إلا أن الرسالة لا تزال تُطبع مرة واحدة. مع حلقة while العادية، لن يتم طباعة أي شيء على الإطلاق.
استخدم repeat-while عندما تحتاج إلى تنفيذ الكود مرة واحدة على الأقل قبل التحقق مما إذا كان يجب الاستمرار، مثل مطالبة المستخدم بمدخلات حتى يقدم بيانات صالحة.
التحدي
سهلاقرأ عددًا صحيحًا n من المدخلات. استخدم حلقة repeat-while لطباعة جميع الأرقام من 1 إلى n، كل منها في سطر جديد.
ستتلقى المدخلات التالية:
- سطر واحد يحتوي على عدد صحيح كسلسلة نصية (على سبيل المثال،
"5")
اقرأ المدخلات، وقم بتحويلها إلى Int، واستخدم حلقة repeat-while لطباعة كل رقم بدءًا من 1.
المتطلبات:
- ابدأ عدادًا عند
1 - اطبع قيمة العداد
- قم بزيادة العداد
- استمر طالما أن العداد أقل من أو يساوي
n
على سبيل المثال، إذا كانت المدخلات 4، يجب أن تكون المخرجات:
1
2
3
4ورقة مرجعية
تتحقق حلقة repeat-while من الشرط بعد تنفيذ كتلة الكود، مما يضمن تشغيل جسم الحلقة مرة واحدة على الأقل.
الصيغة:
repeat {
// كتلة الكود
} while conditionمثال:
var count = 1
repeat {
print(count)
count += 1
} while count <= 3
// المخرجات: 1, 2, 3الفرق الجوهري عن حلقة while:
var number = 10
repeat {
print("This runs once!")
} while number < 5
// المخرجات: This runs once!حتى عندما يكون الشرط خاطئاً منذ البداية، يتم تنفيذ كتلة الكود مرة واحدة. حلقة while العادية لن يتم تنفيذها على الإطلاق في هذه الحالة.
استخدم repeat-while عندما تحتاج إلى تنفيذ الكود مرة واحدة على الأقل قبل التحقق مما إذا كان يجب الاستمرار.
جرّب بنفسك
// قراءة المدخلات وتحويلها إلى عدد صحيح (Int)
let n = Int(readLine()!)!
// TODO: اكتب كودك أدناه
// ابدأ عداداً من 1 واستخدم حلقة repeat-while لطباعة الأرقام من 1 إلى nيتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
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)