برامج الأنماط في Javaاطبع النجمة والهرم والرقم
⚡ ملخص ذكي
برامج الأنماط في Java طباعة النجوم أو الأرقام أو الحروف بشكل ثابت، وكل منها مبني من حلقات متداخلة حيث تقوم الحلقة الخارجية بحساب الصفوف وتقوم الحلقات الداخلية بوضع المسافات والأحرف.

برامج طباعة الأنماط عبارة عن تصميمات أو رموز تتضمن أحرفًا أو أحرفًا أخرى بتنسيق معين. Java يزيد ترميز الأنماط من البناء المنطقي للمبرمجين مما يساعدهم على أن يصبحوا مبرمجين جيدين.
كل مثال هنا لا يحتاج إلا إلى حلقات متداخلة وأساسيات Java بناء الجملة.
فئات الأنماط
يمكننا رسم أنماط لا حصر لها في Javaويمكن تنفيذ جميع الأنماط بثلاث طرق مختلفة.
هناك ثلاث فئات رئيسية تستخدم لتحديد Java برامج الأنماط.
- نمط النجمة: In Java برامج نمط النجوم، أنماط النجوم هي سلسلة من العلامات النجمية (*) تُستخدم لإنشاء أشكال مختلفة مثل نمط النجمة الهرمية، والمثلث الضيق، والمثلث المائل، وشكل المعين، والمربع، والعديد من الأنماط الأخرى في Java.
- نمط الرقم: لتدريب عبارات التحكم في التدفق، هناك نوع آخر من الأنماط وهو برامج أنماط الأرقام في Javaتتكون برامج أنماط الأرقام من الأرقام/العد. في الغالب، نحدد قيمة 'i'، وهي مُكرِّر حلقة لتوليد الأرقام في برمجة الأنماط. الحد الأدنى لعدد الحلقات لنمط الأرقام هو حلقتان. برنامج نمط الأرقام في Java كما أنه يعمل على نظام الصفوف والأعمدة.
- نمط الشخصية: تتكون برمجة نمط الأحرف من الأحرف الموجودة في الحروف الهجائية الإنجليزيةهذه طريقة أخرى لتحسين مهاراتك في الترميز، ولكننا هنا نتعامل مع الأحرف، وليس الأرقام أو النجوم. يمكن أن يحتوي النمط على نفس الحرف في النمط بأكمله أو يمكن أن يحتوي على أحرف مختلفة، وهذا يعتمد على المنطق الذي تطبقه.
يوضح الجدول أدناه التغييرات بين الفئات.
| الفئة | وحدة الطباعة | من أين تأتي القيمة المطبوعة | إخراج العينة |
|---|---|---|---|
| نمط النجوم | النجمة | رمز ثابت، لذا تتغير حدود الحلقة فقط | * * * |
| نمط الأرقام | Digit | يتم طباعة مُكرِّر الحلقة i أو j مباشرةً | 1-2-3 |
| نمط الأحرف | OMG | تحويل عدد صحيح أولي إلى حرف، بدءًا من 65 لـ A | ABC |
في الحالات الثلاث، تقوم الحلقة الخارجية بحساب الصفوف، وتقوم حلقة داخلية بطباعة المسافات المحاذية، وتقوم حلقة ثانية بطباعة الأحرف المرئية. الوحدة المطبوعة فقط هي التي تتغير.
تُعدّ مهارات التكرار نفسها أساسية في تمارين كلاسيكية أخرى مثل: فرز التحديد, ترتيب بالإدراج، و رقم أرمسترونج برنامج.
تأتي أنماط النجوم أولاً، لأن الرمز لا يتغير أبداً، ولا يهم سوى حدود الحلقة.
برامج أنماط النجوم في Java
تطبع أنماط النجوم علامة النجمة على وحدة التحكم، ويعتمد شكل النمط بالكامل على الكود الذي تكتبه.
برنامج نمط نجمة المثلث النصف الأيسر:
البرنامج أدناه يطبع هذا النصف الأيسر من المثلث:
public class LeftStarPattern{ public static void main(String args[]){ int i, j, row = 6; for (i=0; i<row; i++) { for (j=2*(row-i); j>=0; j--) { System.out.print(" "); } for (j=0; j<=i; j++ ) { System.out.print("* "); } System.out.println(); } } }
Code تفسير:
- أعلن إنت أنا، كثافة العمليات ي. قم بتعريف متغير الصف وتهيئته كـ الصف الدولي.
- i هو مكرر للحلقة الخارجية "for"، و j هو مكرر للحلقة الداخلية "for"، ويحتوي "الصف" على عدد من الصفوف التي يجب أن يحتوي عليها الهرم.
- في المتداخلة، يمثل "for" الخارجي الصفوف، ويمثل "for" الداخلي الأعمدة.
- في "for" الخارجي، قم بتهيئة المكرر "i" بـ 0، وقم بتعيين الشرط i < الصف، وقم بزيادة i.
- الآن تتم تهيئة حلقة "for" الداخلية بـ 2*(صف-i) والتناقصات.
- تطبع مساحة "for" المتداخلة على شاشة وحدة التحكم.
- يتم وضع حلقة "for" أخرى خارج جسم "for" المتداخل. هذا ل' طباعة نجمة بعد تنفيذ "for" المتداخلة. يتكرر حتى j<=i.
برنامج نمط نجمة Sandglass:
ينتج عن هرمين متراصين هذه الساعة الرملية:
public class Main { public static void main(String[] args) { int rows = 5; for (int i= 0; i<= rows-1 ; i++) { for (int j=0; j <i; j++) { System.out.print(" "); } for (int k=i; k<=rows-1; k++) { System.out.print("*" + " "); } System.out.println(""); } for (int i= rows-1; i>= 0; i--) { for (int j=0; j< i ;j++) { System.out.print(" "); } for (int k=i; k<=rows-1; k++) { System.out.print("*" + " "); } System.out.println(""); } } }
Code تفسير:
- Code يبدأ بـ الفراغ الساكن العام يد صفوف كثافة العمليات سيحدد عدد الصفوف التي سيحتويها الزجاج الرملي.
- هناك نوعان متداخلان من "for"، الأول سيعرض الهرم السفلي، والثاني سيعرض الهرم العلوي.
- في المتداخلة، يمثل "for" الخارجي الصفوف، ويمثل "for" الداخلي الأعمدة.
- في حلقات "for" الخارجية حتى i<= الصف 1، حلقات "for" الداخلية حتى i. نظام الطباعة يطبع المساحة على وحدة التحكم.
- تطبع الحلقة الداخلية الثانية علامة النجمة بالإضافة إلى مسافة على وحدة التحكم.
- عندما يتم تنفيذ الحلقة الداخلية الأولى بالكامل عند i=0، يتم تنفيذ الحلقة الداخلية الثانية بالكامل.
- ثم زادت الحلقة الخارجية. وتستمر هذه الدورة حتى تتحول الحالة إلى خطأ.
- تعرض الحلقة المتداخلة الثانية الهرم التصاعدي، مما يؤدي فقط إلى تغيير تهيئة وحالة الحلقة الخارجية للحلقة المتداخلة الأولى.
- وسوف يعرض الهرم التصاعدي. كل من الأهرامات السفلية والعلوية ستصنع نمط نجمة الرملية.
برنامج نمط نجمة الشكل الماسي:
يُعطي الهرم المتجه للأعلى والهرم المتجه للأسفل هذا الشكل الماسي:
public class Main { public static void main(String args[]) { int n, i, j, space_0 = 1; n = 6; space_0 = n - 1; for (j = 1; j<= n; j++) { for (i = 1; i<= space_0; i++) { System.out.print(" "); } space_0--; for (i = 1; i <= 2 * j - 1; i++) { System.out.print("*"); } System.out.println(""); } space_0 = 1; for (j = 1; j<= n - 1; j++) { for (i = 1; i<= space_0; i++) { System.out.print(" "); } space_0++; for (i = 1; i<= 2 * (n - j) - 1; i++) { System.out.print("*"); } System.out.println(""); } } }
Code تفسير:
- في خانة رمز الخصم، أدخل TABBYDAY. نمط نجمة الماس, 'n' هو عدد الصفوف المخزنة n-1 في space_0.
- في المتداخلة، يمثل "for" الخارجي الصفوف، ويمثل "for" الداخلي الأعمدة.
- يعرض الحرف "for" المتداخل الأول الهرم التصاعدي. حلقات "for" الخارجية حتى n وحلقات for الداخلية حتى تعرض الحلقة الداخلية space_0 مساحة على وحدة التحكم.
- هناك "for" داخلي آخر يتكرر حتى i<= 2 * j – 1 ويعرض نجمة خارج نظام الطباعة الداخلي "for" هذا ويطبع خطًا. هذه الحلقة المتداخلة تطبع الهرم العلوي.
- الآخر المتداخل "for" يعرض هرمًا هابطًا. حلقات "for" الخارجية حتى i<=n-1، أول مساحة طباعة داخلية لـ "for" ومساحة طباعة داخلية ثانية لنجمة المطبوعات.
- خارج "ل" الداخلية، طباعة مساحة الخط. كل من الهرم العلوي والسفلي يصنع نمط الماس.
برنامج نمط الفضاء نمط المثلث الأيمن:
يُدخل معيار j و i هذه الفجوات:
public class AsterikProgramJava { public static void main(String[] args) { for(int i=1;i<=10;i++) { for(int j=1;j<=i+i;j++) { int mid; mid=j%i; if(mid==0) System.out.print("* "); else System.out.print("*"); } System.out.print("\n"); } } }
Code تفسير:
- في خانة رمز الخصم، أدخل TABBYDAY. فوق النمط في الكود، يعتني الحرف "for" الخارجي بعدد الصفوف، بينما يحافظ الحرف "for" الداخلي على الأعمدة.
- عندما يكون "for" الخارجي هو 1، وهو ما يعني الصف الأول، وعندما يكون "for" الداخلي هو 1، فهذا يعني أنه هو العمود الأول.
- داخل "for" الداخلي، أعلن عن متغير اسمه mid وقم بتخزين ما تبقى من j/i. هذا يقسم قيم i و j للحصول على المعامل.
- لذا، إذا كانت قيمة المعامل تساوي 0، فقم بعرض علامة النجمة والمسافة؛ وإلا، فقم بعرض علامة النجمة فقط. خارج "for" الداخلية، اطبع سطرًا.
بلمسة عصرية Java ملاحظة: من Java 11 يمكن استبدال حلقات الفضاء بـ System.out.print(" ".repeat(n))وبناء كل صف في StringBuilder قبل واحد println() يتم تنفيذ الاستدعاء بشكل أسرع. تم الاحتفاظ بالكود الأصلي كما هو مكتوب، لأنه يُظهر العمليات الحسابية بشكل صريح.
مبادلةping تحوّل علامة النجمة الخاصة بعداد الحلقة كل شكل نجمة إلى شكل رقمي.
برامج الأنماط الرقمية في Java
تتكون الأنماط الرقمية من أرقام؛ ويمكننا رسم العديد من الأشكال المختلفة من الأنماط الرقمية.
برنامج نمط نصف المثلث المعاكس:
ينتج عن العد التنازلي، ثم التصاعدي، هذا المثلث العددي:
public class Number_p { public static void main(String[] args) { int i, j, rows_0=5; for (i = rows_0; i >= 1; i--) { for (j = 1; j <= i; j++) { System.out.print(j+" "); } System.out.println(); } for (i = 2; i <= rows_0; i++) { for (j = 1; j <= i; j++) { System.out.print(j+" "); } System.out.println(); } } }
Code تفسير:
- لرسم هذا النمط، سوف نستخدم حلقتين متداخلتين. سيقوم أحدهما بطباعة الهرم الأول والآخر سيعرض الهرم الثاني.
- أعلن إنت أناو int j و int Row_0، وقم بتهيئة الصف حسب عدد الصفوف التي تريدها. قيمة الصف هنا هي 5.
- قم بتعيين حلقة "for" الخارجية للحلقة المتداخلة الأولى، وقم بتهيئة i بعدد الصفوف، ثم قم بالتكرار حتى i >= ثم قم بتقليل المكرِّر. يتعامل هذا "for" الخارجي مع الصفوف.
- في "for" الداخلي، قم بتعيين الشرط j=1 وكرره حتى j<=i. في نص الحلقة الداخلية، قم بعرض المتغير j مع المسافة.
- الآن في حالة "for" المتداخلة الثانية، قم بتغيير حالة "for" الخارجية لحالة "for" المتداخلة الأولى. قم بتهيئته بمقدار 2 ثم قم بالتكرار حتى i<= الصفوف.
- وتتكرر الحلقة الداخلية حتى يتم الوصول إلي. ثم يعرض الرسالة على وحدة التحكم، كما هو الحال في الحلقة الداخلية لـ "for" المتداخلة الأولى خارج نص مساحة سطر المطبوعات الداخلية.
الرقم المتكرر في برنامج نمط المثلث القائم الزاوية:
إعادة ضبط العداد في كل صف يؤدي إلى تكرار الأرقام:
public class Number_pattern { public static void main(String args[]) { int i, j,number, n=7; for(i=0; i<n; i++) { number=1; for(j=0; j<=i; j++) { System.out.print(number+ " "); number++; } System.out.println(); } } }
Code تفسير:
- في رمز المثال، أعلن إنت أنا، إنت ي، رقم كثافة العملياتبير، وكثافة العمليات ن.
- ثم قم بتهيئة n بقيمة عدد الصفوف التي تريدها، وهي هنا 7.
- في "for" الخارجي، ابدأ الحلقة من القيمة 0 وكررها حتى يتم الوصول إلى n.
- يمكنك تهيئة الرقم داخل الحلقة أو خارجها.
- في الجزء الداخلي من "for"، قم بالتكرار حتى تصبح j أقل من أو تساوي i الذي وصلت إليه. وعرض الرقم مع المسافة.
- خارج الجسم الداخلي لمساحة سطر الطباعة.
- يتكرر حرف "for" الداخلي حتى تصبح حالته خاطئة. عندما يتحول هذا الشرط إلى خطأ، تزيد الحلقة الخارجية مرة أخرى وتنفذ "for" الداخلي حتى يتحول الشرط إلى خطأ.
- يكرر هذا الإجراء نفسه حتى تتحول الحلقة الخارجية إلى خطأ.
يقوم نفس الهيكل بطباعة الأحرف بمجرد تحويل قيمة عدد صحيح إلى حرف.
برامج أنماط الشخصيات في Java
تتكون أنماط الأحرف من الحروف الإنجليزية. يمكننا إنشاء برامج رائعة ومميزة لأنماط الأحرف في Java سيتم مناقشة بعضها أدناه.
برنامج نمط نصف الهرم :
يؤدي تحويل قيمة عددية أولية من نوع int إلى نوع char إلى طباعة هذه الأحرف:
public class Character_p{
public static void main(String[] args){
int alphabet = 65;
for (int i = 0; i <= 5; i++){
for (int j = 0; j <= i; j++)
{
System.out.print((char) alphabet + " ");}
alphabet++;
System.out.println();
}
}
}
Code تفسير:
- أعلن الأبجدية وقم بتهيئتها بالقيمة 65.
- الجزء الخارجي لبدء الحلقة من 0 ويتكرر حتى i 5 أو أقل.
- داخل for، تبدأ الحلقة عند 0 وتتكرر حتى تصبح j أقل من أو تساوي i.
- ثم قم بطباعة الحرف والمسافة على شاشة الإخراج.
- لطباعة الأحرف، نقوم بطباعة الحروف الأبجدية من عدد صحيح إلى حرف.
- خارج جسمه، قم بزيادة الحروف الأبجدية واطبع السطر على شاشة الإخراج. يقوم (char) بتحويل القيمة الأبجدية إلى حرف.
نمط الهرم/المثلث في Java:
حلقة فاصلة تُركّز الحروف في شكل هرم:
public class CharacterPattern
{
public static void main(String[] args){
for (int i = 0; i <= 8; i++)
{
int alphabet_0 = 65;
for (int j = 8; j > i; j--)
{
System.out.print(" ");
}
for (int k = 0; k <= i; k++)
{
System.out.print((char) (alphabet_0 + k) + " ");
}
System.out.println();
}
}
}
Code تفسير:
- في هذا المثال للكود، استخدمنا ثلاث حلقات "for"، إحداهما عبارة عن حلقة خارجية، وحلقتان متداخلتان داخل حلقة "for" الخارجية.
- يبدأ الحرف "for" الخارجي من 0 ويتكرر حتى تصبح القيمة 8 أو أقل.
- في نص "for" الخارجي، قمنا بتهيئة المتغير الأبجدي من النوع الصحيح بقيمة 65 وقمنا بدمج "for" الآخر في نصه.
- أول حلقة داخلية لـ "for" هي عكس حلقة "for" الخارجية، وفي جسمها توجد مساحة طباعة على وحدة التحكم. خارج جسده هناك "من أجل" آخر. إنها تتكرر مثل الحلقة الخارجية.
- في نص الحلقة الداخلية الثانية، قم بطباعة الحرف عن طريق كتابة الحروف الأبجدية +k وطباعته مع ترك مسافة على وحدة التحكم. خارج جسم الجزء الداخلي الثاني "من أجل" طباعة خط.








