Home Featured শিক্ষাপাতা Conditions (if, else if, else) -নাদিম নওশাদ

Conditions (if, else if, else) -নাদিম নওশাদ

আসসালামু আলাইকুম বন্ধুরা। কেমন আছো সবাই? আশা করি অনেক অনেক ভালো আছো। আমাদের জীবনের সকল পরিস্থিতিতেই আল্লাহর শুকরিয়া আদায় করা উচিত। মনে রাখতে হবে, আমাদের খারাপ সময়ে আল্লাহ দেখেন শত দুঃখ কষ্টের মাঝেও আমরা তাকে মনে রেখেছি কি না। আর ভালো সময়ে আমরা তাকে ভুলে যাই কি না সেটা পরীক্ষা করেন। তাই সবসময় আল্লাহকে খুশি রাখতে তার শুকরিয়া আদায় করা উচিত।
গত পর্বে আমরা কীভাবে দুইটা variable compare করা যায় সে সম্পর্কে পড়াশোনা করেছিলাম। variable compare করার জন্য আমরা সাধারণত দুই ধরনের operator ব্যবহার করে থাকি। একটি হলো Comparison operator আর একটি হলো Logical operator| Comparison operator হচ্ছে সেই সকল operator যেগুলো দুইটি variable compare করতে ব্যবহার করা হয়। আর Logical operator হচ্ছে সেই সমস্ত operator যেগুলো সাধারণত ব্যবহার করা হয় variables এর মধ্যে Logical relation বের করতে।
আজকে আমরা শিখবো variable compare করার জন্য আমরা কীভাবে বিভিন্ন condition ব্যবহার করতে পারি। condition শব্দ শুনে তো বুঝতেই পারছো; এটা দিয়ে কিছু শর্ত দেওয়া হবে কোডের ওপর। মানে আমাদের ভাষায় কিছু যদি, কিন্তু যোগ করবো। একটা উদাহরণের মাধ্যমে আরও সহজে চিন্তা করা যাক। মনে করো সালাম ও জব্বার দুই ভাই। সালামের বয়স ২০ আর জব্বারের বয়স ১৮। এখন তোমাকে বলতে হবে এদের মধ্যে বড়ো কে? নিশ্চই তুমি বলবে সালাম বড়ো। কিন্তু কথা হচ্ছে তুমি কীভাবে বের করলে সালাম বড়ো। ঘাবড়ানোর কিছু নেই, বলছি। আসলে তোমার কাছে দুটো variable আছে। একটি হলো সালাম আর একটা হলো জব্বার। আর সালাম ও জব্বারের value হচ্ছে তাদের বয়স। এখন তাহলে বিষয়টা এমন, সালাম = ২০ আর জব্বার = ১৮। সালাম মানে x ও জব্বার মানে y ধরলে,x=২০, y = ১৮ এরপর তুমি x, y compare করলে। যদি x বড়ো হয় তাহলে সালাম বড়ো আর y বড়ো হলে জব্বার বড়ো। এই “যদি” কেই programming এ condition বলে। C++ এ আমরা if, else if আর else ব্যবহার করে থাকি condition এর জন্য।

কোনো একটা comparative operation true হলে আমরা if condition ব্যবহার করি। ওপরের উদাহরণের ক্ষেত্রে আমরা if condition ব্যবহার করতে পারি। এর জন্য কোডটা হবে,
if (x > y) { সালাম = বড়ো; }
আর যদি if condition true না হয় তাহলে আমরা else codition ব্যবহার করি। উদাহরণের ক্ষেত্রে যদি x > y না হয় তাহলে কোড হবে,
else{জব্বার = বড়ো; }

মনে রাখতে হবে, if condition এ comparator ব্যবহার করলেও else এ কোনো শর্ত ব্যবহার করা হয় না। আরও সহজ করে বলতে গেলে, if এর মধ্যে যে condition থাকবে তা ছাড়া অন্য সব কিছুর জন্য else condition কাজ করবে। মানে, যদি x বড়ো হয় ( if ) হয় তাহলে সালাম বড়ো। আর x বড়ো না হয় (else) তাহলে x ছাড়া বাকি সবাই বড়ো। এখানে x ছাড়া শুধুমাত্র y আছে। তাই else true হলে জব্বার বড়ো হবে।

তোমাদের মনে নিশ্চই প্রশ্ন আসতে পারে, যদি আমার একটার বেশি conditon থাকে তাহলে কী করবো? তার জন্য তুমি বারবার if condition দিয়ে check করে নিতে পারো তোমার শর্ত পূরণ হচ্ছে কি না। আচ্ছা, আরো সহজে বোঝা যাক। ওপরের উদাহরণের ক্ষেত্রে মনে করো সালামের আরও একটা ভাই আছে রফিক নামে যার বয়স ১২ বছর। রফিক= z মনে করো। এখন তুমি দেখতে চাচ্ছো রফিক ও সালাম জব্বারের থেকে বড়ো কি না। তাহলে তোমাকে দুইটা condition ব্যবহার করতে হবে।

if ( x > z ) // condition: Salam is elder than Rafiq
{ cout<< Ó Rafiq is not elder than salam ; }
else{ cout<<ÓRafiq is elder than salam;}
if ( y > z ) // condition: Zabbar is elder than Rafiq
{ cout<<ÓRafiq is not elder than Zabbar; }
else { cout<<ÓRafiq is elder than ZabbarÓ; }

একটু খেয়াল করো। এখানে আমরা আলাদা আলাদা check করেছি রফিক জব্বার ও সালাম দু’জন থেকেই বড়ো কি না? তখন কিন্তু একটা condition আরেকটার সাথে সম্পর্কিত। যদি কখনো এমন হয় একটা condition আরেকটা condition এর সাথে সম্পর্কযুক্ত ও if condition false হয়েছে। তখন আমরা else if ব্যবহার করি। এক্ষেত্রে তাই আমরা else if ব্যবহার করবো। কোডটা হলো :

if ( x > z ) // condition: Salam is elder than Rafiq
{ cout<<ÓRafiq is not elder than Salam”; }
else if (y > z ) // condition: Zabbar is elder than Rafiq
{ cout<<ÓRafiq is not elder than Zabbar”; }
else { cout<<“Rafiq is elder than Salam and Zabbar”; }

এখানে সালাম বা জব্বারের যেকোনো একজনও যদি রফিক থেকে বড়ো হয় তাহলে রফিক আর বড়ো থাকবে না। তাই এখানে আমরা বষংব রভ ব্যবহার করেছি ।

তোমাদের মনে কি এই প্রশ্ন এসেছে যে, যদি এমন ১০টা condition থাকে তাহলে ১০ বার if লিখতে হবে কি না ? বা এমন কোনো পদ্ধতি আছে কি না যার মাধ্যমে খুব সহজেই বেশি condition handle  করা যাবে? যদি প্রশ্ন এসে থাকে তাহলে খুবই ভালো। ভাবতে থাকো। পরবর্তী পর্বে আমরা এ বিষয়ে আলোচনা করবো ইনশাআল্লাহ।

SHARE

Leave a Reply