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

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

المطلوب

إستخدم الحلقات لطباعة الشكل التالي.


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

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

الخوارزمية

كود الجافا

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

شرح الكود

  • هذا البرنامج يعطيك نفس نتيجة البرنامج السابق و لكن بالمقلوب.
  • لاحظ أننا وضعنا نفس المعادلات للحلقتين k و j و لكننا بدأنا الحلقة i بالعكس ( أي من 1 إلى 5 ).
  • هذا الذي جعلنا نحصل على نفس النتيجة و لكن مقلوبة, لأنه كأننا قلبنا الأسطر فقط.


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


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


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

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


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