Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

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

المطلوب

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


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

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

الخوارزمية

كود الجافا

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 لذلك تم طباعة *        

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


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