স্কিপ করে মূল কন্টেন্ট এ যান

যদি বিবৃতি

পরিচিতি

এই বিভাগে, আমরা Wave ভাষায় প্রদত্ত নিয়ন্ত্রণ বিবৃতি গুলির মধ্যে IF বিবৃতির বাগ্ ও ব্যবহারের পদ্ধতি সম্পর্কে আলোচনা করব। IF বিবৃতি একটি মৌলিক নিয়ন্ত্রণ গঠন যা শর্তগুলি মূল্যায়ন করে এবং শুধুমাত্র সেই শর্তগুলি সত্য হলে নির্দিষ্ট কোড ব্লকগুলি সম্পাদন করে।

এর মাধ্যমে প্রোগ্রামটি শুধুমাত্র উপর থেকে নীচে চলে না, বরং পরিস্থিতি এবং শর্তের উপর ভিত্তি করে বিভিন্ন কার্যকরী পদক্ষেপ নিতে পারে। IF বিবৃতি প্রায় সমস্ত প্রোগ্রামের মূল উপাদান হিসেবে বিবেচিত হয় এবং এটি যৌক্তিক বিভাজন এবং প্রবাহ নিয়ন্ত্রণে আবশ্যিকভাবে ব্যবহৃত হয়।

মৌলিক কাঠামো

IF বিবৃতি প্রথমে শর্ত মূল্যায়ন করে এবং তার ফলাফল সত্য হলে কেবলমাত্র কোড ব্লক {} এর ভিতরে সম্পাদিত হয়। যদি শর্তটি মিথ্যা হয়, তাহলে এটি সেই কোড ব্লকটি উপেক্ষা করে এবং পরবর্তী কোডে চলে যায়।

Wave-এ IF বিবৃতির মৌলিক গঠন নিম্নরূপ।

if (condition) {
// শর্ত সত্য হলে কার্যকর করা কোড
}

শর্তে তুলনা অপারেটর এবং লজিক্যাল অপারেটর স্বাধীনভাবে ব্যবহার করা যাবে। উদাহরণস্বরূপ, ==, !=, <, >, <=, >= এর মত তুলনা অপারেটরগুলো সংখ্যা পরস্পরের সম্পর্ক তুলনা করতে পারে, অথবা &&, ||, ! মত লজিক্যাল অপারেটরগুলো বিভিন্ন শর্ত মিলিয়ে প্রয়োগ করা যায়।

শর্তের ফলাফল অবশ্যই সত্য অথবা মিথ্যা হতে হবে, এবং শর্ত মিথ্যা হলে IF ব্লকের ভেতরের কোন কোড কার্যকর হবে না।

উদাহরণ

নিচে IF বিবৃতির সহজতম উদাহরণ দেওয়া হলো।

var temperature :i32 = 30;

if (temperature > 25) {
println("আবহাওয়া গরম।");
}

উপরের কোডে temperature ভ্যারিয়েবলের মান ২৫-এর চেয়ে বড় কিনা তা পরীক্ষা করা হয়েছে। শর্ত সত্য হলে "আবহাওয়া গরম।" বার্তা আউটপুট হয়, এবং শর্ত মিথ্যে হলে কোনো ক্রিয়া সম্পাদিত হয় না।

এইভাবে, IF স্টেটমেন্ট সেই পরিস্থিতিতে ব্যবহৃত হয় যখন নির্দিষ্ট শর্ত পূরণ হলে কোড সম্পাদনার ইচ্ছা থাকে।

IF-ELSE বিবৃতি

যদি শর্ত সত্য না হলেও কোড চালানো প্রয়োজন হয় তবে IF বিবৃতিতে ELSE অংশ যোগ করা যায়। IF-ELSE বিবৃতি হল এমন কাঠামো যা শর্তের ফলাফলের উপর ভিত্তি করে দুটি কোড ব্লকের মধ্যে একটি নির্দিষ্টভাবে সম্পাদন করে।

মৌলিক গঠন নিম্নরূপ।

if (condition) {
// শর্ত সত্য হলে কার্যকর করা কোড
} else {
// শর্ত মিথ্যা হলে কোড কার্যকর করা হবে
}

শর্ত সত্য হলে IF ব্লক কার্যকর হয়, শর্ত মিথ্যা হলে ELSE ব্লক কার্যকর হয়। দুটি ব্লকের মধ্যে শুধুমাত্র একটিই চালানো হয়, এবং কোনো সময় উভয় একসঙ্গে প্রকৃত হয় না।

নীচে IF-ELSE বিবৃতির একটি উদাহরণ দেওয়া হলো।

var score :i32 = 70;

if (score >= 60) {
println("আপনি পাস করেছেন!");
} else {
println("এটা ব্যর্থ হয়েছে।");
}

এই কোডে স্কোর ৬০ বা এর বেশি কি না তা অনুযায়ী বিভিন্ন বার্তা আউটপুট হয়। শর্ত সত্য হলে "পাস করেছে!" আউটপুট হবে, আর এতে না হয় তবে "অপাস করেছে।" আউটপুট হবে।

নেস্টেড IF বিবৃতি

IF বিবৃতি অন্যান্য IF বিবৃতির অভ্যন্তরেও ব্যবহার করা যেতে পারে, এটিকে বলা হয় নেস্টেড IF বিবৃতি। নেস্টেড IF বিবৃতিগুলো ব্যবহৃত হয় যাতে বিভিন্ন স্তরের শর্ত ক্রমানুসারে মূল্যায়ন করতে হয়।

নিম্নলিখিত উদাহরণে স্কোর অনুযায়ী বিভিন্ন ফলাফল প্রদর্শনে নেস্টেড IF বিবৃতির ব্যবহারের উদাহরণ দিয়েছে।

var score :i32 = 85;

if (score >= 60) {
if (score >= 90) {
println("চমৎকার গ্রেড!");
} else {
println("আমি পাস করেছি।");
}
} else {
println("এটা ব্যর্থ হয়েছে।");
}

এই কোডে প্রথমে পরীক্ষা করেছে স্কোর ৬০ বা এর বেশি কি না। স্কোর ৬০ এর নীচে হলে "অসম্পূর্ণ।" বার্তা আউটপুট হয়। ৬০ বা তার বেশি হলে একবার আরো শর্ত মূল্যায়ন করে ৯০ বা তার বেশি হলে "চমৎকার ফলাফল!" প্রদর্শন করে, না হলে "পাস করেছে।" প্রদর্শন করে।

এরকমভাবে নেস্টেড IF ব্যবহার করলে ধাপে ধাপে জটিল শর্ত বিভাজন প্রকাশ করা যায়।

সারাংশ

IF বিবৃতি একটি মৌলিক নিয়ন্ত্রণ স্টেটমেন্ট হিসেবে শর্ত মূল্যায়ন করে প্রোগ্রামের কার্যপ্রবাহ নিয়ন্ত্রণ করে। ELSE অংশ সঙ্গী করে দাঁড়ায় শর্ত মিথ্যা হলে কী ক্রিয়া হবে তা স্পষ্টভাবে নির্ধারণ করা যায়, তাছাড়া নেস্টেড IF-র মাধ্যমে একাধিক শর্ত মিলিয়ে জটিল বিভাজন মার্কানো যায়।

যথাযথভাবে IF বিবৃতি ব্যবহার করলে প্রোগ্রামের প্রবাহ আরো যুক্তিযুক্ত এবং স্পষ্টভাবে সাজানো যায়।