الخوارزمياتالعوامل - التمرين الأول
المطلوب
أكتب برنامج مهمته جمع جميع الأعداد المفردة بين 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 دورات فقط.