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





محرر الويب
نظام الألوان
محول الوحدات
محلل عناوين الشبكات