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