مراجعة - المضروب (Factorial)
جزء من قسم الأساسيات في رحلة Swift على Coddy. الدرس 47 من 86.
حان الوقت لاختبار مهاراتك في الحلقات التكرارية! المضروب (factorial) هو مسألة برمجية كلاسيكية مثالية لممارسة الحلقات التكرارية.
مضروب العدد n (ويُكتب n!) هو حاصل ضرب جميع الأعداد الصحيحة الموجبة من 1 إلى n. على سبيل المثال:
5!= 5 × 4 × 3 × 2 × 1 = 1203!= 3 × 2 × 1 = 61!= 1
لحساب المضروب باستخدام حلقة تكرارية، تبدأ بنتيجة قدرها 1 وتضربها في كل عدد في النطاق:
var result = 1
let n = 5
for i in 1...n {
result *= i
}
print(result) // المخرجات: 120تقوم الحلقة بضرب result في 1، ثم 2، ثم 3، وهكذا حتى تصل إلى n. كل تكرار يبني على النتيجة السابقة.
التحدي
سهلاكتب دالة factorial تأخذ n وتعيد المضروب (factorial) لهذا الرقم.
استخدم حلقة (loop) لضرب جميع الأعداد الصحيحة الموجبة من 1 إلى n معاً.
المعاملات:
n(Int): عدد صحيح موجب (1 أو أكبر)
القيم المرجعة: مضروب n (Int)
على سبيل المثال، إذا كانت n هي 4، تقوم الدالة بحساب 1 × 2 × 3 × 4 = 24 وتعيد 24.
جرّب بنفسك
func factorial(n: 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)تدرّب بنفسك: Playground لـ Swift