QALC(1) General Commands Manual QALC(1)

qalc - ماشین‌حساب قدرتمند خط فرمانی با استفادهٔ آسان

qalc [options] [expression]

نرم‌افزار Qalculate! یک ماشین‌حساب رومیزی چندمنظوره و چندسکویی است. استفاده از آن ساده است اما قدرت و انعطاف‌پذیری‌ای را فراهم می‌کند که معمولاً مختص بسته‌های ریاضی پیچیده است؛ علاوه بر این، ابزارهای مفیدی را برای نیازهای روزمره (مانند تبدیل ارز و محاسبات درصد) در اختیار می‌گذارد. قابلیت‌های آن شامل کتابخانهٔ بزرگی از توابع قابل‌سفارشی‌سازی، محاسبات و تبدیل یکاها، ثابت‌های فیزیکی، محاسبات نمادین (شامل انتگرال‌ها و معادلات)، دقت دلخواه، انتشار عدم قطعیت، حساب بازه‌ای، رسم نمودار و یک رابط کاربری کاربرپسند است. qalc رابط خط فرمانی Qalculate! است.

تنظیم مبنای عددی برای نتایج و به‌صورت اختیاری برای عبارت‌ها
استفاده از رنگ‌ها و قالب‌بندی برای برجسته‌سازی بخش‌های مختلف عبارت‌ها و نتایج
بارگذاری تنظیمات پیش‌فرض
به‌روزرسانی نرخ‌های ارز
اجرای دستورها از یک فایل در ابتدا
نمایش فهرستی از گزینه‌های خط فرمان و خروج
شروع در حالت تعاملی
نمایش فهرستی از تمام متغیرها، توابع، یکاها و پیشوندهای منطبق یا تعریف‌شده توسط کاربر، و خروج
نمایش فهرستی از تمام توابع یا توابع منطبق و خروج
نمایش فهرستی از تمام پیشوندها یا پیشوندهای منطبق و خروج
نمایش فهرستی از تمام یکاها یا یکاهای منطبق و خروج
نمایش فهرستی از تمام متغیرها یا متغیرهای منطبق و خروج
پایان دادن به محاسبه و نمایش نتیجه پس از مدت زمان مشخص‌شده
هیچ‌یک از توابع، یکاها یا متغیرها از فایل بارگذاری نشوند
هیچ‌یک از ارزهای سراسری از فایل بارگذاری نشوند
هیچ‌یک از مجموعه‌های دادهٔ سراسری از فایل بارگذاری نشوند
هیچ‌یک از توابع سراسری از فایل بارگذاری نشوند
هیچ‌یک از یکاهای سراسری از فایل بارگذاری نشوند
هیچ‌یک از متغیرهای سراسری از فایل بارگذاری نشوند
شروع در حالت برنامه‌نویسی (مشابه با -b "base base" -s "xor^"، با تبدیل مبنا)
همانند دستور set در نشست تعاملی برنامه (مانند: --set "base 16")
محدود کردن خروجی تنها به نتیجهٔ عبارت ورودی
-/+u8
روشن یا خاموش کردن پشتیبانی از یونیکد (Unicode)
نمایش نسخهٔ برنامه و خروج

در صورتی که هیچ عبارت یا فایلی مشخص نشده باشد (یا حالت تعاملی صریحاً انتخاب شده باشد)، برنامه در حالت تعاملی آغاز به کار خواهد کرد.

معادل set approximation try exact.
تنظیم فرضیات پیش‌فرض برای متغیرهای ناشناخته (unknown، non-zero، positive، negative، non-positive، non-negative + number، real، rational، integer، boolean).
تنظیم مبنای عددی نتیجه (معادل set base).
پاک کردن صفحهٔ نمایش.
clear history
پاک کردن تاریخچهٔ عبارت‌ها.
حذف متغیر یا تابع تعریف‌شده توسط کاربر با نام مشخص‌شده.
مثال: delete var1.
معادل set approximation exact.
بسط دادن نتیجهٔ فعلی.
بارگیری نرخ‌های فعلی ارز از اینترنت.
تجزیهٔ نتیجهٔ فعلی به عوامل (فاکتورگیری).
نمایش فهرستی از متغیرها، توابع و یکاها. با آرگومان‌های 'currencies'، 'functions'، 'variables'، 'units' یا 'prefixes' اجرا کنید تا فهرستی از تمام ارزها، توابع، متغیرها، یکاها یا پیشوندها نشان داده شود. یک عبارت جست‌وجو وارد کنید تا متغیرها، توابع، یکاها و/یا پیشوندهای منطبق پیدا شوند. اگر دستور بدون هیچ آرگومانی اجرا شود، تمام اشیاء تعریف‌شده توسط کاربر فهرست می‌شوند.
مثال: list functions.
مثال: find dinar.
مثال: find variables planck.
تابعی با نام و عبارت مشخص‌شده ایجاد می‌کند. برای آرگومان‌ها در عبارت از '\x'، '\y'، '\z'، '\a' و غیره استفاده کنید. این تابع ماندگار خواهد بود مگر اینکه دستور از فایل یا در حالت فقط نتیجه فراخوانی شده باشد.
مثال: function func1 5*\x.
فهرست کردن تاریخچهٔ عبارت‌ها.
نمایش اطلاعاتی دربارهٔ یک تابع، متغیر، یکا یا پیشوند.
مثال: info sin.
تبدیل متغیر یا تابع موقتِ تعریف‌شده توسط کاربر با نام مشخص‌شده به وضعیت غیرموقت (ماندگار).
مثال: keep var1.
عملیات حافظه (پاک کردن حافظه، ذخیره در حافظه، افزودن به حافظه، کم کردن از حافظه). بازیابی حافظه با استفاده از متغیر MR/MRC انجام می‌شود..PP
حالت فعلی را نمایش می‌دهد.
تفکیک به کسرهای جزئی را روی نتیجه فعلی اعمال می‌کند.
نتیجه فعلی را در متغیری با نام مشخص‌شده ذخیره می‌کند. همچنین می‌توانید به صورت اختیاری یک دسته‌بندی (پیش‌فرض «Temporary») و یک عنوان تعیین کنید. اگر name برابر با «mode» یا «definitions» باشد، به ترتیب حالت فعلی یا تعاریف ذخیره خواهند شد.
مثال: store var1
نتیجه قبلی را تبدیل می‌کند. معادل با استفاده از «to» در انتهای یک عبارت است. مثال: to m/s
مثال: to bin
متغیری با نام و عبارت مشخص‌شده ایجاد می‌کند. این متغیر ماندگار خواهد بود، مگر اینکه دستور از درون یک فایل یا در حالت فقط نتیجه (result only) فراخوانی شده باشد.
مثال: variable var1 pi / 2
برنامه را خاتمه می‌دهد.

دستورهای حالت RPN:

پشته و نحو نمادگذاری لهستانی معکوس (RPN) را فعال یا غیرفعال می‌کند. مقدار «syntax» فقط نحو RPN و مقدار «stack» پشته RPN را فعال می‌کند. مقادیر «on» (1) و «off» (0) هر دو را فعال/غیرفعال می‌کنند.
پشته RPN را نمایش می‌دهد.
clear stack
کل پشته RPN را پاک می‌کند.
مقداری از پشته RPN را تکثیر کرده و در بالای پشته قرار می‌دهد. اگر اندیسی مشخص نشود، بالاترین عنصر پشته تکثیر می‌شود. اندیس 1 نشان‌دهنده بالای پشته است و مقادیر منفی اندیس از پایین پشته شمرده می‌شوند.
موقعیت یک مقدار را در پشته RPN تغییر می‌دهد. اندیس 1 بالای پشته است و مقادیر منفی اندیس از پایین پشته شمرده می‌شوند.
مثال: move 2 4
بالای پشته RPN یا مقدار موجود در اندیس مشخص‌شده را حذف می‌کند. اندیس 1 بالای پشته است و مقادیر منفی اندیس از پایین پشته شمرده می‌شوند.
پشته RPN را به سمت بالا (پیش‌فرض) یا پایین می‌چرخاند.
موقعیت مقادیر را در پشته RPN با یکدیگر تعویض می‌کند. اگر هیچ اندیسی مشخص نشود، مقادیر بالای پشته (اندیس 1 و اندیس 2) تعویض می‌شوند و اگر فقط یک اندیس مشخص شود، مقدار آن اندیس با مقدار بالای پشته جابه‌جا خواهد شد. اندیس 1 بالای پشته است و مقادیر منفی اندیس از پایین پشته شمرده می‌شوند.
مثال: swap 2 4

هنگامی که خطی با «/» آغاز شود، متن بعد از آن همیشه به عنوان یک دستور تفسیر می‌شود.

فهرستی از توابع، متغیرها و واحدهایی را نشان می‌دهد که با آخرین شیء در عبارت فعلی مطابقت دارند؛ یا اگر نشانگر در ابتدای خط یا پس از یک عملگر باشد، نتیجه قبلی را درج می‌کند (یا به صورت متنِ مقدار، یا به عنوان یک متغیر موقت برای مقادیر تقریبی یا طولانی).
نتیجه فعلی را در یک متغیر موقت ذخیره می‌کند.
برنامه را خاتمه می‌دهد.
بین حالت‌های تقریب (exact، try exact، auto) جابه‌جا می‌شود.
بین حالت‌های کسر (simple، decimal، auto) جابه‌جا می‌شود.
صفحه نمایش را پاک می‌کند.

این تنظیمات با استفاده از دستور set (مانند set base 16) یا گزینه خط فرمان -s, --set (مانند qalc -s "base 16") تغییر می‌یابند. مقادیر ممکن درون پرانتز نشان داده شده‌اند. به جای on و off یا yes و no می‌توان از 1 و 0 استفاده کرد. اگر مقدار وارد نشود، عموماً مقدار 1 در نظر گرفته می‌شود. مقدار پیش‌فرض با «*» مشخص شده است.

حالت جبری:

تعیین می‌کند که آیا عبارت پس از محاسبه فاکتورگیری شود یا خیر.
تعیین می‌کند که آیا مقادیر ناشناخته غیرصفر فرض شوند یا خیر (x/x=1).
پس از اینکه مقداری غیرصفر فرض شد، پیامی را نمایش می‌دهد.
فرضیات پیش‌فرض برای متغیرهای ناشناخته.

محاسبه:

واحد زاویه پیش‌فرض برای توابع مثلثاتی.
نحوه مدیریت متغیرها و محاسبات تقریبی. در حالت exact مقادیر تقریبی محاسبه نخواهند شد.
در صورت فعال بودن، حساب بازه‌ای دقت نهایی محاسبات با توابع تقریبی و/یا اعداد گنگ را تعیین می‌کند (از نتایج نادرست ناشی از کاهش ارقام بامعنی جلوگیری می‌کند).
روش مورد استفاده برای محاسبه بازه‌ای / انتشار عدم قطعیت را تعیین می‌کند.
تعداد پیش‌فرض ارقام بامعنیِ نمایش‌یافته را مشخص کرده و دقت مورد استفاده برای محاسبات تقریبی را تعیین می‌کند.

اشیاء فعال:

نمادهای تعریف‌نشده در عبارات را به عنوان متغیرهای ناشناخته تفسیر می‌کند.
در صورت فعال بودن، ثابت‌های فیزیکی شامل واحدها نیز خواهند بود (مانند c = 299 792 458 m∕s).

گزینه‌های عمومی نمایش:

استفاده از نام‌های اختصاری برای واحدها و متغیرها.
استفاده از رنگ‌ها برای برجسته‌سازی عناصر مختلف عبارات و نتایج.
همیشه مقادیر منفی را در انتها قرار می‌دهد..PP
افزودن فاصله اضافی پیرامون عملگرها.
نمایش نویسه‌های یونیکد.
نمایش توان‌های 0-9 با استفاده از نویسه‌های بالانویس یونیکد.
افزودن خطوط خالی قبل و بعد از نتیجه.

نمایش عددی:

جداکننده اعشاری پیش‌فرض را تعیین می‌کند.
تعداد ارقام بااهمیت نمایش‌داده‌شده را مشخص می‌کند (به‌طور پیش‌فرض با دقت تعیین می‌شود).
نحوه نمایش نماد علمی را تعیین می‌کند (مانند 3E6، 3e6، یا 3 * 10^6).
نحوه نمایش اعداد گویا را تعیین می‌کند (مانند 5/4 = 1 + 1/4 = 1.25). مقدار 'long' محدودیت‌های اندازه صورت و مخرج را حذف می‌کند.
نمایش مکمل دو را برای نمایش اعداد هگزادسیمال منفی فعال می‌کند.
استفاده از 'j' (به جای 'i') به عنوان نماد پیش‌فرض برای واحد موهومی.
استفاده از حروف کوچک برای مبناهای عددی بزرگ‌تر از ۱۰.
در صورت فعال بودن، 1/6 به صورت '0.1 666...' نمایش داده می‌شود، در غیر این صورت به صورت '0.166667'.
نحوه گرد کردن اعداد تقریبی را تعیین می‌کند.
نحوه استفاده از نماد علمی را تعیین می‌کند (مانند 5 543 000 = 5.543E6). یک مقدار >= 0 حداقل توان استفاده‌شده را مشخص می‌کند. یک مقدار <= -2 ضریب مورد استفاده برای توان را مشخص می‌کند.
در صورت فعال بودن، صفرها در انتهای اعداد تقریبی حفظ می‌شوند.
نمایش مکمل دو را برای نمایش اعداد دودویی منفی فعال می‌کند.
استفاده از نمادهای ویژه برای ارقام ۱۰ و ۱۱ در اعداد با مبنای ۱۲.

تجزیه (Parsing):

استفاده از ^ به عنوان عملگر بیتی XOR.
امکان ورود عدم قطعیت با استفاده از نمادگذاری مختصر.
جداکننده اعشاری پیش‌فرض را تعیین می‌کند.
نمایش مکمل دو را برای ورودی اعداد هگزادسیمال منفی فعال می‌کند. تمام اعداد هگزادسیمال که با ۸ یا بالاتر آغاز می‌شوند منفی هستند، مگر اینکه binary bits تنظیم شده باشد.
امکان استفاده از ',' به عنوان جداکننده هزارگان را فراهم می‌کند.
امکان استفاده از '.' به عنوان جداکننده هزارگان را فراهم می‌کند.
استفاده از 'j' (به جای 'i') به عنوان نماد پیش‌فرض برای واحد موهومی.
بخش نحو (syntax) را ببینید.
در صورت فعال بودن، اعداد به عنوان مقادیر تقریبی با دقتی برابر با تعداد ارقام بااهمیت تفسیر می‌شوند (3.20 = 3.20+/-0.005).
جمع یا تفریق درصد را به عنوان افزایش یا کاهش درصدی عبارت اول تفسیر می‌کند (100 + 10% = 110).
نمایش مکمل دو را برای ورودی اعداد دودویی منفی فعال می‌کند. تمام اعداد دودویی که با ۱ آغاز می‌شوند منفی هستند، مگر اینکه binary bits تنظیم شده باشد.

واحدها (Units):

استفاده خودکار از پیشوندهای hecto، deca، deci و centi را فعال می‌کند.
تبدیل خودکار واحد نتیجه را کنترل می‌کند. مقدار 'optimalsi' همیشه واحدهای غیر SI را تبدیل می‌کند، در حالی که 'optimal' فقط به عبارت‌های واحدی با واحدها و توان‌های کمتر تبدیل می‌کند.
در صورت فعال بودن، پیشوندهای دودویی به‌طور پیش‌فرض برای واحدهای اطلاعات استفاده می‌شوند.
تبدیل خودکار به ارز محلی را در زمان فعال بودن تبدیل بهینه واحد، فعال می‌کند.
استفاده خودکار از پیشوندها را در مخرج عبارت‌های واحدی فعال می‌کند.
در صورت فعال بودن، واحدها در انتهای نتیجه از متغیرها جدا می‌شوند.
استفاده خودکار از پیشوندها را در نتیجه فعال می‌کند.
استفاده از توان‌های منفی به جای تقسیم برای واحدها در نتیجه (m/s = m*s^-1).
نحوه محاسبه عبارت‌های دارای واحدهای دما را تعیین می‌کند (در صورتی که عبارت شامل واحدهای دمای متفاوتی باشد، hybrid به صورت مطلق و در غیر این صورت به صورت نسبی عمل می‌کند)..PP

سایر موارد:

محاسبهٔ پیوسته و هم‌زمان عبارتِ در حال ویرایش را فعال می‌کند.
clear history (yes, no*)
تاریخچهٔ عبارت‌ها هنگام خروج ذخیره نمی‌شود.
عمل تکمیل خودکار را هنگام فشردن کلید tab تعیین می‌کند. مقدار «select» فهرستی شماره‌گذاری‌شده از موارد منطبق را نشان می‌دهد و منتظر می‌ماند تا با وارد کردن یک شماره، موردی انتخاب شود، در حالی که «list» بدون دریافت ورودی مستقیماً به عبارت بازمی‌گردد. مقادیر «select multiple» و «list multiple» در صورتی که فقط یک مورد منطبق وجود داشته باشد، کلمه را مستقیماً تکمیل می‌کنند.
زبان سیستم نادیده گرفته شده و از انگلیسی استفاده می‌شود (نیازمند راه‌اندازی مجدد).
حداکثر تعداد عبارت‌های نگه‌داری‌شده در تاریخچه.
پشتهٔ نشانه‌گذاری لهستانی معکوس (Reverse Polish Notation) را فعال می‌کند.
در صورت غیرفعال بودن، فایل qalc.cfg هرگز به‌طور خودکار به‌روزرسانی نمی‌شود.
ذخیره کردن توابع، واحدها و متغیرها هنگام خروج.
ذخیره کردن تنظیمات هنگام خروج.
نحوهٔ مدیریت سیگنال SIGINT (کلیدهای Ctrl+C) را تعیین می‌کند.

موجودیت‌های ریاضی:

اعداد (Numbers)
این‌ها اعداد معمولی متشکل از ارقام 0-9 و یک نماد اعشار هستند — یک نقطه، یا یک ویرگول اگر ممیز پیش‌فرض در محلی‌سازی/زبان مورد استفاده باشد. اگر از ویرگول به عنوان نماد اعشار استفاده شود، نقطه همچنان به عنوان نماد اعشار جایگزین حفظ می‌شود، مگر اینکه صریحاً غیرفعال شده باشد. اعداد شامل اعداد صحیح، اعداد حقیقی و اعداد مختلط هستند. بخش موهومی اعداد مختلط به عنوان یک عدد معمولی به همراه متغیر ویژهٔ «i» (قابل تغییر به «j») نوشته می‌شود که نشان‌دهندهٔ ریشهٔ دوم 1- است. فاصله‌ها بین ارقام نادیده گرفته می‌شوند («5 5 = 55»). حرف «E» (یا «e») می‌تواند به عنوان میانبری برای نوشتن صفرهای بسیار در نظر گرفته شود و معادل ضرب در 10 به توان مقدار سمت راست است (مانند «5E3 = 5000»). اعداد شصت‌گانی (و زمان) را می‌توان مستقیماً با استفاده از دو‌نقطه وارد کرد (مانند «5:30 = 5.5»). عددی که بلافاصله پس از «0b»، «0o»، «0d» یا «0x» بیاید، به ترتیب به عنوان عددی در مبنای 2، 8، 12 یا 16 تفسیر می‌شود (مانند «0x3f = 63»).

بازه‌ها (Intervals)
یک بازهٔ عددی را می‌توان با استفاده از تابع ()interval، تابع ()uncertainty یا با استفاده از «±» یا «+/-» وارد کرد (مانند 5±1 = uncertainty(5, 0.2) = interval(4, 6)). اگر گزینهٔ read precision فعال باشد، اعداد اعشاری به عنوان بازه‌ای بین اعدادی که معمولاً به عدد وارد شده گرد می‌شوند تفسیر می‌گردند (مانند 1.1 = 1.1±0.05). اگر محاسبهٔ بازه با استفاده از فرمول واریانس فعال باشد (پیش‌فرض)، بازه نشان‌دهندهٔ عدم قطعیت استاندارد (انحراف معیار) مقدار است.

بردارها و ماتریس‌ها (Vectors and Matrices)
ماتریس یک آرایهٔ مستطیلی دو بعدی از اشیاء ریاضی است. بردارها ماتریس‌هایی با تنها یک سطر یا ستون هستند و بنابراین دنباله‌هایی یک‌بعدی از اشیاء می‌باشند. بردارها و ماتریس‌ها توسط توابع مختلف، یا با استفاده از سینتکسی به شکل [1 2 3 4] و [1 2; 3 4] ایجاد می‌شوند که ستون‌ها با فاصله یا ویرگول و سطرها با نقطه ویرگول از هم جدا می‌شوند، یا (1, 2, 3, 4) و ((1, 2), (3, 4)). یک بردار با دنباله‌ای از اعداد را می‌توان با استفاده از «...» (مانند «1...4») یا دو‌نقطه (مانند «[1:4]»، یا «[1:1:4]» که در آن مقدار دوم گام افزایش را مشخص می‌کند) ایجاد کرد. یک عنصر منفرد از بردار را می‌توان با قرار دادن نمایه (اولین نمایه 1 است) در پرانتز پس از یک متغیر یا تابع انتخاب کرد (مانند «v(1)» یا «f[1]»).

متغیرها/ثابت‌ها (Variables/Constants)
فهرست متغیرها را در راهنمای رابط گرافیکی یا با استفاده از دستور .I list variables مشاهده کنید.

توابع (Functions)
فهرست توابع را در راهنمای رابط گرافیکی یا با استفاده از دستور .I list functions مشاهده کنید.

واحدها و پیشوندها (Units and Prefixes)
فهرست واحدها و پیشوندها را در راهنمای رابط گرافیکی یا با استفاده از دستور .I list units مشاهده کنید. اشکال اختصاری، جمع و مفردِ نام واحدها و پیشوندها عموماً مجاز هستند. پیشوندها باید بلافاصله قبل از واحد قرار گیرند تا به عنوان پیشوند تفسیر شوند (مانند 5 mm = 0.005 m، اما 5 m m = 5 m^2). برای راحتی، واحدها اجازه می‌دهند عملگر توان حذف شود (مانند 5 m2 = 5 m^2)، به استثنای ارزها.

مجهول‌ها (Unknowns)
مجهول‌ها رشته‌های متنی بدون مقدار مرتبط هستند. این‌ها متغیرهای مجهول موقتی با مفروضات پیش‌فرض هستند. مجهول‌ها را همچنین می‌توان به صورت صریح با قرار دادن یک بک‌اسلش (\) قبل از یک نویسهٔ منفرد (مانند 5\a + 2\b) یا با استفاده از علامت نقل قول قبل و بعد از یک رشتهٔ متنی (مانند 5 "apples" + 2 "bananas") وارد کرد. اگر مجهول‌ها فعال باشند، نویسه‌هایی در عبارت که هیچ متغیر، تابع یا واحد مرتبطی ندارند، به عنوان متغیر مجهول در نظر گرفته می‌شوند.

تاریخ و زمان (Date and Time)
مقادیر تاریخ/زمان با استفاده از رشته‌های متنی داخل علامت نقل قول مشخص می‌شوند (برای آرگومان‌های تابع نیازی به علامت نقل قول نیست)، و از قالب استاندارد تاریخ و زمان (YYYY-MM-DDTHH:MM:SS) استفاده می‌کنند. برخی قالب‌های محلی نیز پشتیبانی می‌شوند، اما توصیه نمی‌شوند. منطقهٔ زمانی محلی استفاده می‌شود، مگر اینکه یک منطقهٔ زمانی در انتهای رشتهٔ زمان مشخص شده باشد (Z/UTC/GMT یا +/-HH:MM). تاریخ/زمان از زیرمجموعهٔ کوچکی از عملیات حساب پشتیبانی می‌کند. هنگام افزودن به یک تاریخ یا تفریق از آن، واحدهای زمانی به جای مقادیر میانگین، زمان تقویمی را نشان می‌دهند.

متن (Text)
این دسته بیانگر تعدادی از انواع مختلف آرگومان تابع است، مانند متن‌های عادی و نام فایل‌ها. آن‌ها می‌توانند در داخل علامت نقل قول قرار گیرند، اما الزامی نیست مگر زمانی که شامل جداکنندهٔ آرگومان باشند.

توضیحات (Comments)
تمام متن‌های پس از علامت هشتگ (مانند (5*2)/2 #calculating triangle area) به عنوان توضیح در نظر گرفته می‌شوند.

عملیات و عملگرها (عملگرهای کلمه‌ای مانند AND باید با فاصله احاطه شوند):

جمع (+)

تفریق (-)

ضرب (*)

تقسیم (/)

باقیمانده (%, rem) و پیمانه (%%, mod)
باقیمانده پس از تقسیم را برمی‌گرداند.

تقسیم صحیح (//, div)
نتیجهٔ تقسیم را به سمت صفر گرد می‌کند.

به توان‌رسانی (^, **)
توجه داشته باشید که x^y^z برابر با x^(y^z) است و نه (x^y)^z. همچنین توجه داشته باشید که برای توان‌های غیرصحیح با پایه‌های منفی، ریشهٔ اصلی برگردانده می‌شود و نه ریشهٔ حقیقی ((-8)^(1/3) برابر با 1 + 1.73i است و نه 2-). برای محاسبهٔ ریشهٔ حقیقی مقادیر منفی، از توابع ()cbrt و ()root استفاده کنید.

10^x (E)

پرانتزها ((, ))

مجموع موازی (∥, ||)
مقدار معکوسِ مجموعِ مقادیر معکوس را برمی‌گرداند. || در صورت استفاده از واحدها به عنوان موازی تفسیر می‌شود، در غیر این صورت به عنوان OR منطقی.

عملگرهای منطقی (!, NOT, ||, OR, &&, AND, XOR, NOR, NAND)

عملگرهای بیتی (~, |, &, <<, >>, XOR)

عملگرهای مقایسه‌ای (=, !=, <, <=, >, >=)
اگر عبارت درست باشد 1 و اگر نادرست باشد 0 را برمی‌گرداند. اگر عبارت به عنوان درست یا نادرست ارزیابی نشود، متغیر x جدا (منفرد) می‌شود. اساساً برای معادلات و نابرابری‌ها استفاده می‌شود.

ضرب داخلی (.)

عملگرهای عنصر به عنصر (.*, ./, .^)

عملگرهای مجموعه (∪, ∩, ∖, ⊖, ∈, ∉, ∋, ∌, ⊊, ⊆, ⊋, ⊇)

عملگر ذخیره (:=, =)
عبارت سمت راست عملگر را به عنوان یک متغیر یا تابع ذخیره می‌کند (مانند var1:=5, func1():=x+y, var1=ln(5)+2). اگر دو‌نقطه حذف شود، عبارت قبل از تخصیص به متغیر محاسبه می‌شود.

ترتیب اولویت ارزیابی: پرانتز، 10^x، به توان‌رسانی، توابع، NOT بیتی، NOT منطقی، ضرب/تقسیم/باقیمانده، مجموع موازی، جمع/تفریق، NOT بیتی، تغییر مکان بیتی، مقایسه‌ها، AND بیتی، XOR بیتی، OR بیتی، AND منطقی، OR منطقی.

ارزیابی ضرب کوتاه/ضمنی بدون هیچ علامت ضرب (مانند 5x، 5(2+3))، بسته به حالت تجزیه متفاوت است. در حالت مرسوم (conventional mode) ضرب ضمنی تفاوتی با ضرب صریح ندارد (12/2(1+2) = 12/2*3 = 18، 5x/5y = 5 * x/5 * y = xy). در حالت تجزیهٔ اول ضرب ضمنی (implicit multiplication first)، ضرب ضمنی قبل از ضرب صریح تجزیه می‌شود (12/2(1+2) = 12/(2 * 3) = 2، 5x/5y = (5 * x)/(5 * y) = x/y). حالت پیش‌فرض تطبیقی (adaptive mode) مانند حالت اول ضرب ضمنی کار می‌کند، مگر اینکه فاصله پیدا شود (1/5x = 1/(5 * x)، اما 1/5 x = (1/5) * x). در حالت تطبیقی، عبارت‌های واحد به‌طور جداگانه تجزیه می‌شوند (5 m/5 m/s = (5 * m)/(5 * (m/s)) = 1 s). آرگومان‌های تابعِ بدون پرانتز یک استثنا هستند، که در آن‌ها ضرب ضمنی در جلوی متغیرها و واحدها بدون در نظر گرفتن حالت، ابتدا تجزیه می‌شود (sqrt 2x = sqrt(2x)).

در حالت زنجیره‌ای (chain mode)، عبارت‌ها از چپ به راست محاسبه می‌شوند و ترتیب استاندارد عملیات نادیده گرفته می‌شود، مانند حالت اجرای فوری در یک ماشین‌حساب سنتی (1+2*3 = (1+2)*3 = 9).

عملگر «to» برای تبدیل واحد و دستکاری نحوهٔ ارائهٔ نتیجه استفاده می‌شود. « to » یا یک فلش راست (مانند «->»، اما نه «>») را به همراه یکی از عبارت‌ها/دستورهای فهرست‌شده در زیر در انتهای یک عبارت قرار دهید.

تبدیل واحد
- یک واحد یا عبارت واحد (مانند meter یا km/h)
پیشوند ? برای درخواست پیشوند بهینه
پیشوند b? برای درخواست پیشوند دودویی بهینه
پیشوند + یا - برای اجبار/غیرفعال کردن استفاده از واحدهای ترکیبی
- یک متغیر یا ثابت فیزیکی (مانند c)
- base (تبدیل به واحدهای پایه)
- optimal (تبدیل به واحد بهینه)
- prefix (تبدیل به پیشوند بهینه)
- mixed (تبدیل به واحدهای ترکیبی، مانند ساعت + دقیقه)
تبدیل مبنای عددی
- bin, binary (نمایش به عنوان عدد دودویی)
- bin# (نمایش به عنوان عدد دودویی با تعداد بیت مشخص‌شده)
- oct, octal (نمایش به عنوان عدد در مبنای هشت)
- duo, duodecimal (نمایش به عنوان عدد در مبنای دوازده)
- hex, hexadecimal (نمایش به عنوان عدد در مبنای شانزده)
- hex# (نمایش به عنوان عدد در مبنای شانزده با تعداد بیت مشخص‌شده)
- sexa, sexa2, sexa3, sexagesimal (نمایش به عنوان عدد شصت‌گانی؛ sexa2 ثانیه‌های قوسی را پنهان می‌کند و sexa3 آن‌ها را گرد می‌کند)
- latitude, latitude2, longitude, longitude2 (نمایش به عنوان عرض/طول جغرافیایی شصت‌گانی؛ latitude2 و longitude2 ثانیه‌های قوسی را پنهان می‌کنند)
- bijective (نمایش در مبنای 26 دوسویی)
- fp16, fp32, fp64, fp80, fp128 (نمایش در قالب ممیز شناور دودویی)
- bcd (نمایش به صورت ده‌دهی با کدگذاری دودویی)
- roman (نمایش به صورت اعداد رومی)
- time (نمایش در قالب زمان)
- unicode
- base # (نمایش در مبنای عددی مشخص‌شده)
- bases (نمایش به عنوان عددی در مبناهای دودویی، هشت، ده و شانزده)
قالب اعداد مختلط
- rectangular, cartesian (نمایش اعداد مختلط در قالب دکارتی/مستطیلی)
- exponential (نمایش اعداد مختلط در قالب نمایی)
- polar (نمایش اعداد مختلط در قالب قطبی)
- cis (نمایش اعداد مختلط در قالب cis)
- angle, phasor (نمایش اعداد مختلط با نماد زاویه/فازور)
تبدیل تاریخ و زمان
- UTC (نمایش تاریخ و زمان در منطقه زمانی UTC)
- UTC+/-hh[:mm] (نمایش تاریخ و زمان در منطقه زمانی مشخص‌شده)
- calendars (گاه‌شماری‌ها)
کسرها
- fraction, 1/n (نمایش نتیجه به‌صورت کسر مخلوط)
- decimals (نمایش نتیجه به‌صورت کسر اعشاری)
- 1/# (نمایش به‌صورت کسر مخلوط با مخرج مشخص‌شده)
برای نمایش به‌صورت کسر ساده، یک - به ابتدای آن اضافه کنید
نماد علمی
- sci, scientific (نمایش نتیجه با نماد علمی)
- eng, engineering (نمایش نتیجه با نماد مهندسی)
- simple (نمایش نتیجه با نماد غیرعلمی)
سایر دستورهای تبدیل
- factors (تجزیه نتیجه به عوامل اول)
- partial fraction (اعمال تجزیه به کسرهای جزئی بر روی نتیجه)
- latex (نمایش عبارت و نتیجه در قالب LaTeX)

به همین ترتیب می‌توان از where (یا به‌عنوان جایگزین، "/.") در انتها (اما پیش از "to") برای انتساب متغیرها، جایگزینی توابع و غیره استفاده کرد (مانند "x+y where x=1 and y=2"،‏ "x^2=4 where x>0" و "sin(5) where sin()=cos()"). همچنین می‌توان انتساب‌های متغیر را با کاما جدا کرد و پیش از عبارت قرار داد، مانند "x=1, y=2, x+y"، اما این نحو سخت‌گیرانه‌تر است.

توجه داشته باشید که to و where تنها می‌توانند بر کل عبارت اعمال شوند. صرف‌نظر از هرگونه پرانتزگذاری، هر آنچه پیش از عملگر بیاید همواره به‌عنوان عبارتی که باید تبدیل شود (یا جایگزینی روی آن اعمال گردد) در نظر گرفته می‌شود، و هر آنچه پس از آن بیاید به‌عنوان عبارت تبدیل/جایگزینی در نظر گرفته خواهد شد.

توجه داشته باشید در صورتی که از کاما به‌عنوان جداکننده اعشار یا هزارگان استفاده نشود، می‌توان نقطه-ویرگول (semicolon) را با کاما جایگزین کرد.

توابع و عملگرهای پایه

= sqrt(4)
= 4^(0.5)
= 4^(1/2)
= 2
= [5 4 3 2]
= 4 * sqrt(2) (در حالت دقیق)
= root(-27; 3)
= -3 (ریشه حقیقی)
(-27)^(1/3)
= 1.5 + 2.5980762i (ریشه اصلی)
= log(25; e)
= 3.2188758
= log(4; 2)/log(100; 10)
= 1
5!
= 1 * 2 * 3 * 4 * 5
= 120
5\2 (تقسیم صحیح)
= 5//2
= trunc(5/2)
= 2
5 mod 3
= mod(5; 3)
= 2
52 to factors
= 2^2 * 13
25/4 * 3/5 to fraction
= 3 + 3/4
= 9
= sin(90 deg) - cos(180 deg)
= 2
= 1 + 2 + 3 + 4 + 5 = 15
= 1^2 + sin(1) + 2^2 + sin(2) + ... = 55.176162
= 1 * 2 * 3 * 4 * 5 = 120
ذخیره مقدار 5 در متغیر var1
5^2 #this is a comment
= 25
= cosh(0.5) = 1.1276260
رسم تابع y=x^2 از -5 تا 5

واحدها

5 dm3 to L = 5 dm^3 to L
= 5 L
20 miles / 2h to km/h
= 16.09344 km/h
1.74 to ft = 1.74 m to ft
= 5 ft + 8.5039370 in
1.74 m to -ft
= 5.7086614 ft
100 lbf * 60 mph to hp
= 16 hp
50 Ω * 2 A
= 100 V
50 Ω * 2 A to base
= 100 kg*m^2*s^-3*A^-1
10 N / 5 Pa
= (10 N)/(5 Pa) = 2 m^2
5 m/s to s/m
= 0.2 s/m 500 EUR - 20% to USD = 451.04 USD
500 megabit/s * 2 h to b?byte
= 419.09516 gibibytes

ثابت‌های فیزیکی

= (coulombs_constant / newtonian_constant) * bohr_radius
= 7.126e9 kg*H*m^-1
= 9.1093837e-31 kg
5 ns * rydberg to c
= 6.0793194E-8c
= 4.129e-22 g
(G * planet(earth; mass) * planet(mars; mass))/(54.6e6 km)^2
= 8.58e16 N (جاذبه گرانشی میان زمین و مریخ)

عدم قطعیت و حساب بازه‌ای
نتیجه با حساب بازه‌ای فعال، در پرانتز نشان داده شده است

= 0.460±0.088 (0.46+/-0.12)
(2+/-0.02 J)/(523+/-5 W)
= 3.824+/-0.053 ms (3.82+/-±0.075 ms)
= interval(-8.2500000; 12.750000) (interval(0; 25))

جبر

(5x^2 + 2)/(x - 3)
= 5x + 15 + 47/(x - 3)
(\a + \b)(\a - \b) = ("a" + "b")("a" - "b")
= 'a'^2 - 'b'^2
(x + 2)(x - 3)^3
= x^4 - 7x^3 + 9x^2 + 27x - 54
= x^4 - 7x^3 + 9x^2 + 27x - 54 to factors
= (x + 2)(x - 3)^3
= 11
= 5x
1/(x^2+2x-3) to partial fraction
= 1/(4x - 4) - 1/(4x + 12)
x = 3 or x = -4
x = 7.1340411 m
x = (1 / (2pi)) m
x = 16 cm (ارتفاع استوانه ۲۰ لیتری با شعاع ۲۰ سانتی‌متر)
x = sin(0.2)^2
x = 0.039469503
= x > 25 or x < 0
= lambertw(e^x)
= 32/5
= [-32/3 -128/3 -64/3]
= 6e^(2x) - 2x - 1

حسابان

= 12x
= (2/5) * cosh(x^2) - sinh(x^2)/(5x^2) + (3y)/(2 * sqrt(x))
= 2x^3 + C
= 248
= 2x * sqrt(x) * y + Shi(x^2) / 10 + C
= 3.6568542y + 0.87600760
= 4 / ln(3)

ماتریس‌ها و بردارها

[1, 2, 3; 4, 5, 6]
= ((1; 2; 3); (4; 5; 6))
= [1 2 3; 4 5 6] (ماتریس 2x3)
1...5
= (1:5) = (1:1:5)
= [1 2 3 4 5]
(1; 2; 3) * 2 - 2
= [(1 * 2 - 2), (2 * 2 - 2), (3 * 2 - 2)]
= [0 2 4]
[1 2 3].[4 5 6]
= dot([1 2 3]; [4 5 6])
= 32 (ضرب داخلی)
= [-3 6 -3] (ضرب خارجی)
[1 2 3; 4 5 6].*[7 8 9; 10 11 12]
= hadamard([1 2 3; 4 5 6]; [7 8 9; 10 11 12])
= [7 16 27; 40 55 72] (ضرب هادامارد)
[1 2 3; 4 5 6] * [7 8; 9 10; 11 12]
= [58 64; 139 154] (ضرب ماتریسی)
[1 2; 3 4]^-1
= inverse([1 2; 3 4])
= [-2 1; 1.5 -0.5]

آمار

= 4.5.PP
= 1.87
= percentile((5; 6; 4; 2; 3; 7); 25)
= 2.9166667
= 0.053990967
= -0.33737388 (به داده‌های موجود در فایل CSV بستگی دارد)

زمان و تاریخ

10:31 + 8:30 to time
= 19:01
10h 31min + 8h 30min to time
= 19:01
= "2020-07-10T07:50:40Z"
"2020-07-10T07:50CET" to utc+8
= "2020-07-10T14:50:00+08:00"
"2020-05-20" + 523d
= addDays(2020-05-20; 523)
= "2021-10-25"
= "2020-07-05"
"2020-10-05" - today
= days(today; 2020-10-05)
= 87
= 1 589 925 600
= "2020-05-20T00:00:00"
"2020-05-20" to calendars
تاریخ را در تقویم‌های عبری، اسلامی، فارسی، هندی، چینی، ژولینی، قبطی و اتیوپیایی بازمی‌گرداند

مبناهای عددی

52 to bin
= 0011 0100
52 to bin16
= 0000 0000 0011 0100
52 to oct
= 064
52 to hex
= 0x34
0x34
= hex(34)
= base(34; 16)
= 52
523<<2&250 to bin
= 0010 1000
52.345 to float
= 0100 0010 0101 0001 0110 0001 0100 1000
= 1715241/32768
= 52.345001
= 1.2207031e-6
52.34 to sexa
= 52°20'24"
1978 to roman
= MCMLXXVIII
52 to base 32
= 1K
sqrt(32) to base sqrt(2)
= 100000.SH "همچنین ببینید (SEE ALSO)" راهنمای واسط گرافیکی کاربر در https://qalculate.github.io/manual/index.html (شامل جزئیات بیشتر درباره نحو و عناصر پشتیبانی‌شده در عبارت‌های ریاضی، گزینه‌های گوناگون، و همچنین فهرستی کامل از توابع، متغیرها و یکاها است)

لطفاً هرگونه باگ را در https://github.com/Qalculate/libqalculate/issues گزارش دهید.

Hanna Knutsson <hanna.knutsson@protonmail.com>.

13 July 2020