الخوارزميات الحلقات المتداخلة - التمرين السادس

المطلوب

أكتب نفس البرنامج السابق بطريقة ثانية, الشكل المطلوب رسمه هو التالي.


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

طريقة التحليل

الخوارزمية

كود الجافا

public class Stars {
 
    public static void main (String[] args) {
 
        for (int i=5; i>=1; i--)
        {
            for (int j=1; j<=i; j++)
            {
                System.out.print("* ");
            }
            System.out.print("\n");
        }
 
    }

}
		

شرح الكود


		for (int i=5; i>=1; i--)
			
  • الحلقة i تعني أنه عندنا 5 أسطر.
  • كما تلاحظ أن هذه المرة الأولى التي نجعل فيها قيمة العداد i تقل في كل دورة بدل أن تزيد.


			for (int j=1; j<=i; j++)
			{
				System.out.print("* ");
			}
			
  • هنا الحلقة j مرتبطة فقط بالعداد i, و كما تلاحظ فإن معادلة الحلقة j غير معقدة كما كتبناها في التمرين السابق.
  • هنا قلنا أنه في كل سطر سيكون عدد أعمدة الحلقة j يساوي قيمة العداد i.
  • بما أن العداد i يبدأ من 5 وصولاً إلى 1 كانت النتيجة كالتالي:
    • في دورة الحلقة i الأولى, كانت قيمة العداد i تساوي 5 فكان عدد دورات الحلقة j يساوي 5 لذلك تم طباعة * * * * *
    • في دورة الحلقة i الثانية, كانت قيمة العداد i تساوي 4 فكان عدد دورات الحلقة j يساوي 4 لذلك تم طباعة * * * *  
    • في دورة الحلقة i الثالثة, كانت قيمة العداد i تساوي 3 فكان عدد دورات الحلقة j يساوي 3 لذلك تم طباعة * * *    
    • في دورة الحلقة i الرابعة, كانت قيمة العداد i تساوي 2 فكان عدد دورات الحلقة j يساوي 2 لذلك تم طباعة * *      
    • في دورة الحلقة i الخامسة, كانت قيمة العداد i تساوي 1 فكان عدد دورات الحلقة j يساوي 1 لذلك تم طباعة *        

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

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

الدورات

أدوات مساعدة

أقسام الموقع

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