هرم النجوم المسطح
جزء من قسم الأساسيات في رحلة Swift على Coddy — الدرس 84 من 86.
التحدي
سهلاكتب دالة flatPyramid تأخذ rows وتعيد سلسلة نصية تمثل هرماً مسطحاً من النجوم.
ينمو الهرم من نجمة واحدة وصولاً إلى عدد الصفوف المحدد، ثم يتقلص عائداً إلى نجمة واحدة. يجب أن يكون كل صف في سطر مستقل، مفصولاً بحروف سطر جديد (\n).
المنطق:
- بناء الجزء التصاعدي: صفوف تحتوي على 1، 2، 3، ... وصولاً إلى
rowsمن النجوم - بناء الجزء التنازلي: صفوف تحتوي على
rows - 1،rows - 2، ... نزولاً إلى نجمة واحدة - دمج جميع الصفوف باستخدام حروف سطر جديد
مثال: بالنسبة لـ rows = 3، يجب أن يكون المخرج:
*
**
***
**
*يتم إرجاع هذا كالسلسلة النصية: "*\n**\n***\n**\n*"
المعاملات:
rows(Int): العرض الأقصى للهرم (الصف الأوسط)
المخرجات: سلسلة نصية تحتوي على نمط الهرم الكامل مع صفوف مفصولة بـ \n
جرّب بنفسك
func flatPyramid(rows: Int) -> String {
// اكتب الكود هنا
}
جميع دروس الأساسيات
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)