تحدي: FizzBuzz
جزء من قسم Logic & Flow في رحلة Dart على Coddy — الدرس 65 من 65.
التحدي
سهلقم بإنشاء برنامج ينفذ تحدي FizzBuzz الكلاسيكي باستخدام هيكل حلقة (loop) ومنطق شرطي سليم. يختبر هذا التحدي قدرتك على الجمع بين الحلقات، والجمل الشرطية، ومعامل المودولو (modulo operator) لحل مشكلة برمجية معروفة.
مهمتك هي:
- استخدم حلقة
forللتكرار عبر الأرقام من 1 إلى 50 (شاملة) - لكل رقم، قم بتطبيق القواعد التالية بالترتيب:
- إذا كان الرقم يقبل القسمة على كل من 3 و 5، فاطبع
FizzBuzz - إذا كان الرقم يقبل القسمة على 3 فقط، فاطبع
Fizz - إذا كان الرقم يقبل القسمة على 5 فقط، فاطبع
Buzz - إذا كان الرقم لا يقبل القسمة على 3 أو 5، فاطبع الرقم نفسه
- إذا كان الرقم يقبل القسمة على كل من 3 و 5، فاطبع
- يجب أن يكون كل مخرج في سطر منفصل
- استخدم معامل المودولو (
%) للتحقق من قابلية القسمة - قم بتنظيم جملك الشرطية باستخدام
ifوelse ifوelseبالترتيب الصحيح
يجب أن تبدو الأسطر القليلة الأولى من مخرجاتك كما يلي:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzzتذكر أن مفتاح حل FizzBuzz بشكل صحيح هو التحقق من حالة "كلا الشرطين" (قابل للقسمة على كل من 3 و 5) أولاً، قبل التحقق من الشروط الفردية. يكون الرقم قابلاً للقسمة على رقم آخر إذا كان باقي القسمة عند قسمته على ذلك الرقم يساوي صفراً.
يجب أن يظهر برنامجك الاستخدام السليم للحلقات للتكرار، ومعامل المودولو لاختبار قابلية القسمة، والجمل الشرطية المنظمة بالترتيب المنطقي الصحيح للتعامل مع جميع الحالات الممكنة.
جرّب بنفسك
void main() {
// TODO: اكتب كودك أدناه
// استخدم حلقة for للتكرار من 1 إلى 50
// تحقق من القابلية للقسمة باستخدام معامل باقي القسمة (%)
// تذكر التحقق من 3 و 5 معاً أولاً، ثم الشروط الفردية
// اطبع كل نتيجة في سطر منفصل
}جميع دروس Logic & Flow
1التعامل المتقدم مع القوائم
خصائص القائمة: first و lastحالة القائمة: isEmpty و isNotEmptyعكس القائمةالإضافة إلى القائمة: insertالحذف من القائمة: removeWhereالبحث في القائمة: indexOfفرز القائمةخلط القائمةملخص - منظم القوائم4معالجة الـ Map المتقدمة
التكرار عبر الـ Mapالتحقق من المفاتيح والقيمخصائص الـ Map: keys و valuesإضافة مشروطة: putIfAbsentإزالة العناصر من الـ Mapالـ Maps المتداخلةمراجعة - تحديث المخزون2عمليات القوائم الوظيفية
التحويل باستخدام 'map'التصفية باستخدام 'where'استخدام '.toList()'التحقق من الشروط باستخدام 'any'الشروط باستخدام 'every'البحث باستخدام 'firstWhere'مراجعة - تصفية البيانات5مشروع: حاسبة عربة التسوق
إعداد المشروعإضافة العناصر إلى العربة3المجموعات
ما هي المجموعة؟إنشاء مجموعةالإضافة والحذف من المجموعاتالتحقق من وجود عناصر في المجموعةتحويل قائمة إلى مجموعةاتحاد المجموعاتتقاطع المجموعاتالفرق بين المجموعاتمراجعة - قائمة ضيوف فريدة