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