JavaScript-এ নেস্টেড লুপ ব্যবহার করে ডায়মন্ড (হীরক) আকার তৈরি করা একটি ক্লাসিক প্রোগ্রামিং অনুশীলন। এটি লুপ কন্ট্রোল ও স্ট্রিং ম্যানিপুলেশনের দক্ষতা বাড়ায়।
ফাংশন কোড
function createDiamondShape(size) {
// উপরের আধা অংশ (পিরামিড)
for (var i = 1; i <= size; i++) {
// স্পেস প্রিন্ট
for (var s = size - 1; s >= i; s--) {
process.stdout.write(" ");
}
// ستاره প্রিন্ট
for (var j = 1; j <= i; j++) {
process.stdout.write("* ");
}
console.log(); // নতুন লাইন
}
// নিচের আধা অংশ (উল্টো পিরামিড)
for (var i = 1; i <= size - 1; i++) {
// স্পেস প্রিন্ট
for (var s = 1; s <= i; s++) {
process.stdout.write(" ");
}
// ستاره প্রিন্ট
for (var j = i; j <= size - 1; j++) {
process.stdout.write("* ");
}
console.log();
}
}
// ৯ সাইজে ডায়মন্ড তৈরি
createDiamondShape(9);
চলানোর পদ্ধতি
- কোডটি
diamond.jsনামে সংরক্ষণ করুন। - টার্মিনালে চালান:
node diamond.js
আউটপুট (সাইজ ৯)
*
* *
* * *
* * * *
* * * * *
* * * * * *
* * * * * * *
* * * * * * * *
* * * * * * * * *
* * * * * * * *
* * * * * * *
* * * * * *
* * * * *
* * * *
* * *
* *
*
কোড ব্যাখ্যা
- প্রথম লুপ: ১ থেকে size পর্যন্ত - প্রতিটি লাইনে স্টার বাড়ে।
- দ্বিতীয় লুপ: ১ থেকে size-1 পর্যন্ত - প্রতিটি লাইনে স্টার কমে।
- process.stdout.write(): নতুন লাইন ছাড়া আউটপুট দেয়।
- console.log(): লাইন ব্রেক তৈরি করে।
উন্নত সংস্করণ (রিটার্ন স্ট্রিং)
function generateDiamond(size) {
let result = '';
for (let i = 1; i <= size; i++) {
result += ' '.repeat(size - i) + '* '.repeat(i) + '\n';
}
for (let i = size - 1; i >= 1; i--) {
result += ' '.repeat(size - i) + '* '.repeat(i) + '\n';
}
return result;
}
console.log(generateDiamond(5));