নেস্টেড লুপ এবং নেস্টেড কন্ডিশনাল স্টেটমেন্ট হলো প্রোগ্রামিংয়ের এমন দুটি ধারণা, যেখানে একটি লুপ বা শর্তের ভেতরে আরেকটি লুপ বা শর্ত ব্যবহার করা হয়। এর মাধ্যমে জটিল কাজ সহজে এবং কার্যকরীভাবে সম্পন্ন করা যায়।
নেস্টেড লুপ (Nested Loop)
নেস্টেড লুপ হলো একটি লুপের ভেতরে আরেকটি লুপ। প্রতিটি বাইরের লুপের পুনরাবৃত্তির জন্য অভ্যন্তরীণ লুপ সম্পূর্ণরূপে চলতে থাকে। সাধারণত টেবিল বা মাল্টি-ডাইমেনশনাল ডেটা প্রক্রিয়ায় নেস্টেড লুপ ব্যবহৃত হয়।
উদাহরণ:
for (int i = 1; i <= 3; i++) { // বাইরের লুপ
for (int j = 1; j <= 3; j++) { // ভেতরের লুপ
System.out.print(i + "," + j + " ");
}
System.out.println();
}
উপরে, i এর মান পরিবর্তন হলে প্রতিবার j এর লুপ সম্পূর্ণরূপে চলে। আউটপুট হবে:
1,1 1,2 1,3
2,1 2,2 2,3
3,1 3,2 3,3
ব্যবহার:
- মাল্টি-ডাইমেনশনাল অ্যারে প্রক্রিয়াকরণ
- টেবিল তৈরি বা প্যাটার্ন প্রিন্ট করা
- কমপ্লেক্স ডেটা স্ট্রাকচার নিয়ে কাজ
নেস্টেড কন্ডিশনাল স্টেটমেন্ট (Nested Conditional Statement)
নেস্টেড কন্ডিশনাল স্টেটমেন্ট বলতে বোঝায় if, else if, অথবা else ব্লকের ভেতরে আরেকটি if-else ব্লক। অর্থাৎ, একটি শর্ত পূরণ হলে এর ভেতরে আরেকটি শর্ত চেক করা হয়।
উদাহরণ:
int age = 20;
boolean hasLicense = true;
if (age >= 18) {
if (hasLicense) {
System.out.println("You are eligible to drive.");
} else {
System.out.println("You need a driving license to drive.");
}
} else {
System.out.println("You are not eligible to drive.");
}
উপরে, প্রথমে age >= 18 শর্তটি চেক করা হয়। যদি এটি True হয়, তাহলে পরবর্তী শর্ত hasLicense চেক করা হয়। এটি কন্ডিশনাল স্টেটমেন্টের ভেতরে আরেকটি কন্ডিশনাল চেক করছে।
ব্যবহার:
- জটিল শর্ত বা পরিস্থিতি যাচাই করা
- একাধিক শর্ত বা কেস অনুযায়ী বিভিন্ন কাজ করা
নেস্টেড লুপ এবং নেস্টেড কন্ডিশনাল স্টেটমেন্টের মধ্যে পার্থক্য
| বৈশিষ্ট্য | নেস্টেড লুপ | নেস্টেড কন্ডিশনাল স্টেটমেন্ট |
|---|---|---|
| কাজ | লুপের ভেতরে আরেকটি লুপ | শর্তের ভেতরে আরেকটি শর্ত |
| ব্যবহারিকতা | নির্দিষ্ট কাজ পুনরাবৃত্তি বা মাল্টি-ডাইমেনশনাল প্রক্রিয়া | জটিল শর্ত যাচাই |
| উদাহরণ | for বা while লুপের মধ্যে আরেকটি লুপ | if-else ব্লকের মধ্যে আরেকটি if-else |
নেস্টেড লুপ এবং কন্ডিশনাল স্টেটমেন্ট একত্রে ব্যবহারের উদাহরণ
নেস্টেড লুপ এবং কন্ডিশনাল স্টেটমেন্ট একত্রে ব্যবহার করে প্যাটার্ন তৈরি বা মাল্টি-লেভেল শর্ত চেক করা যায়।
for (int i = 1; i <= 5; i++) {
for (int j = 1; j <= i; j++) {
if (i % 2 == 0) {
System.out.print("* ");
} else {
System.out.print("# ");
}
}
System.out.println();
}
এই উদাহরণে:
forলুপ নেস্টেড লুপ হিসেবে ব্যবহৃত হয়েছে।- প্রতিটি পুনরাবৃত্তিতে
if-elseকন্ডিশন চেক করে সংখ্যাiজোড় কিনা। - আউটপুট প্যাটার্ন হবে:
#
* *
# # #
* * * *
# # # # #
উপসংহার
নেস্টেড লুপ এবং নেস্টেড কন্ডিশনাল স্টেটমেন্ট ব্যবহার করে প্রোগ্রামে জটিল কার্যপ্রবাহ তৈরি করা সম্ভব। নেস্টেড লুপ পুনরাবৃত্তিমূলক কাজ সম্পাদন সহজ করে, আর নেস্টেড কন্ডিশনাল স্টেটমেন্ট দিয়ে একাধিক স্তরের শর্ত যাচাই করা যায়। এই দুটি কৌশল ব্যবহার করে মাল্টি-লেভেল ডেটা প্রক্রিয়াকরণ, প্যাটার্ন তৈরি, এবং জটিল শর্ত চেক করা সম্ভব।
Read more