রাশি ক্যালকুলেটর
জীবন+ − × ÷ % ^ এবং বন্ধনী সহ পাটিগণিত রাশির নিরাপদ মূল্যায়ন। eval ছাড়া, কোনো কোড সম্পাদন ছাড়া।
এই পৃষ্ঠায়
এই ক্যালকুলেটরটি কী?#
এটি একটি সাধারণ পাটিগণিত ক্যালকুলেটর যা আপনি টেক্সট হিসেবে টাইপ করা একটি গাণিতিক রাশি — (12 * 1.08) + 7 বা 2^10 % 256 — মূল্যায়ন করে এবং আপনাকে সংখ্যাটি দেয়। ঠুকতুকু করার কোনো ফাংশন বোতাম নেই; আপনি সম্পূর্ণ রাশিটি লেখেন এবং একটি কী চাপেন।
গুরুত্বপূর্ণ অংশটি হলো এটি কীভাবে তৈরি। ওয়েবে বেশিরভাগ দ্রুত ক্যালকুলেটর আপনার স্ট্রিংটিকে JavaScript-এর eval()-এ হস্তান্তর করে প্রতারণা করে, যা যেকোনো কোড চালায় — একটি খেলনার জন্য ঠিক, কিন্তু কেউ কিছু চালাকি পেস্ট করলেই কুৎসিত। এটি তা করে না: এটি একটি হাতে লেখা রিকার্সিভ-ডিসেন্ট পার্সার চালায় যা শুধুমাত্র সংখ্যা, বন্ধনী, এবং অপারেটর + - * / % ^ গ্রহণ করে। সেই গ্রামারের বাইরের যেকোনো কিছু সঙ্গে সঙ্গে প্রত্যাখ্যান করা হয়। ফলাফল হলো একটি ক্যালকুলেটর যা সত্যিই কোড চালাতে পারে না, যা ঠিক কারণে এতে পেস্ট করা নিরাপদ।
যেভাবে ব্যবহার করবেন#
- আপনার রাশিটি ইনপুট বাক্সে টাইপ করুন। শূন্যস্থান উপেক্ষা করা হয়, তাই
1+2এবং1 + 2একই। - অপারেটর: চারটি প্রাথমিকের জন্য
+-*/, মডুলোর জন্য (ভাগশেষ)%, পাওয়ার জন্য^। বন্ধনী()গ্রুপ করে। ইউনারি মাইনাস কাজ করে, তাই-5 + 3হলো-2। - দশমিক এবং বৈজ্ঞানিক নোটেশন ঠিক আছে:
0.5,1e3(যা ১০০০),2.5e-2। - মূল্যায়ন ক্লিক করুন (বা Enter চাপুন)। ফলাফল লাইনটি সংখ্যাটি দেখায়, বা একটি ইনলাইন বার্তা যা সমস্যাটির নাম করে —
শূন্য দিয়ে ভাগ,অপ্রত্যাশিত অক্ষর,বন্ধনী অসমতালিত, ইত্যাদি — যাতে আপনি কী ভুল হয়েছে তা অনুমান করার বদলে রাশিটি ঠিক করতে পারেন। - বাইনারি ফ্লোটিং-পয়েন্ট ধুলো স্বয়ংক্রিয়ভাবে পরিষ্কার করা হয়, তাই
0.1 + 0.2দেখায়0.3,0.30000000000000004নয়।
প্রধান বৈশিষ্ট্য#
- কোনো
evalনেই, কোনোnew Functionনেই, কোনো শনাক্তকারী নেই। শুধুমাত্র সংখ্যা এবং সাতটি অপারেটর অক্ষর গ্রহণ করা হয় — একটি সম্পূর্ণ সীমাবদ্ধ গ্রামার, ইচ্ছাকৃত কোড সম্পাদন নয়। - সঠিক অপারেটর অগ্রাধিকার (PEMDAS): বন্ধনী, তারপর
^, তারপর* / %, তারপর+ -। - ডান-সম্বন্ধী পাওয়ার।
2^3^2গণিতবিদরা যেভাবে লেখেন সেভাবে মূল্যায়ন করে (কার্যকর উদাহরণ দেখুন)। - বৈজ্ঞানিক নোটেশন (
6.022e23) এবং মডুলো (17 % 5) বাস্তব ব্যাক-অফ-এনভেলপ কাজের জন্য। - বন্ধুত্বপূর্ণ, নির্দিষ্ট ত্রুটি যা ব্যর্থতার নাম করে (ভাগ-শূন্য, কর্তিত রাশি, খারাপ সংখ্যা) ত্রুটিস্থান সহ, একটি নীরব
NaN-এর বদলে।
বিস্তারিত উদাহরণ#
তিনটি রাশি যা প্রতিটি একটি ভিন্ন আচরণ দেখায়। সেগুলো একই সময়ে একটি করে পেস্ট করুন।
অপারেটর অগ্রাধিকার এবং গ্রুপিং।
(1 + 2) * 3 ^ 2
ফলাফল: 27। বন্ধনীগুলো প্রথমে 1 + 2 = 3 করতে বাধ্য করে; তারপর 3 ^ 2 গুণের আগে মূল্যায়ন করা হয় (পাওয়ার *-এর চেয়ে শক্তভাবে বাঁধে), 9 দেয়; অবশেষে 3 * 9 = 27। বন্ধনী ছাড়া, 1 + 2 * 3 ^ 2 হতো 1 + 18 = 19।
ডান-সম্বন্ধী পাওয়ার।
2 ^ 3 ^ 2
ফলাফল: 512, 64 নয়। পাওয়ার ডানদিকে সম্পর্কিত, তাই এটি 2 ^ (3 ^ 2) = 2 ^ 9 = 512। আপনি যদি সত্যিই (2 ^ 3) ^ 2 = 64 চান, বন্ধনীগুলো লিখুন।
বাইনারি ধুলো অপসারিত।
0.1 + 0.2
ফলাফল: 0.3। কাঁচা বাইনারি ফ্লোটিং-পয়েন্ট যোগফল 0.30000000000000004; ফরম্যাটারটি এটিকে গুরুত্বপূর্ণ অঙ্কের একটি বুদ্ধিমানের সংখ্যায় ফিরিয়ে আনে যাতে উত্তরটি একজন মানুষ যা আশা করে তেমনভাবে পড়া যায়।
সাধারণ জিজ্ঞাসা#
আমি কেন sin, log, sqrt, বা pi ব্যবহার করতে পারি না?#
কারণ সেগুলো শনাক্তকারী, এবং শনাক্তকারীদের ইচ্ছাকৃতভাবে গ্রামারের অংশ করা হয়নি। প্রতিটি নাম একটি অপ্রত্যাশিত অক্ষর হিসেবে প্রত্যাখ্যান করা হয় — সেটিই লাইন যা ক্যালকুলেটরটিকে কখনো কোড সম্পাদন করা থেকে বিরত রাখে। আপনার যদি sqrt(16) প্রয়োজন, এটিকে 16 ^ 0.5 হিসেবে পুনরায় লিখুন; log এবং sin-এর জন্য, একটি সায়েন্টিফিক ক্যালকুলেটর ব্যবহার করুন।
2^3^2 কি ৫১২ নাকি ৬৪ দেয়?#
512। ^ অপারেটরটি ডান-সম্বন্ধী, গণিতে এবং বেশিরভাগ প্রোগ্রামিং ভাষার পাওয়ার অপারেটরে ব্যবহৃত রীতির সাথে মিলে যায়। 2^3^2 পার্স হয় 2^(3^2) হিসেবে। 64 পেতে, (2^3)^2 লিখুন।
এখানে % অপারেটর কী করছে?#
এটি মডুলো — পূর্ণসংখ্যা ভাগের পর ভাগশেষ — “শতাংশ” নয়। 17 % 5 হলো 2, কারণ ১৭ কে ৫ দিয়ে ভাগ করলে ভাগশেষ ২। এটি কার্যকর “এই সংখ্যাটি জোড় কিনা?” (n % 2), মানগুলোকে একটি পরিসরে মোড়ানো, বা ঘড়ির পাটিগণিতের জন্য। এর * এবং /-এর মতো একই অগ্রাধিকার আছে।
আমার রাশিটি কি একটি সার্ভারে পাঠানো হয়?#
না। পার্সিং এবং মূল্যায়ন সম্পূর্ণভাবে আপনার ব্রাউজারে একটি হাতে লেখা পার্সার দিয়ে ঘটে — কোনো ব্যাকএন্ড নেই, এবং ইনপুটটি কখনো পৃষ্ঠা ছাড়ে না।