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

اكتب برنامج Java لطباعة نمط معين من النجوم

اذهب الى الأسفل

اكتب برنامج Java لطباعة نمط معين من النجوم Empty اكتب برنامج Java لطباعة نمط معين من النجوم

مُساهمة من طرف أحمد مناع السبت يناير 29, 2022 9:46 am

أهلا بكم :

يمكنك طباعة شكل مثلث من النجوم (*) باستخدام حلقة for وأيضًا استخدام حلقة while ، هنا نناقش كيفية طباعة انماط مختلفة من النجوم بطريقة بسيطة وسهلة للغاية. لكن قبل تعلم هذا الموضوع ، اقرأ بعناية أولاً مفهوم حلقة for ومفهوم حلقة while بالتفصيل من خلال الرابط التالى :
ثم أتباع الخطوات التالية :

1_تحديد عدد الصفوف و الاعمد للنمط المطلوب :
حتى تستطيع رسم تلك الاشكال يجب أن تحدد عدد الصفوف و الاعمد حيث أن لكل شكل عدد من صفوف #rows و أعمدة #column كما فى الصورة التالية :

اكتب برنامج Java لطباعة نمط معين من النجوم How-to-print-pattern-in-java
2_إستخدام حلقات التكرار 
لطباعة أنماط من النجوم (*) في برمجة Java ، نحتاج إلى استخدام حلقتين للتكرار ،
  • الأولى حلقة خارجية تكون مسؤولة عن طباعة الصفوف باستخدام #print التى تطبع على طول الصف بدون سطر جديد
  • والثانية حلقة داخلية تكون مسؤولة عن طباعة الاعمدة باستخدام الدالة #println التى تطبع على سطر جديد 


مثال 1:طباعة نمط بسيط مكون عامود واحد وعدد 5 صفوف من النجوم


الكود:

public class Main
{
   public static void main(String args[])
   {
       //حلقة تكرار تبدء من الصفر و تنتهى بعدد الصفوف
       for(int i=0;i<5;i++){
         System.out.println("*");
    
       }
      
      
   }
}


Output

*
*
*
*
*
شرح الكود : تم انشاء حلقة تكرار for للدوران 5 مرات فى كل مرة يتم طباعة (*) على سطر جديد وهذا ابسط مثال 


مثال 2 :طباعة نمط بسيط مكون 3 أعمدة  وعدد 5 صفوف من النجوم


الكود:

public class Main
{
   public static void main(String args[])
   {
       //حلقة تكرار تبدء من الصفر و تنتهى بعدد الصفوف
       for(int i=0;i<5;i++){
          
            // حلقة تكرار داخلية لطباعة عدد الاعمدة
            for(int j=0;j<3;j++){
              System.out.print("*");
            }
         // طباعة صف فارغ فى كل دور    
         System.out.println(" ");  
       }
      
   }
}

Output

***
***
***
***
***
شرح الكود :تم انشاء حلقتين دوران 
  1. الاولى : حلقة  خارجية للدوران 5 مرات ...فى كل دورة يتم تنفيذ حلقة الدوران الداخلية مع طباعة سطر فارغ 
  2. الثانية : حلقة  داخلية للدوران 3 مرات ...فى كل مرة يتم طباعة (*)



مثال 3 :طباعة نمط بسيط مكون من عدد 5 صفوف من النجوم و بأعمدة متزايدة بمعنى أن :


الصف الاول مكون من عامود واحد
الصف الثاني مكون من 2 عامود
الصف الثالث مكون من 3 عامود
........الخ

الكود:

public class Main
{
   public static void main(String args[])
   {
       //حلقة تكرار تبدء من الصفر و تنتهى بعدد الصفوف
       for(int i=0;i<5;i++){
          
            // حلقة تكرار داخلية لطباعة عدد الاعمدة
            // يتم طباعة الاعمدة كلما كانت رقم العمود أقل من رقم الصف
            for(int j=0;j<=i;j++){
              System.out.print("*");
            }
         // طباعة صف فارغ فى كل دور    
         System.out.println(" ");  
       }
      
   }
  
}


Output

*
* *
* * *
* * * *
* * * * *
شرح الكود :تم انشاء حلقتين دوران
  1. الاولى : حلقة  خارجية للدوران 5 مرات ...فى كل دورة يتم تنفيذ حلقة الدوران الداخلية مع طباعة سطر فارغ
  2. الثانية حلقة داخلية للدوران بعدد دوران غير ثابت استنادا على عداد الحلقة الاولى الذى يتم الإشارة إلية بالحرف i ويتم الإشارة عداد الحلقة الداخلية بالحرف j بحيث عداد الحلقة الداخلية أقل من أو يساوي عداد الحلقة الخارجية فى كل دورة و يمكن بمعادلة رياضية على النحو التالى :j<=i  

بمعنى أن الدورة الاولى فى الحلقة الاولى سيتم طباعة نجمة واحدة فقط لان حلقة الدوران الثانية ستقوم بعمل دورة واحدة فقط و التى بداخلها جملة الطباعة للنجمة و الدورة الثانية يطبع نجمتين ....الخ حتى يتم الدوران 5 مرات


مثال 4 :طباعة نمط بسيط مكون من عدد 5 صفوف من النجوم و بأعمدة متناقصة بمعنى أن :


الصف الاول مكون من 5 أعمدة
الصف الثاني مكون من 4 عامود
الصف الثالث مكون من 3 عامود
........الخ

الكود:

public class Main
{
   public static void main(String args[])
   {
       //حلقة تكرارية لطباعة مصفوف متناقصة تبدء من عدد الصفوف
       for(int i=5;i>=0;i--){
          
            // حلقة تكرار داخلية لطباعة عدد الاعمدة
            // يتم طباعة الاعمدة كلما كانت رقم العمود أقل من رقم الصف
            for(int j=0;j<=i;j++){
              System.out.print("*");
            }
         // طباعة صف فارغ فى كل دور    
         System.out.println(" ");  
       }
      
   }
  
}

Output

* * * * *
* * * *
* * *
* *
*

شرح الكود :
الكود أعلاه هو نفس الكود الخاص بالمثال 3 تقريبا و الفرق بينهما مايلى :

فى المثال 3 عداد الحلقة الخارجية يبدء من الصفر و يتزايد العداد فى كل دورة بقيمة 1 حتى تنتهي الحلقة عندما بصل الى اقل من القيمة 5
فى المثال 4 عداد الحلقة الخارجية يبدء من 5 و يتناقص العداد فى كل دورة بقيمة 1 حتى تنتهي الحلقة عندما بصل الى  القيمة 0


مثال 5 :

الكود:

public class Main
{
   public static void main(String args[])
   {
       //حلقة تكرار تبدء من الصفر و تنتهى بعدد الصفوف
       for(int i=0;i<5;i++){
          
           //حلقة داخلية لطباعة مساحة فارغة      
          for (int k=(5-i); k>=0; k--)        
             {  
            //يطبع مسافة بين نجمتين    
            System.out.print(" ");  
            }  
            
            
            // حلقة تكرار داخلية لطباعة عدد الاعمدة
            // يتم طباعة الاعمدة كلما كانت رقم العمود أقل من رقم الصف
            for(int j=0;j<=i;j++){
              System.out.print("*");
            }
         // طباعة صف فارغ فى كل دور    
         System.out.println(" ");  
       }
      
   }
  
}

اكتب برنامج Java لطباعة نمط معين من النجوم 966931542

شرح الكود :

الكود أعلاه هو نفس كود المثال 3 مع فارق بسيط هو اضافة حلقة داخلية أخري لطباعة فراغ بين نجمتين تلك الحلقة تبدء من قيمة عدد الصفوف منقوص منها قيم عداد الحلقة الخارجية

مثال 6 : طباعة مثلث من النجوم


الكود:

public class Main
{  
  
  
    public static void main(String args[])  
    {      
          
         int i, k,j;      // تعريف عدادت حلقات الدوران
         int row = 5;  // تعريف حجم الصفوف المراد طباعتها
        
          //حلقة الدوران الخارجية تبدء بالصفر و تنتهى بحجم الصفوف
       for (i=0; i<row; i++)  
        {  
                  //حلقة دوران داخلية تبدء من عدد الصفوف مطروح منه
                  // رقم الدورة فى الحلقة الخارجية
                  //مع تناقص الدوران بقيمة واحد و تقف حينما تصل للرقم 1
                for (k=(row-i); k>1; k--)  
                {  
                //طباعة فراغ بين نجمتين
                System.out.print(" ");  
                }  
                
                 //حلقة دوران داخلية أخرى لطباعة النجوم
                 // تبدء من الصفر وتنتهى حينما تكون رقم الدورة فيها اقل من أو يساوي
                 // رقم الدورة الخارجية
                for (j=0; j<=i; j++ )  
                {  
                 //طباعة نجمة      
                 System.out.print("* ");  
                 }  
           //طباعة سطر فارغ  
           System.out.println();  
        }  
    }  
}

Output:

   *
  * *
 * * *
* * * *
* * * * *

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1108
النقاط : 202034
التقيم : 144
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى