Condition: নো কনফিউশন

দুষ্ট পোলাপান সুষ্ঠ বিনোদন না খুঁজে ক্রাশের ফোন নাম্বার খোঁজে।
— ভালো কথা মনে করছস, তোর কাছে সাফার নাম্বার আছে না। আমাকে দে।
দিব, যদি তুই আমাকে স্পেশাল একটা ট্রিট দেস।
— ট্রিট একটা না। তোকে ডাবল ট্রিট দিব। একটা তো ফোন নাম্বারের জন্য, আরেকটা দিব জাভাস্ক্রিপ্ট মজায় মজায় শেখানোর জন্য।
আচ্ছা, ডাবল ট্রিট দিবি যেহেতু প্রমিজ করছস, তাই তোকে একটা মজার জিনিস বলে দেই। আমি একটু আগে বলছিলাম— ‘যদি আমাকে খাওয়াস, তাহলে আমি তোকে ফোন নাম্বার দিব।’ ইংরেজিতে বললে এটি হবে:
If you buy food for me
I will give you the phone number
একইভাবে তুই দোকানে গিয়ে বলতে পারিস— যদি বিরিয়ানির দাম 300 টাকার কম হয়, তাহলে আমি বিরিয়ানি খাব। এইটাকে ইংরেজিতে বললে বলা যায়:
If biriyani price is less than 300 tk
I will buy biryani
প্রোগ্রামিংয়ের ক্ষেত্রে এই ধরনের শর্তগুলো একটা নির্দিষ্ট কাঠামো, স্টাইল বা ফরম্যাটে লেখা হয়। যেমন, জাভাস্ক্রিপ্টে শর্ত লেখার স্টাইল হলো:
if (condition) {
// code to be executed if the condition is true
}এই স্টাইলে শর্ত (condition) অবশ্যই থাকবে এবং শর্তটি যদি সত্য হয়, তাহলে শর্তের পরে সেকেন্ড ব্র্যাকেটের { } ভেতরের কোড কাজ করবে। শর্ত সত্য না হলে সেকেন্ড ব্র্যাকেটের ভিতরের কোডের কাছে যাবে না। একটি উদাহরণ দেখ:
if (3 < 10) {
console.log("I am small. I do not bite.");
}
Output: I am small. I do not bite.এখানে 3, 10 থেকে ছোট, তাই শর্ত সত্য হবে আর আউটপুটে দেখাবে "I am small. I do not bite."
এখন, যদি শর্তটি চেইঞ্জ করে দিই, যেমন 13 < 10, তাহলে কি আউটপুট আসবে?
if (13 < 10) {
console.log("Smaller but stronger.");
}
Output: এখানে আউটপুট আসবে না। কারণ, 13, 10 থেকে বড়, ছোট নয়। অর্থাৎ শর্তটি মিথ্যা, তাই আউটপুটে কিছু দেখাবে না।
মেইন কাহিনি: if-এর পরে থাকা শর্তটি যদি সত্য হয়, তবে { }-এর ভিতরে থাকা কোড কার্যকর হবে। সত্য না হলে, যাবে না।
বুঝার সুবিধার্থে প্রথমে শর্তের ভিতরে দুইটা সংখ্যা বা ডাইরেক্ট মান নিয়ে কম্পেয়ার করছিলাম। পরের শর্তের ভিতরে একটা ভেরিয়েবলের সাথে মান বা ভ্যালুর কম্পেয়ার কর। যেমন:
const biriyaniPrice = 500;
if (biriyaniPrice < 300) {
console.log("Mama, give me some biriyani");
}
Output:এখন যদি এই কোডটি রান করা হয়, আউটপুটে কিছুই দেখাবে না। কারণ, শর্তটি সত্য নয়। কিন্তু যদি বিরিয়ানির দাম শর্তটি পূরণ করত, তাহলে আউটপুটে "Mama, give me some biriyani" দেখাত।
মানলে আছি, না মানলেও আছি
এতক্ষণ পর্যন্ত কাহিনি ছিল শর্ত সত্য হলে কিছু একটা হবে। অন্যদিকে শর্ত সত্য না হলে কী হবে, সেটা নিয়ে কিছু বলে নাই। এইবার দুই সাইডেই খেলা হবে। অর্থাৎ শর্ত মানলে কিছু একটা হবে। আবার শর্ত না মানলে বা শর্ত মিথ্যা হলে অন্য কিছু হবে। এই টাইপের বিষয়।
এক্ষেত্রে কোড স্ট্রাকচার দেখতে নিচের মতো হবে। অর্থাৎ যদি শর্ত সত্য হয়, তাহলে if-এর পর ব্র্যাকেটের { } ভিতরে যা কিছু থাকবে, তা কার্যকর হবে। আর যদি শর্তটি মিথ্যা হয়, তবে else-এর পরে ব্র্যাকেটের { } ভিতরে যা কিছু থাকবে, তা কার্যকর হবে।
if (condition) {
// execute code if the condition is true
} else {
// execute code if the condition is false
}ধর, যদি বাইরে বৃষ্টি হয়, তাহলে সে আর আমি গাছের নিচে দাঁড়িয়ে বৃষ্টি পড়ার রোমান্টিক দৃশ্য দেখব (জাস্ট ফ্রেন্ড হিসেবে)। আর যদি বৃষ্টি না হয়, তাহলে সেও দাঁড়াবে না। আমারও একসাথে বৃষ্টি দেখা হবে না।
এমন একটা বিষয়। এইটার জন্য কোড করবি কীভাবে?
const rainingOutside = true;
if (rainingOutside == true) {
console.log("You and me– under the tree");
} else {
console.log("No rain, no romance.");
}
Output: You and me– under the treeআরেকটা উদাহরণ দেই। ধর, যদি কোনো বস্তুর ওজন 20 কেজির বেশি হয়, তাহলে আমি রিকশা ভাড়া করব। আর যদি ওজন 20 কেজির কম হয়, তাহলে আমি সেই বস্তুকে নিজে কাঁধে করে নিয়ে যাব। এর জন্য কোডটি হবে:
const weight = 40;
if (weight > 20) {
console.log("Rickshaw mama cholo jai.");
} else {
console.log("Walking is Exercising.");
}
Output: Rickshaw mama cholo jai.এগুলা এখন হালকা একটু বেখাপ্পা লাগলেও কয়দিন পরে বুঝবি, এই বিষয়গুলো খুবই সহজ। যদি কোনো শর্ত সত্য হয়, তখন একধরনের কাজ হবে। আর যদি শর্তটি মিথ্যা হয়, তখন অন্য ধরনের কাজ হবে।
JavaScript Condition Practice:
- তোর আম্মু বলছে, 6টার আগে বাসায় ফিরলে তোকে নাস্তা খাওয়াবে। আর দেরি করলে ঝাড়ুর বাড়ি দিবে। এই শর্তের জন্য কোড কর।
- একটা মোবাইল অ্যাপে যদি লগইন সফল হয়, তাহলে "Welcome!" দেখাবে। যদি ব্যর্থ হয়, "Get Lost!" দেখাবে। এই শর্তের জন্য প্রোগ্রাম লিখ।
- তুই যদি 5 কি. মি. দৌড়াস, তাহলে তোকে চকলেট খেতে দিবে। যদি না দৌড়াস, তাহলে তোর মোটা ভুঁড়ি হবে। এই শর্তের জন্য প্রোগ্রাম লিখ।
- ধর, তোর বাবা বলেছে, যদি তুই পরীক্ষায় 80-এর বেশি পেয়ে পাস করিস, তাহলে তোকে বাইক কিনে দিবে। কিন্তু যদি কম হয়, তাহলে বাইক দিবে না। একটা প্রোগ্রাম লিখে দেখ, তুই বাইক পাবি কি না, যদি তোর নম্বর 85 হয়।
- যদি মুভির শো রাত 9টার আগে হয়, তাহলে তুই মুভি দেখবি। যদি পরে হয়, তাহলে বাসায় গিয়ে নাকে তেল দিয়ে ঘুমাবি। এর জন্য প্রোগ্রাম লিখ।
- তাপমাত্রা 30 ডিগ্রি বা তার বেশি হয়, তাহলে এয়ার কন্ডিশনার চালাবি। আর কম হলে কম্বল মুড়ি দিয়েই ঘুমাবি। এর জন্য কোড লিখ।