الخوارزمياتالحلقتين while و do while - التمرين الثاني
المطلوب
أكتب برنامج يقوم بضرب جميع الأرقام من 1 إلى 10 و يعرض فقط المجموع النهائي بثلاث طرق.
إرشادات
M هو المتغير الذي سيحتوي على كل الأرقام المضروبة.
i
هو المتغير (العداد) الذي يزيد واحد في كل دورة.
M يساوي ناتج ضرب كل قيم المتغير i
.
النتيجة المطلوبة
الخوارزمية
شرح طريقة عمل الخوارزمية بدقة
مراجعة لما حدث في الذاكرة
كود الجافا
شرح الكود
- ملاحظة: الشروحات الموضوعة بالعربية فوق كل كود لا تؤثر أبداً عليه لأنها موضوعة كتعليقات كما قلنا سابقاً.
- البرنامج MultipleLoops يحتوي على ثلاث حلقات تعمل بنفس الطريقة.
- في بداية البرنامج قمنا بتعريف المتغيرين
i
و M لأننا نريد استخدامهم في كل حلقة سننشأها. - إذاً تستطيع إنشاء المتغير الذي ستستخدمه كعداد في بداية البرنامج و تستخدمه من جديد كلما أردت ذلك.
- قبل أن نستخدم المتغيرين
i
و M في أي حلقة كنا نعيد قيمهم إلى كما كانت عليه في البداية.
- بعد كل حلقة قمنا بتعريفها في البرنامج, قمنا باستخدام أمر الطباعة هذا لعرض قيمة المتغير M بعد أن تم وضع ناتج ضرب جميع الأرقام من 1 إلى 10 فيه.
- هنا قمنا بتعريف عداد الحلقة for قبل تعريف الحلقة و ليس بداخلها.
- ملاحظة
يمكن تعريف الحلقة for بطرق مختلفة في لغات البرمجة لكن بشكل عام يجب أن يكون هناك إثنين ; ; بين أقواسها و إلا سيؤدي ذلك إلى ظهور خطأ في الكود.
إضافةً إلى ذلك يجب المحافظة على مكان وضع العداد, الشرط, و طريقة زيادة العداد فيها.
فمثلاً, إذا قمت بوضع الشرط في المكان المخصص لتعريف العداد كالتالي for ( i <=10; ; i=i+1 ) سيظهر لك خطأ.