البرمجة

تصحيح وشرح لكود FizzBuzz في لغة Ruby

في البداية، يظهر أن هناك عدة أخطاء في الكود الذي قدمته. دعوني أشرح لك بعناية الأخطاء المحتملة وأقترح التعديلات اللازمة.

أولًا، يجب عليك تعريف الدالة fizzbuzz بشكل صحيح وتصحيح بعض الأخطاء النحوية والمنطقية. هنا التعديلات المقترحة:

ruby
def fizzbuzz(limit) idx = 1 while idx <= limit if idx % 3 == 0 && idx % 5 == 0 puts 'fizzbuzz' elsif idx % 5 == 0 puts 'buzz' elsif idx % 3 == 0 puts 'fizz' else puts idx end idx += 1 end end fizzbuzz(100)

التعديلات التي قمت بها تشمل تغيير اسم المتغير number إلى limit لتوضيح أنه يمثل الحد الأقصى الذي يجب الوصول إليه في سلسلة FizzBuzz. قمت أيضًا بتصحيح خطأ في استخدام number[idx]، حيث أن number هو عدد صحيح وليس مصفوفة. بدلاً من ذلك، قمت بتعيين idx مباشرة كرقم.

تأكد من استخدام الشرط الصحيح لفحص قابلية قسمة الرقم على 3 و 5 بشكل صحيح، وأيضًا قمت بتصحيح التهوية والمسافات لتحسين قراءة الكود.

الآن، يجب على الكود العمل بشكل صحيح ويطبع سلسلة FizzBuzz من 1 إلى 100 بالطريقة الصحيحة.

المزيد من المعلومات

في الواقع، يعتبر كود FizzBuzz نموذجًا بسيطًا وشائعًا في عالم برمجة الحاسوب، ويستخدم لاختبار المهارات الأساسية لدى المطورين. الهدف منه هو إنشاء برنامج يطبع الأرقام من 1 إلى عدد معين، ولكن عندما يكون الرقم قابلاً للقسمة على 3 يطبع “Fizz”، وعندما يكون قابلاً للقسمة على 5 يطبع “Buzz”، وإذا كان قابلاً للقسمة على كليهما يطبع “FizzBuzz”.

الكود الذي قمت بتصحيحه يستخدم حلقة تكرار while للتحقق من أن الرقم الحالي لا يتجاوز الحد الذي حُدد (في هذه الحالة 100). داخل الحلقة، يتم فحص كل رقم وطباعة الناتج بناءً على شروط FizzBuzz.

يُظهر هذا الكود الأسلوب الأساسي لبرمجة FizzBuzz، وهو أمر مهم لفهم التحكم في التكرار والشروط في لغات البرمجة. يمكنك تكييف الكود لتلبية متطلباتك الخاصة أو تحسينه بمزيد من الميزات إذا كنت ترغب في ذلك.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر