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

  • জাভাস্ক্রিপ্ট পরিচিতি-Introduction to JavaScript
  • প্রোগ্রামিং শুরু করতে কতটুকু গণিত লাগে?
  • প্রোগ্রামিং শুরু করতে কতটুকু ইংরেজি জানা লাগে?
  • ভালো প্রোগ্রামার কিভাবে হবো? [+৭টি গুরুত্বপূর্ণ টিপস]
  • উচ্চতার উষ্ণতা
  • লিপি আপার লিপ ইয়ার
  • বিজোড় সংখ্যার আজিব গড়
  • যমজ বিরিয়ানি
  • অদলবদল ভোম্বল

অদলবদল ভোম্বল


গ্রামের মানুষের কাছে মনে হয়, শহর ভালো। তারা গ্রাম ছেড়ে শহরে যেতে চায়। অন্যদিকে শহরের মানুষদের কাছে মনে হয়, গ্রাম ভালো। তারা শহর ছেড়ে গ্রামে যেতে চায়। একইভাবে ধনী মানুষ— গরিবের মতো স্বাধীন হতে চায়। গরিব মানুষেরা ধনীদের মতো বিত্তশালী হতে চায়। এমনকি সিঙ্গেল পোলাপান প্রেম করতে চায়। আর যারা প্রেম করে, তারা সিঙ্গেল হতে চায়। 


সবাই যার যার জায়গা থেকে অদলবদল হতে চায়। সেই অদলবদলের চক্করে তোর কাছে দুইটা ভেরিয়েবল আছে। যেমন:

  let a = 5;
  let b = 7;


এইখানে a চায় b-এর মান পেতে। আবার b চায় a-এর মান পেতে। অর্থাৎ তাদের মান অদল-বদল হতে চায়। অর্থাৎ a-এর মান 5 না হয়ে 7 হবে, আবার অপরদিকে b-এর মান 7 না হয়ে 5 হবে।


এখন তুই যদি চিন্তা করিছ– আমি এর পরের লাইনে a = b করে দিলেই আমার কাজ হয়ে যাবে, তা কিন্তু না। কারণ a = b করার মাধ্যমে a = 7 হচ্ছে ঠিকই। তারপর b = a দিলে, a-এর মান যেহেতু 7 আছে, তাই b-এর মানও 7 থাকবে।


  let a = 5;
  let b = 7;
  console.log(a, b);

  a = b;
  b = a;
  console.log(a, b);

Output:
5 7  
7 7


তাহলে এক্ষেত্রে কী করা দরকার?

এই জিনিসটা সমাধান করার জন্য অনেক টেকনিক আছে, তার মধ্যে একটা টেকনিক হচ্ছে temp টেকনিক বা টেম্পোরারি ভেরিয়েবল টেকনিক। অর্থাৎ আমরা আরও একটি ভেরিয়েবল ডিক্লার করব, যেটার নাম দিব temp এবং এই temp ভেরিয়েবলে প্রথমেই আমরা আমাদের a ভেরিয়েবলের মান অ্যাসাইন করে দিব, অর্থাৎ temp = a লিখে। 


তাহলে আমাদের a-এর মান এখন temp-এর মধ্যে রয়েছে। এর পরবর্তীতে আমরা আমাদের সেই আগের কাজটা করতে পারি a = b, এটা করার মাধ্যমে এখন a-এর মান আপডেট হয়ে 7 হয়ে যাবে। আর a-এর আগের মান যেহেতু temp-এ সেট করা আছে, তাই সর্বশেষ b = temp করে দিব। এর মাধ্যমে b-এর মধ্যে আমাদের পূর্ববর্তী a-এর মান চলে আসবে।


  let a = 5;
  let b = 7;
  console.log(a, b);

  const temp = a;
  a = b;
  b = temp;
  console.log(a, b);

Output:
5 7  
7 5


জিনিসটা তুই নিজে নিজে visualize করার চেষ্টা কর, তাহলে অনেক বেশি ক্লিয়ার হবে বলে আমি মনে করি।


আরও অনেকভাবে তুই দুইটা ভেরিয়েবলের মান এক্সচেইঞ্জ করতে পারবি। আমি তো জাস্ট একটা সিস্টেম দেখালাম।


Previous PageNext Chapter