المطلوب
أكتب برنامج مهمته جمع جميع الأعداد المزدوجة بين 1 و 10.
لا تستخدم الـ Modulo.
إجعله يظهر قيمة العداد و قيمة المتغير S
في كل دورة.
طريقة التحليل
إذاً هنا قررنا جعل قيمة العداد الأولية تساوي 2 و في نهاية كل دورة سيتم إضافة 2 عليها و هكذا ستظل دائماً قيمة العداد مزدوجة.
كود الجافا
public class Sum_Odd_Numbers { public static void main (String[] args) { int S=0; for (int i=2; i<11; i=i+2) { System.out.print("S = " +S+ " + " +i+ " = " +(S+i)+ "\n"); S = S + i; } System.out.print("\n"); } }
شرح الكود
int S=0;
هنا قمنا بتعريف المتغير S
لتخزين المجموع لذلك أعطيناه القيمة 0 كقيمة أولية.
for (int i=2; i<11; i=i+2)
هنا أنشأنا حلقة تبدأ من 2 إلى ما قبل الرقم 11 (أي من 2 إلى 10) و في نهاية كل دورة تزيد 2.
إذا كتبنا i<11
كأننا كتبنا تماماً i <=10
لأن الحلقة في الحالتين ستتوقف عندما تصبح قيمة العداد i
تساوي 10.
هنا كما تلاحظ أعطينا العداد رقم 2 كقيمة أولية و أضفنا عليه 2 في نهاية كل دورة, و هكذا إستطعنا جعل قيمة الـ i
مزدوجة في كل دورة.
System.out.print("S = " +S+ " + " +i+ " = " +(S+i)+ "\n");
كل شيء مكتوب بين " "
سيظهر كما هو عند تشغيل البرنامج, و كل شيء بدونهم ستظهر قيمته الحالية عند التشغيل.
طريقة كتابة هذا البرنامج تعتبر ممتازة, لأنك جعلت العداد يعمل بطريقة تجعلك تحصل على الأرقام المزدوجة بـ 5 دورات فقط.