اكتب برنامج Java لطباعة نمط معين من النجوم
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: تمارين بلغة الجافا مع الحل Java Solved Programs with solutions
صفحة 1 من اصل 1 • شاطر
اكتب برنامج Java لطباعة نمط معين من النجوم
أهلا بكم :
يمكنك طباعة شكل مثلث من النجوم (*) باستخدام حلقة for وأيضًا استخدام حلقة while ، هنا نناقش كيفية طباعة انماط مختلفة من النجوم بطريقة بسيطة وسهلة للغاية. لكن قبل تعلم هذا الموضوع ، اقرأ بعناية أولاً مفهوم حلقة for ومفهوم حلقة while بالتفصيل من خلال الرابط التالى :
ثم أتباع الخطوات التالية :
1_تحديد عدد الصفوف و الاعمد للنمط المطلوب :
حتى تستطيع رسم تلك الاشكال يجب أن تحدد عدد الصفوف و الاعمد حيث أن لكل شكل عدد من صفوف #rows و أعمدة #column كما فى الصورة التالية :
2_إستخدام حلقات التكرار
لطباعة أنماط من النجوم (*) في برمجة Java ، نحتاج إلى استخدام حلقتين للتكرار ،
*
*
*
*شرح الكود : تم انشاء حلقة تكرار for للدوران 5 مرات فى كل مرة يتم طباعة (*) على سطر جديد وهذا ابسط مثال
***
***
***
***شرح الكود :تم انشاء حلقتين دوران
الصف الاول مكون من عامود واحد
الصف الثاني مكون من 2 عامود
الصف الثالث مكون من 3 عامود
........الخ
* *
* * *
* * * *
* * * * *شرح الكود :تم انشاء حلقتين دوران
بمعنى أن الدورة الاولى فى الحلقة الاولى سيتم طباعة نجمة واحدة فقط لان حلقة الدوران الثانية ستقوم بعمل دورة واحدة فقط و التى بداخلها جملة الطباعة للنجمة و الدورة الثانية يطبع نجمتين ....الخ حتى يتم الدوران 5 مرات
الصف الاول مكون من 5 أعمدة
الصف الثاني مكون من 4 عامود
الصف الثالث مكون من 3 عامود
........الخ
شرح الكود :
الكود أعلاه هو نفس الكود الخاص بالمثال 3 تقريبا و الفرق بينهما مايلى :
فى المثال 3 عداد الحلقة الخارجية يبدء من الصفر و يتزايد العداد فى كل دورة بقيمة 1 حتى تنتهي الحلقة عندما بصل الى اقل من القيمة 5
فى المثال 4 عداد الحلقة الخارجية يبدء من 5 و يتناقص العداد فى كل دورة بقيمة 1 حتى تنتهي الحلقة عندما بصل الى القيمة 0
شرح الكود :
الكود أعلاه هو نفس كود المثال 3 مع فارق بسيط هو اضافة حلقة داخلية أخري لطباعة فراغ بين نجمتين تلك الحلقة تبدء من قيمة عدد الصفوف منقوص منها قيم عداد الحلقة الخارجية
يمكنك طباعة شكل مثلث من النجوم (*) باستخدام حلقة for وأيضًا استخدام حلقة while ، هنا نناقش كيفية طباعة انماط مختلفة من النجوم بطريقة بسيطة وسهلة للغاية. لكن قبل تعلم هذا الموضوع ، اقرأ بعناية أولاً مفهوم حلقة for ومفهوم حلقة while بالتفصيل من خلال الرابط التالى :
ثم أتباع الخطوات التالية :
1_تحديد عدد الصفوف و الاعمد للنمط المطلوب :
حتى تستطيع رسم تلك الاشكال يجب أن تحدد عدد الصفوف و الاعمد حيث أن لكل شكل عدد من صفوف #rows و أعمدة #column كما فى الصورة التالية :
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
**
*
*
*
مثال 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
******
***
***
***
- الاولى : حلقة خارجية للدوران 5 مرات ...فى كل دورة يتم تنفيذ حلقة الدوران الداخلية مع طباعة سطر فارغ
- الثانية : حلقة داخلية للدوران 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
** *
* * *
* * * *
* * * * *
- الاولى : حلقة خارجية للدوران 5 مرات ...فى كل دورة يتم تنفيذ حلقة الدوران الداخلية مع طباعة سطر فارغ
- الثانية حلقة داخلية للدوران بعدد دوران غير ثابت استنادا على عداد الحلقة الاولى الذى يتم الإشارة إلية بالحرف 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(" ");
}
}
}
شرح الكود :
الكود أعلاه هو نفس كود المثال 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:
*
* *
* * *
* * * *
* * * * *
ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
| |
منتدى مصر التقني :: قسم لغات البرمجة Programming languages :: لغة الجافا Java :: تمارين بلغة الجافا مع الحل Java Solved Programs with solutions
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
اليوم في 7:23 am من طرف mona mohamed
» حداد هناجر
أمس في 8:57 pm من طرف moslema_r
» ارخص شركة تنظيف ثريات بالرياض
الخميس مايو 16, 2024 7:32 pm من طرف moslema_r
» تصميم تطبيق للأسر المنتجة
الأربعاء مايو 15, 2024 10:41 am من طرف mona mohamed
» شركة تنظيف منازل ام القيوين
الثلاثاء مايو 14, 2024 7:50 pm من طرف moslema_r
» شركة تنظيف محلات بالرياض
الثلاثاء مايو 14, 2024 7:34 pm من طرف moslema_r
» تصميم تطبيق مثل حراج
الثلاثاء مايو 14, 2024 9:59 am من طرف mona mohamed
» تصميم تطبيق نقل أثاث
الإثنين مايو 13, 2024 10:30 am من طرف mona mohamed
» افضل شركة تنظيف ستائر بالرياض
الأحد مايو 12, 2024 7:57 pm من طرف moslema_r
» تصميم تطبيق للسوبر ماركت
الأحد مايو 12, 2024 7:22 am من طرف mona mohamed