কম্পিউটার

জাভাস্ক্রিপ্টে স্ট্যাক ব্যবহার করে উপসর্গ ক্যালকুলেটর


আমাদের জাভাস্ক্রিপ্টে স্ট্যাক ব্যবহার করে RPN (রিভার্স পলিশ নোটেশন) ইনপুট পদ্ধতি দিয়ে একটি ক্যালকুলেটর তৈরি করতে হবে।

নিম্নলিখিত ইনপুট অ্যারে −

বিবেচনা করুন
const arr = [1, 5, '+', 6, 3, '-', '/', 7, '*'];

প্রক্রিয়া -

  • 1 হল একটি অপারেন্ড, পুশ টু স্ট্যাক।

  • 5 হল একটি অপারেন্ড, পুশ টু স্ট্যাক।

  • '+' হল একটি অপারেটর, পপ 1 এবং 5, তাদের গণনা করুন এবং ফলাফলকে স্ট্যাকের দিকে ঠেলে দিন।

  • 6 হল একটি অপারেন্ড, পুশ টু স্ট্যাক।

  • 3 হল একটি অপারেন্ড, পুশ টু স্ট্যাক।

  • '−' হল একটি অপারেটর, পপ 6 এবং 3, তাদের বিয়োগ করুন এবং ফলাফলকে স্ট্যাকের দিকে ঠেলে দিন।

  • '/' হল একটি অপারেটর, পপ 6 এবং 3, তাদের বিভক্ত করে ফলাফলকে স্ট্যাকের দিকে ঠেলে দেয়।

  • 7 হল একটি অপারেন্ড, পুশ টু স্ট্যাক।

  • '*' হল একটি অপারেটর, পপ 2 এবং 7, তাদের গুন করুন এবং ফলাফলকে স্ট্যাকের দিকে ঠেলে দিন।

এবং অবশেষে, আউটপুট হওয়া উচিত −

const output = 14;

উদাহরণ

এর জন্য কোড হবে −

const arr = [1, 5, '+', 6, 3, '−', '/', 7, '*'];
const stackCalculator = (arr = []) => {
   const options = {
      '+': (a, b) => a + b,
      '−': (a, b) => a - b,
      '*': (a, b) => a * b,
      '/': (a, b) => a / b
   };
   const stack = [];
   arr.forEach(value => {
      stack.push(value in options
      ? options[value](...stack.splice(-2))
      : value
      );
   });
   return stack;
};
console.log(stackCalculator(arr));

আউটপুট

এবং কনসোলে আউটপুট হবে −

[14]

  1. জাভাস্ক্রিপ্ট ব্যবহার করে একটি লিঙ্ক তালিকা তৈরি করা

  2. ফায়ারবাগ ব্যবহার করে জাভাস্ক্রিপ্ট ডিবাগ করা

  3. জাভাস্ক্রিপ্ট আমদানিতে '{ }' ব্যবহার করছেন?

  4. জাভাস্ক্রিপ্টে স্ট্যাকের বাস্তবায়ন