ماشینحساب علمی: توان، ریشه، لگاریتم و مثلثات
ماشینحساب علمی آنلاین با قابلیت محاسبه توان، ریشه، لگاریتم و ln، سینوس، کسینوس و تانژانت در درجه یا رادیان، فاکتوریل، درصد و حافظه.
Scientific Calculator
Evaluates a typed or tapped expression with the usual order of operations, including powers, roots, logarithms, trigonometry and factorials.
Keypad
How this calculator reads an expression
History
No calculations yet. Press = to add one.
مستندات
ماشینحساب علمی
ماشینحساب علمی مقدار یک عبارت ریاضی نوشتهشده را محاسبه میکند. این ماشینحساب توانها، ریشهها، لگاریتمها، مثلثات، فاکتوریلها و درصدها را میخواند، ترتیب استاندارد عملیات را به کار میگیرد و یک پاسخ گزارش میکند.
کاری که ماشینحساب انجام میدهد
عبارت در کادر Expression وارد میشود یا با صفحهکلید ساخته میشود. ماشینحساب بهمحض تغییر عبارت آن را میخواند، بنابراین برای دیدن پاسخ نیازی به کلید مساوی نیست. کلید = در عوض محاسبه را به فهرست تاریخچه اضافه میکند.
موارد پذیرفتهشده عبارتاند از:
- رقمها، ممیز و اعداد بهصورت نمایی، مانند
1.5e-3؛ - عملگرهای
+،-،*،/و^(توان)، بهعلاوهٔ پرانتزها؛ - ثابتهای
piوe؛ - تابعهای
sin،cos،tan،asin،acos،atan،log،ln،sqrtوcbrt؛ - نشانههای پسوندی
!(فاکتوریل) و%(درصد).
نمادهای صفحهکلید به معادلهای سادهٔ خود تبدیل میشوند؛ بنابراین ×، ÷، − و π همان معنای *، /، - و pi را دارند.
log لگاریتم در پایهٔ ۱۰ است و ln لگاریتم طبیعی، در پایهٔ e، است. این همان نامگذاری بهکاررفته در ماشینحسابهای علمی TI و Casio و نیز در کتابخانهٔ دیجیتال توابع ریاضی NIST، بخش ۴٫۲، است.
ترتیب عملیات
قاعدهای که معنای یک عبارت را تعیین میکند، ترتیب عملیات است. این ماشینحساب قواعد دستوری زیر را به کار میبرد. هر خط به خط زیر خود اشاره میکند؛ بنابراین تودرتویی جدول تقدم را تشکیل میدهد: خط آخر بیشترین تقدم را دارد و نخست محاسبه میشود.
1expression := term (('+' | '-') term)*
2term := unary (('*' | '/' | juxtaposition) unary)*
3unary := ('-' | '+') unary | power
4power := postfix ('^' unary)?
5postfix := primary ('!' | '%')*
6primary := number | constant | name '(' expression ')' | '(' expression ')'
7بهصورت فهرست، از عملی که زودتر تا عملی که دیرتر محاسبه میشود:
- هر چیزی که داخل پرانتز باشد، و تابعی که بر پرانتز اعمال شود؛
!و%؛^؛- علامت ابتدایی
-یا+؛ *،/و دو چیزی که کنار هم نوشته شوند؛+و-.
قراردادهای حاصل با استاندارد ISO ۸۰۰۰۰-۲:۲۰۱۹ و مقالهٔ «ترتیب عملیات» در ویکیپدیا مطابقت دارند:
| نوشتهشده | بهصورت زیر خوانده میشود | مقدار |
|---|---|---|
2^3^2 | 2^(3^2) | ۵۱۲ |
-2^2 | -(2^2) | -۴ |
2^-2 | 2^(-2) | ۰٫۲۵ |
2^3! | 2^(3!) | ۶۴ |
100+10% | 100 + (10/100) | ۱۰۰٫۱ |
1/2pi | (1/2) * pi | ۱٫۵۷۰۷۹۶۳۲۶۷۹ |
6/2(1+2) | (6/2) * (1+2) | ۹ |
دو عدد یا نام که کنار هم نوشته شوند، ضرب میشوند؛ به همین دلیل 2pi، 2(3+4) و 3sin(30) کار میکنند. این ضرب پنهان همانند * و / تقدم دارد؛ بنابراین ضرب ضمنی و تقسیم از چپ به راست خوانده میشوند. بسیاری از ماشینحسابهای علمی دستی، ضرب ضمنی را مقدم بر تقسیم در نظر میگیرند و 1/2pi را 1/(2*pi) میخوانند که پاسخ متفاوتی دارد. ویکیپدیا این اختلاف را در مقالهٔ «روشهای ورود عبارت در ماشینحساب» توضیح میدهد. هرجا این تفاوت اهمیت داشته باشد، پرانتزها ابهام را برطرف میکنند.
% هرجا قرار بگیرد، بر ۱۰۰ تقسیم میکند. بنابراین 20% برابر ۰٫۲ و 200*15% برابر ۳۰ است. این کلید، کلید «درصدی از مجموع جاری» صندوق فروشگاه نیست و عملگر باقیمانده نیز نیست.
مثال حلشده
عبارت sin(30)+2^3*ln(4) در حالت درجه، به ترتیب زیر محاسبه میشود:
sin(30)برابر ۰٫۵ است، زیرا ۳۰ درجه نصف زاویهٔ قائمه است و سینوس آن یکدوم است.2^3برابر ۸ است. توانها پیش از ضرب محاسبه میشوند.ln(4)برابر ۱٫۳۸۶۲۹۴۳۶۱۱۲ است.8 * 1.38629436112برابر ۱۱٫۰۹۰۳۵۴۸۸۹ است.0.5 + 11.090354889برابر ۱۱٫۵۹۰۳۵۴۸۸۹ است.
ماشینحساب مقدار ۱۱٫۵۹۰۳۵۴۸۸۹ را نشان میدهد.
مثال دوم قاعدهٔ چپبهراست را نشان میدهد. در 6/2(1+2)، ابتدا عبارت داخل پرانتز محاسبه میشود و 6/2*3 به دست میآید. تقسیم و ضرب پنهان تقدم یکسانی دارند، پس تقسیم اول انجام میشود: 6/2 برابر ۳ است و 3*3 برابر ۹.
درجه و رادیان
تنظیم واحد زاویه تعیین میکند که sin، cos و tan ورودی خود را چگونه بخوانند و asin، acos و atan چه واحدی را برگردانند. در حالت درجه، یک دور کامل برابر ۳۶۰ است. در حالت رادیان، یک دور کامل برابر 2pi، یعنی تقریباً ۶٫۲۸۳۱۸۵۳۰۷۱۸، است. یک عبارت یکسان میتواند در این دو حالت پاسخهای بسیار متفاوتی بدهد: sin(30) در حالت درجه ۰٫۵ و در حالت رادیان -۰٫۹۸۸۰۳۱۶۲۴۰۹۳ است.
نحوهٔ ذخیره و نمایش اعداد
هر مقدار یک عدد دودویی ۶۴بیتی با دقت مضاعف IEEE ۷۵۴ است؛ این نوع عدد در ECMA-262، مشخصات زبان ECMAScript، بخش 6.1.6.1 توصیف شده است. یک عدد با دقت مضاعف حدود ۱۵ تا ۱۷ رقم اعشاری را در خود نگه میدارد. پاسخ فقط برای نمایش روی صفحه، یکبار و با ۱۲ رقم معنادار گرد میشود. مقادیر کمتر از ۰٫۰۰۰۰۰۱ یا برابر با ۱٬۰۰۰٬۰۰۰٬۰۰۰٬۰۰۰ و بیشتر، به صورت نمایی نمایش داده میشوند؛ بنابراین 0.0000001 به صورت 1E-7 خوانده میشود.
عدد ذخیرهشده دقت کامل خود را حفظ میکند. حافظه نتیجهٔ دقیق را ذخیره میکند، نه ۱۲ رقم نمایشدادهشده روی صفحه را؛ و MR کوتاهترین متنی را که همان عدد را تولید میکند دوباره درج میکند. مقدار منفی حافظه داخل پرانتز درج میشود؛ بنابراین اگر پس از یک 2 فراخوانی شود، بهصورت ضرب خوانده میشود، نه تفریق.
گرد کردن هرگز برای تصمیمگیری به کار نمیرود. مقدار بسیار اندکی که از محاسبات قبلی باقی میماند، یک عدد حقیقی است و مانند عدد حقیقی با آن رفتار میشود. 0.1*3-0.3 در دودویی صفر نیست؛ تقریباً برابر ۵٫۵۵۱۱۱۵۱۲۳۱۳E-17 است، بنابراین 5/(0.1*3-0.3) بهجای پیام تقسیم بر صفر، مقدار ۹٫۰۰۷۱۹۹۲۵۴۷۴E16 را میدهد.
به همین دلیل sin(180) در حالت درجه مقدار ۱٫۲۲۴۶۴۶۷۹۹۱۵E-16 را نشان میدهد، نه ۰ را. خطای آن حدود یک در ده میلیون میلیارد است و این خطا همچنان در همین حدود کوچک باقی میماند. تانژانت استثناست و در ادامه به آن پرداخته میشود.
چیزهایی که محاسبهگر نمیپذیرد
ماشینحساب در موارد زیر بهجای پاسخ پیام نشان میدهد:
- مخرج دقیقاً صفر باشد، از جمله عدد نوشتهشدهای که برای یک عدد از نوع double بیش از حد کوچک باشد، مانند
1e-400که پس از خواندن، از پیش صفر است؛ - به
sqrtعددی منفی داده شود؛ - به
logیاlnعددی داده شود که بزرگتر از صفر نباشد؛ - به
asinیاacosعددی خارج از بازهٔ -۱ تا ۱ داده شود؛ دامنهٔ تعریفی که در بخش ۴٫۱۴ از NIST DLMF ارائه شده است؛ - از
tanدر ۹۰ درجه یا هر مضرب فردی از آن استفاده شود؛ جایی که تعریف نشده است؛ - فاکتوریلِ چیزی غیر از یک عدد صحیح از ۰ تا ۱۷۰ درخواست شود؛
- عدد دارای ممیز دومی باشد، مانند
1.2.3؛ - طول عبارت بیشتر از ۵۱۲ نویسه باشد.
محدودیت ۱۷۰ ویژگی نوع عدد است، نه یک انتخاب دلخواه: فاکتوریل ۱۷۰ تقریباً برابر با ۷٫۲۵۷۴۱۵۶۱۵۳۱E306 است و هنوز در قالب یک عدد از نوع double جا میگیرد، اما فاکتوریل ۱۷۱ چنین نیست. محدودیت ۵۱۲ نویسه در کد بررسی میشود، زیرا طول عبارت تعیین میکند ماشینحساب چه مقدار کار انجام دهد.
در بررسی تانژانت، زاویه پیش از آزمون تا ۹ رقم اعشار گرد میشود. این کار انحراف حاصل از محاسبات قبلی را دوباره به مجانب دقیق میرساند، اما در هر طرف پنجرهای برای ردکردن، با عرض تقریبی 5e-10 درجه ایجاد میکند. tan(89.9999999994) مقدار ۹۵٬۴۹۳٬۵۹۲٬۰۲۵ را برمیگرداند، اما tan(89.9999999995) رد میشود. حالت رادیان چنین بررسیای ندارد، زیرا مقدار رادیانی واردشده در نزدیکی نصف پی فقط عددی معمولی است و وضعیت ویژهای ندارد.
سؤالات رایج
کلید % در اینجا چه کاری انجام میدهد؟
هرجا ظاهر شود، بر ۱۰۰ تقسیم میکند. 100+10% برابر ۱۰۰٫۱ است، زیرا معنای آن ۱۰۰ بهعلاوهٔ ۰٫۱ است. این کلید درصدی از هرآنچه پیش از آن آمده است محاسبه نمیکند.
آیا 2^3^2 برابر ۶۴ است یا ۵۱۲؟
512. توانها از راست گروهبندی میشوند؛ بنابراین معنای آن 2^(3^2) است که برابر 2^9 میشود. این قاعده از ISO ۸۰۰۰۰-۲:۲۰۱۹ پیروی میکند.
چرا 6/2(1+2) برابر ۹ است، نه ۱؟
ضرب پنهان با تقسیم تقدم یکسانی دارد و عملیات با تقدم یکسان از چپ به راست خوانده میشوند. ماشینحسابهایی که برای کنارهمنویسی تقدم بیشتری در نظر میگیرند، پاسخ ۱ میدهند. پرانتزها ابهام را برطرف میکنند.
چرا sin(180) مقدار ۰ را نشان نمیدهد؟
زیرا ۱۸۰ درجه ابتدا به رادیان تبدیل میشود و پی را نمیتوان در دودویی دقیقاً نوشت. پاسخ تقریباً برابر با 1.2e-16 است؛ این مقدار واقعی سینوس عددی است که ماشین واقعاً استفاده کرده است.
تفاوت log و ln چیست؟
log در پایهٔ ۱۰ است، بنابراین log(1000) برابر ۳ است. ln در پایهٔ e است، بنابراین ln(e) برابر ۱ است. برچسبهای صفحهکلید از همان قرارداد ماشینحسابهای علمی TI و Casio پیروی میکنند.
چرا فاکتوریل بزرگتر از ۱۷۰ رد میشود؟ فاکتوریل ۱۷۱ از هر عددی که یک دابل بتواند نگه دارد بزرگتر است؛ بنابراین پاسخ بهجای عدد، بینهایت خواهد بود. ماشینحساب بهجای نمایش نتیجهای بیمعنا، این موضوع را اعلام میکند.
منابع
- IEEE ۷۵۴-۲۰۱۹، استاندارد IEEE برای محاسبات ممیزشناور.
- استاندارد ECMA-262، مشخصات زبان ECMAScript، بخش 6.1.6.1، «نوع Number».
- ISO ۸۰۰۰۰-۲:۲۰۱۹، کمیتها و واحدها، بخش ۲: نشانهها و نمادهای ریاضی.
- کتابخانهٔ دیجیتال توابع ریاضی NIST، بخشهای ۴٫۲ و ۴٫۱۴.
- ویکیپدیا، «ترتیب عملیات».
- ویکیپدیا، «روشهای ورود عبارت در ماشینحساب».