জাভাস্ক্রিপ্ট টিউটোরিয়াল-শিখুন গল্পে গল্পে সাথে 1100+ Exercise

  • জাভাস্ক্রিপ্ট পরিচিতি-Introduction to JavaScript
  • প্রোগ্রামিং শুরু করতে কতটুকু গণিত লাগে?
  • প্রোগ্রামিং শুরু করতে কতটুকু ইংরেজি জানা লাগে?
  • ভালো প্রোগ্রামার কিভাবে হবো? [+৭টি গুরুত্বপূর্ণ টিপস]
  • Condition: নো কনফিউশন
  • ছাত্র যখন পাত্র
  • ডিসকাউন্ট খেকো else-if
  • স্যারের বাঁশ বাসায় ঠাস
  • লজিক্যাল নট (!) ফিজিক্যালি হট

ডিসকাউন্ট খেকো else-if


Uploaded Image


বেশির ভাগ বাঙালি দোকানে গিয়ে পণ্য খোঁজে না, ডিসকাউন্ট খোঁজে। যাই কেনে, বলে, ডিসকাউন্ট দেন। 100 টাকা ডিসকাউন্ট চাইলে যদি না পায়, তাহলে 50 টাকা হলেও ডিসকাউন্ট দিতে বলে। সেটাও না পাইলে দোকানদারকে বলে অন্তত ফ্রি ফ্রি পিঠটা একটু চুলকিয়ে দেন। 


এখন সেই নাছোড়বান্দা ডিসকাউন্ট খেকো কাস্টমারের জন্য দোকানদার আগে থেকে জিনিসপত্রের দাম বাড়িয়ে তারপর সেই বাড়তি দামের ওপরে ডিসকাউন্ট দেয়। মাঝেমধ্যে অফার দেয়— 5000 টাকার বেশি কেনাকাটা করলে 10% ডিসকাউন্ট দেওয়া হবে। আর 5000 টাকার কম কেনাকাটা করলে কোনো ডিসকাউন্ট দিবে না। অর্থাৎ যে 5000 টাকার কম কেনাকাটা করবে, তাকে ফুল টাকাই দিতে হবে। এখন একটা হিসাব কর, যেখানে কেউ 5000 টাকার বেশি কেনাকাটা করলে 10% ডিসকাউন্টের পর তাকে কত টাকা দিতে হবে।


পার্সেন্টের হিসাব তো জানিস? আমি যদি বলি, 60 টাকার 10% কত। সেটার হিসাব কীভাবে করবি? তখন 60 টাকাকে 100 দিয়ে ভাগ করবি, আর যত পার্সেন্ট বের করবি, সেই পার্সেন্ট দিয়ে গুণ করবি।


অর্থাৎ 60 টাকার 10% হবে 


(60/100)*10 = 6


এইবার পার্সেন্টেজের হিসাব বুঝলে পুরা কোড তেমন কোনো ব্যাপারই না।

  const price = 6500;
  if (price >= 5000) {
    const discount = price / 100 * 10;
    const pay = price - discount;
    console.log(pay);
  }else {
    console.log(price);
  }

Output: 5850


ওপরের কোডে দেখ, if-এর পরে চেক করতেছে, price ভেরিয়েবলের মান 5000-এর বেশি কি না। যদি বেশি হয়, তাহলে শর্ত সত্য হবে এবং কোড if-এর ভিতরে যাবে। তারপর if-এর ভিতরে দেখবি discount নামে একটা ভেরিয়েবল আছে। সেটার মান হচ্ছে price / 100 * 10। এইটা দিয়ে আসলে ডিসকাউন্টের হিসাব করা হচ্ছে।


ডিসকাউন্ট কত, সেটা বের করে চুপচাপ বসে থাকলে কিন্তু হবে না; বরং ডিসকাউন্টের মান যত হলো, সেটা মোট দাম থেকে বাদ দিতে হবে। বিয়োগ করতে হবে। সে জন্য দেখ, তারপরের লাইনে যত টাকা কাস্টমারকে দিতে হবে, সেটাকে pay ভেরিয়েবলের মধ্যে রাখতেছে। আর সেটার মান ডানপাশে দেয়া আছে, price-discount অর্থাৎ price থেকে ডিসকাউন্ট বিয়োগ করে দেয়া হচ্ছে।


আর শেষের লাইনে আউটপুট দেখার জন্য pay-কে console log করা হয়েছে। এই কোড তিনবার পড়, দেখ। প্র্যাকটিস কর, তাহলে বুঝতে পারবি।


আরও একটি শর্ত যোগ কর। 


কিছু বাদাইম্মা আছে। যতই বলিস, 5000 টাকার বেশি কিনলে ডিসকাউন্ট। তারপরেও সে যদি তিন-চার হাজার টাকার জিনিস কেনার পর ডিসকাউন্ট দেন, ডিসকাউন্ট দেন বলে বলে ঘ্যানর ঘ্যানর করে। এইসব ঘ্যানর ঘ্যানর মানুষদের জন্য দোকানদার ঠিক করল— 5000 টাকার বেশি কেউ কিনলে তাকে তো 10% ডিসকাউন্ট দিবে। আর কেউ যদি 5000 টাকার কম, তবে 2500 টাকার বেশি জিনিস কিনে, তাহলে 5% ডিসকাউন্ট দিবে। এইটার জন্য কোড কীভাবে লিখবি?


  const price = 4000;
  if (price >= 5000) {
    const discount = price / 100 * 10;
    const pay = price - discount;
    console.log(pay);
  } else if (price >= 2500) {
    const discount = price / 100 *5;
    const pay = price - discount;
    console.log(pay);
  } else {
    console.log(price);
  }

Output: 3800


প্রথমে if-এর পরে যেটা আছে, সেটা আগের মতোই। সো, সেটা বুঝতে তেমন সমস্যা হবে না। এরপরে দেখ, else if-এর পরে একটা শর্ত আছে price >= 2500 হিসেবে। এইখানে শুধু চেক করতেছে 2500 টাকার সমান বা বেশি দাম কি না।


এখন তুই বলতে পারিস— ভাই, তুই না বলছিলি 5000 টাকার কম, আর 2500 টাকার বেশি হলে তারপর 5% ডিসকাউন্ট হবে। এখন দেখি 2500-এর বেশি হলেই 5% ডিসকাউন্ট দিয়ে দিচ্ছিস। তাহলে 5000-এর কম, সেটা কেন চেক করতেছিস না।


এইটার উত্তর হচ্ছে— দেখ, কোড সব সময় ওপর থেকে নিচের দিকে যাবে। সেজন্য প্রথমেই if-এর পরে যেহেতু 5000-এর বেশি কি না চেক করতেছে। যদি কেউ 5000-এর বেশি জিনিস কিনে, সে অটোমেটিক if-এর ভিতরে চলে যাবে। আর প্রথমেই if-এর ভিতরে চলে গেলে সে কখনোই নিচের else if বা else-এর ভিতরে যাবে না।


if-else অনেকটা চৌরাস্তার মোড়ের মতো। তুই গেলে যেকোনো একটা রাস্তা দিয়ে যাবি। দুনিয়ার কোনো মানুষ একসাথে দুই রাস্তা দিয়ে যেতে পারবে না। একইভাবে if-else-এর মধ্যে যেকোনো একটা রাস্তায় যাবে। 


সেজন্যই if-else-এর মধ্যে কোড যেকোনো একটা এক্সিকিউট হবে। if-এ গেলে else-এ যাবে না। আবার else-এ গেলে if-এ যাবে না। একইভাবে if-else, if-else এইগুলার মধ্যেও যেকোনো একটা একটার মধ্যে যাবে। সো, if-এর ভিতরে গেলে অন্য কোনোটার ভিতরে যাবে না।


আর কেউ যদি 5000-এর বেশি না কিনে, তাহলে 5000-এর ভিতরে যাবে না। তখন নিচে নেমে যাবে। চেক করবে, সেটা 2500-এর বেশি কি না। যদি সত্য হয়, অর্থাৎ 2500-এর বেশি হয়, তাহলে সে else if-এর ভিতরে চলে যাবে। আর যদি 2500-এর কম হয়, else-if এর ভিতরে যাবে না। তখন সেটা else-এর ভিতরে চলে যাবে।


আর else if-এর ভিতরের কোড কিন্তু almost if-এর ভিতরের মতোই। একটু কষ্ট করে পড়, বুঝে ফেলবি।


এখন কেউ যদি 4000 টাকার কেনাকাটা করে, তাহলে সে 5% ডিসকাউন্ট পাবে এবং পেমেন্ট করতে হবে 3800 টাকা।


কিন্তু যদি 2000 টাকার জিনিস কেনা হয়, তাহলে তাকে পুরো টাকাটাই দিতে হবে।


JavaScript else-if Condition Practice:

  1. তুই নিজের দোকান খুলছিস। তোর দোকানে কেউ 3000 টাকার বেশি কেনাকাটা করলে 5% ডিসকাউন্ট, আর 6000 টাকার বেশি কেনাকাটা করলে 15% ডিসকাউন্ট দিবি। যদি এক বন্ধু এসে 4500 টাকার জিনিস কিনে, তবে তাকে কত টাকা দিতে হবে?
  2. তুই একটি রেস্টুরেন্ট চালাচ্ছোস, যেখানে 12 বছরের নিচে বাচ্চাদের ফ্রি খাওয়ানো হয় এবং 60 বছরের ওপরের মানুষকে 50% ডিসকাউন্ট দেওয়া হয়, বাকিদের পুরা টাকা দিতে হয়।
  3. যদি কারো ব্যাংক একাউন্টে ব্যালেন্স 1000 টাকার কম হয়, তাহলে বলবি, "ডিপোজিট কর।" 1000 থেকে 5000-এর মধ্যে হলে বলবি, "বিন্দাস লাইফ এনজয় কর।" আর 5000-এর বেশি হলে বলবি, "তুই ধনী, আমাকে বিয়া কর।"
  4. একটা পরীক্ষায় যদি কোনো ছাত্রের মার্কস 50-এর কম হলে বলবি "Fail", 50 থেকে 80-এর মধ্যে হলে বলবি "Pass", আর 80-এর বেশি হলে বলবি "A+"।
  5. কোনো বইয়ের পৃষ্ঠাসংখ্যা 100-এর কম হলে বলবি "Small book", 100 থেকে 500-এর মধ্যে হলে বলবি "Mid-size book", আর 500-এর বেশি হলে বলবি "heart-attack size book"।
  6. একটা প্রোগ্রাম লিখ। যা চেক করবে, তাপমাত্রা 0 ডিগ্রির কম হলে বলবে "Ice", 0 থেকে 20-এর মধ্যে হলে বলবে "Cool Cool", আর 20-এর বেশি হলে বলবে "Hot Hot"।
  7. তোর একটা গেমিং অ্যাপ আছে। প্লেয়ারের লেভেল 10-এর কম হলে বলবি "novice", 10 থেকে 50-এর মধ্যে হলে বলবি "Expert", আর 50-এর বেশি হলে বলবি "Pro Gamer"।


Previous PageNext Page