else if স্টেটমেন্ট

else if এর বাংলা অর্থ হলঃ ‘অথবা যদি’। ‘অথবা যদি’ এই শব্দটিতে একটি নির্ভরশীলতা আছে।আরও পরিস্কারভাবে বলি;মনে করুন আপনি বলেলন- অথবা যদি নৌকা না থাকে তাহলে আমরা ছাদে বসে গল্প করব। এই কথাটি শুনার পরে আমার প্রশ্ন হবেঃ যদি দিয়ে কি শর্তটা দেওয়া ছিল। এখন আপনি যদি, ‘যদি’ দিয়ে যেই শর্তটা ছিল সেটি উল্লেখ করে নিচের মত বলেন, যদি নৌকা থাকে তাহলে আমরা নৌকা ভ্রমনে বের হব। অথবা যদি নৌকা না থাকে তাহলে আমরা ছাদে বসে গল্প করব। এখন আপনার কথাটি শুনার পর আমার আর কিছু জানার থাকবেনা এবং আপনার কথাটি অসম্পূর্নও মনে হবেনা।একটি ব্যপার লক্ষ্য করুন,অথবা যদি দিয়ে শর্তটি ব্যবহার করার আগে যদি দিয়ে শর্তটি ব্যবহার করতে হয়।ঠিক একইভাবে else if এর আগে অবশ্যই if থাকবে।আরও একটি ব্যপার লক্ষ্য করুন, আপনার কথা অনুযায়ী নৌকা থাকলে আপনি ছাদে বসে গল্প করবেন না। অর্থাৎ ‘যদি’শর্তটির অধীনে যেই কাজটি আছে সেই কাজটি করতে পারলে ‘অথবা যদি’ শর্তের অধীনে থাকা কাজটি হবেনা। ঠিক একইভাবে প্রোগ্রামিংএ if এর ভিতরে যেই শর্ত আছে সেটি সত্য হলে if এর নিচের statement এক্সিকিউট হবে else if এর নিচের statement এক্সিকিউট হবেনা।আর যদি if এর ভেতেরর শর্তটা মিথ্যা হয় তাহলে else if এর ভেতরের শর্তটা যাচাই করবে এবং else if এর ভেতরের শর্তটা সত্য হলে else if এর ভেতরের statement এক্সিকিউট করবে। if – else if লিখার সিনটেক্সটা হলঃ
উদাহরনঃ
এখানে a এর মান রাখা হয়েছে 10.তাই if এর ভেতরের শর্ত a>20 মিথ্যা।ফলে if এর অধীনে থাকা
লাইনটি এক্সিকিউট হবেনা। আবার else if এর ভেতরের শর্ত a<0 একটিও মিথ্যা, তাই else if এর অধীণে থাকা
লাইনটিও এক্সিকিউট হবেনা। অর্থাৎ উপরের প্রোগ্রামটি রান করলে আপনি কোন লেখা আউটপুটে দেখতে পাবেন না।if অথবা else if এর যেকোন একটি শর্ত পরিবর্তন করে দেন যেন শর্তটি সত্য হয় এবং পুনরায় রান করে দেখুন। আমি নিচের মত করে দিলামঃ

Code Example

OUTPUT

inside if

এখানে a এর মান 10 হওয়ায় a>0 শর্তটি সত্য।তাই inside if লেখাটি আউটপুটে দেখতে পারেন। if এর ভেতরের কোন শর্ত সত্যি হলে, else if টা যাচাই করবেনা। কথাটির প্রমান স্বরুপ নিচের প্রোগ্রামটি রান করুনঃ

Code Example

OUTPUT

inside if

লক্ষ্য করুন, a>0 শর্তটি সত্য।তাই if (a>0) এর ভেতরের a= -10 ; printf(“inside if”); লাইন দুইটি এক্সিকিউট করবে।প্রথম লাইনের মাধ্যমে a এর মান হয়ে যাবে -10 এবংদ্বিতীয় লাইনের মাধ্যমে inside if লেখাটা ভেসে উঠবে। এখন যদি else if এর ভেতরের শর্তটাও যাচাই করে তাহলে a নতুন মানের জন্য a<0 সত্য।কারন -10<0 সত্য। তাই inside else if লাইনটিও প্রিন্ট হওয়া উচিত ছিল। অর্থাৎ আউটপুট আসা উচিৎ ছিলঃ inside if inside else if. যেহেতু আউটপুট এসেছে inside if তাই এই প্রোগ্রামটি প্রমান করে যে,if এর শর্তটি সত্য হলে else if এর শর্তটি আর যাচাই করা হয় না।