الخوارزميات العوامل - التمرين الأول

المطلوب

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

نرجو منك الإنتقال لدورة البرمجة للمبتدئين الجديدة التي أنشأنها كبديل أفضل لهذه الدورة ففي تلك الدورة قمنا بتبسيط الشرح أكثر و جعلناك قادر على تجربة الكود بشكل مباشر في موقعنا.

دورة تعلم البرمجة للمبتدئين >

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة