إعلان
تعلم الآن

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

المطلوب

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


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

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

الخوارزمية

كود الجافا

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

شرح الكود

  • الهدف من هذا السؤال جعلك ترى أنك تستطيع وضع عدة حلقات بداخل بعض و ليس حلقتين فقط.

  • بشكل عام, في كل دورة من دورات الحلقة i سيحدث التالي:
    • تنفيذ الحلقة k لطباعة الرموز -.
    • ثم تنفيذ الحلقة j لطباعة الرموز *.
    • ثم تنفيذ أمر الطباعة الموضوع بعد الحلقة j للنزول على سطر جديد بعد طباعة جميع الرموز الموجودة في كل سطر.


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


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


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

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

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


الدورات

أدوات مساعدة

أقسام الموقع

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