الخوارزميات الحلقتين while و do while - التمرين الثاني

المطلوب

أكتب برنامج يقوم بضرب جميع الأرقام من 1 إلى 10 و يعرض فقط المجموع النهائي بثلاث طرق.


إرشادات

M هو المتغير الذي سيحتوي على كل الأرقام المضروبة.
i هو المتغير (العداد) الذي يزيد واحد في كل دورة.
M يساوي ناتج ضرب كل قيم المتغير i.


النتيجة المطلوبة

الخوارزمية

شرح طريقة عمل الخوارزمية بدقة

مراجعة لما حدث في الذاكرة

كود الجافا

public class MultipleLoops {
 
    public static void main (String[] args) {
	
		// هنا قمنا بتعريف المتغيرات في أول البرنامج لأننا سنستخدمهم نفسهم في جميع الحلقات
		int i = 1;
		int M = 1;
	
		// " for " الطريقة الأولى باستخدام الحلقة
		System.out.print("1- using for loop:\n");
		for ( ; i <=10; i=i+1 )
		{
			M = M * i;
		}
		System.out.print("The multiple is: " + M + "\n");
		System.out.print("-----------------------------------\n");
	
	
		// " while " الطريقة الثانية باستخدام الحلقة
		System.out.print("2- using while loop:\n");
		i = 1;
		M = 1;
		while ( i <=10 )
		{
			M = M * i;
			i = i + 1;
		}
		System.out.print("The multiple is: " + M + "\n");
		System.out.print("-----------------------------------\n");
	
	
		// " do while " الطريقة الثالثة باستخدام الحلقة
		System.out.print("3- using do while loop:\n");
		i = 1;
		M = 1;
		do
		{
			M = M * i;
			i = i + 1;
		}
		while ( i <=10 );
		System.out.print("The multiple is: " + M + "\n");
		System.out.print("-----------------------------------\n");
 
    }
	
}
		

شرح الكود

  • ملاحظة: الشروحات الموضوعة بالعربية فوق كل كود لا تؤثر أبداً عليه لأنها موضوعة كتعليقات كما قلنا سابقاً.
  • البرنامج MultipleLoops يحتوي على ثلاث حلقات تعمل بنفس الطريقة.


		int i = 1;
		int M = 1;
			
  • في بداية البرنامج قمنا بتعريف المتغيرين i و M لأننا نريد استخدامهم في كل حلقة سننشأها.
  • إذاً تستطيع إنشاء المتغير الذي ستستخدمه كعداد في بداية البرنامج و تستخدمه من جديد كلما أردت ذلك.


		i = 1;
		M = 1;
			
  • قبل أن نستخدم المتغيرين i و M في أي حلقة كنا نعيد قيمهم إلى كما كانت عليه في البداية.


		System.out.print("The multiple is: " + M + "\n");
			
  • بعد كل حلقة قمنا بتعريفها في البرنامج, قمنا باستخدام أمر الطباعة هذا لعرض قيمة المتغير M بعد أن تم وضع ناتج ضرب جميع الأرقام من 1 إلى 10 فيه.


		for ( ; i <=10; i=i+1 )
			
  • هنا قمنا بتعريف عداد الحلقة for قبل تعريف الحلقة و ليس بداخلها.
  • ملاحظة
        يمكن تعريف الحلقة for بطرق مختلفة في لغات البرمجة لكن بشكل عام يجب أن يكون هناك إثنين ; ; بين أقواسها و إلا سيؤدي ذلك إلى ظهور خطأ في الكود.
        إضافةً إلى ذلك يجب المحافظة على مكان وضع العداد, الشرط, و طريقة زيادة العداد فيها.
        فمثلاً, إذا قمت بوضع الشرط في المكان المخصص لتعريف العداد كالتالي   for ( i <=10; ; i=i+1 ) سيظهر لك خطأ.

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

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

الدورات

أدوات مساعدة

أقسام الموقع

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