'\" t .\" Copyright (c) 1994 X Consortium .\" .\" Permission is hereby granted, free of charge, to any person obtaining .\" a copy of this software and associated documentation files (the .\" "Software"), to deal in the Software without restriction, including .\" without limitation the rights to use, copy, modify, merge, publish, .\" distribute, sublicense, and/or sell copies of the Software, and to .\" permit persons to whom the Software is furnished to do so, subject to .\" the following conditions: .\" .\" The above copyright notice and this permission notice shall be included .\" in all copies or substantial portions of the Software. .\" .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. .\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR .\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, .\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR .\" OTHER DEALINGS IN THE SOFTWARE. .\" .\" Except as contained in this notice, the name of the X Consortium shall .\" not be used in advertising or otherwise to promote the sale, use or .\" other dealings in this Software without prior written authorization .\" from the X Consortium. .\" .\" .de EX \"Begin example .ne 5 .if n .sp 1 .if t .sp .5 .nf .in +.5i .. .de EE .fi .in -.5i .if n .sp 1 .if t .sp .5 .. .TH XCALC 1 2023-02-05 "xcalc 1.1.3" "X Version 11" .SH "نام (NAME)" xcalc \- ماشین‌حساب علمی برای سامانه پنجره X .SH "خلاصه دستور (SYNOPSIS)" .nf \fBxcalc\fP [\fB\-stipple\fP] [\fB\-rpn\fP] [\fI\-toolkitoption...\fP] \fBxcalc \-version\fP \fBxcalc \-help\fP .fi .SH "توضیحات (DESCRIPTION)" .B xcalc یک ابزارک رومیزی ماشین‌حساب علمی است که می‌تواند عملکرد یک TI-30 یا یک HP-10C را شبیه‌سازی کند. .SH "گزینه‌ها (OPTIONS)" \fBxcalc\fP تمامی گزینه‌های خط فرمان استاندارد جعبه‌ابزار (toolkit) را به همراه این گزینه‌های اضافی می‌پذیرد: .TP 8 .B \-stipple این گزینه مشخص می‌کند که پس‌زمینه ماشین‌حساب باید با استفاده از ترام‌بندی (stipple) رنگ‌های پیش‌زمینه و پس‌زمینه ترسیم شود. این قابلیت در نمایشگرهای تک‌رنگ (monochrome) ظاهر برنامه را بهبود می‌بخشد. .TP 8 .B \-rpn این گزینه مشخص می‌کند که باید از نشانه‌گذاری معکوس لهستانی (Reverse Polish Notation) استفاده شود. در این حالت، ماشین‌حساب شبیه به HP-10C به نظر رسیده و رفتار خواهد کرد. بدون این پرچم، دستگاه یک TI-30 را شبیه‌سازی می‌کند. .TP 8 .B \-help این گزینه مشخص می‌کند که \fBxcalc\fP باید پیام راهنمای نحوه استفاده را چاپ کرده و خارج شود. .TP 8 .B \-version این گزینه مشخص می‌کند که \fBxcalc\fP باید نسخه خود را چاپ کرده و خارج شود. .SH "نحوه کارکرد (OPERATION)" .I "استفاده از اشاره‌گر:" عملیات را می‌توان با دکمه ۱ اشاره‌گر (کلیک چپ) یا در برخی موارد با صفحه‌کلید انجام داد. بسیاری از عملیات‌های رایج ماشین‌حساب دارای کلیدهای میانبر صفحه‌کلید هستند. برای خروج، دکمه ۳ اشاره‌گر (کلیک راست) را روی کلید AC ماشین‌حساب TI، یا کلید ON ماشین‌حساب HP فشار دهید. .PP .I "استفاده از کلیدهای ماشین‌حساب (حالت TI):" کلیدهای عددی، کلید +/\- و کلیدهای +، \-، *، / و = همگی دقیقاً همان کاری را انجام می‌دهند که انتظار دارید. باید توجه داشت که عملگرها از قواعد استاندارد اولویت ریاضی پیروی می‌کنند. بنابراین، وارد کردن «3+4*5=» نتیجه «23» را در پی خواهد داشت، نه «35». از پرانتزها می‌توان برای نادیده گرفتن این اولویت استفاده کرد. برای مثال، «(1+2+3)*(4+5+6)=» منجر به «6*15=90» می‌شود. .PP کل عدد نمایش‌داده‌شده در صفحه ماشین‌حساب را می‌توان انتخاب کرد تا نتیجه یک محاسبه در متن چسبانده (paste) شود. .PP رویه‌های کنش (action procedures) مرتبط با هر تابع در زیر آورده شده است. این موارد در صورتی که به تعریف یک ماشین‌حساب سفارشی علاقه‌مند باشید مفید هستند. کنش استفاده‌شده برای تمام کلیدهای ارقام \fBdigit(\fIn\fP)\fR است، که در آن \fIn\fR رقم متناظر (0..9) می‌باشد. .TP 10 .B 1/x عدد موجود در صفحه نمایش را با معکوس آن جایگزین می‌کند. رویه کنش متناظر \fBreciprocal()\fR است. .TP 10 .B x^2 عدد موجود در صفحه نمایش را به توان دو می‌رساند. رویه کنش متناظر \fBsquare()\fR است. .TP 10 .B SQRT ریشه دوم (جذر) عدد موجود در صفحه نمایش را محاسبه می‌کند. رویه کنش متناظر \fBsquareRoot()\fR است. .TP 10 .B CE/C هنگامی که یک بار فشرده شود، عدد موجود در صفحه نمایش را بدون پاک کردن وضعیت ماشین پاک می‌کند. این قابلیت به شما اجازه می‌دهد در صورت بروز اشتباه، عدد را مجدداً وارد کنید. فشردن دوباره آن، وضعیت را نیز پاک می‌کند. رویه کنش متناظر برای حالت TI، \fBclear()\fR است. .TP 10 .B AC صفحه نمایش، وضعیت و حافظه را پاک می‌کند. فشردن آن با دکمه سوم اشاره‌گر ماشین‌حساب را خاموش می‌کند، به این معنی که از برنامه خارج می‌شود. رویه کنش برای پاک کردن وضعیت \fBoff()\fR؛ و برای خروج \fBquit()\fR است. .TP 10 .B INV تابع معکوس‌سازی. برای جزئیات به هر یک از کلیدهای توابع مراجعه کنید. رویه کنش متناظر \fBinverse()\fR است. .TP 10 .B sin سینوس عدد موجود در صفحه نمایش را با توجه به حالت فعلی DRG (توضیحات DRG را در زیر ببینید) محاسبه می‌کند. در صورت معکوس شدن، آرک‌سینوس را محاسبه می‌کند. رویه کنش متناظر \fBsine()\fR است. .TP 10 .B cos کسینوس، یا در صورت معکوس شدن آرک‌کسینوس را محاسبه می‌کند. رویه کنش متناظر \fBcosine()\fP است. .TP 10 .B tan تانژانت، یا در صورت معکوس شدن آرک‌تانژانت را محاسبه می‌کند. رویه کنش متناظر \fBtangent()\fP است. .TP 10 .B DRG حالت DRG را تغییر می‌دهد، همان‌طور که با 'DEG'، 'RAD' یا 'GRAD' در پایین صفحه نمایش «کریستال مایع» ماشین‌حساب نشان داده می‌شود. در حالت 'DEG'، اعداد موجود در صفحه نمایش بر حسب درجه در نظر گرفته می‌شوند. در حالت 'RAD' اعداد بر حسب رادیان، و در حالت 'GRAD' اعداد بر حسب گرادیان هستند. در صورت معکوس شدن، کلید DRG امکان تبدیل درجه به رادیان به گرادیان و برعکس را فراهم می‌کند. مثال: ماشین‌حساب را در حالت 'DEG' قرار داده و «45 INV DRG» را وارد کنید. اکنون صفحه نمایش باید عددی در حدود «.785398» را نشان دهد که همان تبدیل ۴۵ درجه به رادیان است. رویه کنش متناظر \fBdegree()\fP است. .TP 10 .B e ثابت «\fIe\fP» (2.7182818...). رویه کنش متناظر \fBe()\fR است. .TP 10 .B EE برای وارد کردن اعداد نمایی استفاده می‌شود. برای مثال، جهت به دست آوردن «-2.3E-4» باید «2 . 3 +/- EE 4 +/-» را وارد کنید. رویه کنش متناظر \fBscientific()\fR است. .TP 10 .B log لگاریتم (در مبنای ۱۰) عدد موجود در صفحه نمایش را محاسبه می‌کند. در صورت معکوس شدن، «10.0» را به توان عدد موجود در صفحه نمایش می‌رساند. برای مثال، وارد کردن «3 INV log» باید به نتیجه «1000» منجر شود. رویه کنش متناظر \fBlogarithm()\fP است. .TP 10 .B ln لگاریتم (در مبنای e) عدد موجود در صفحه نمایش را محاسبه می‌کند. در صورت معکوس شدن، «e» را به توان عدد موجود در صفحه نمایش می‌رساند. برای مثال، وارد کردن «e ln» باید به نتیجه «1» منجر شود. رویه کنش متناظر \fBnaturalLog()\fR است. .TP 10 .B y^x عدد سمت چپ را به توان عدد سمت راست می‌رساند. برای مثال «2 y^x 3 =» منجر به «8» می‌شود که همان 2^3 است. برای مثالی دیگر، «(1+2+3) y^x (1+2) =» برابر با «6 y^x 3» و حاصل آن «216» است. رویه کنش متناظر \fBpower()\fR است. .TP 10 .B not یک عمل نقیض بیتی (bitwise not) را انجام می‌دهد. رویه کنش متناظر \fBnot()\fP است..TP 10 .B and یک «و»ی بیتی (bitwise and) انجام می‌دهد. روال کنش متناظر \fBand()\fP است. .TP 10 .B or یک «یا»ی بیتی (bitwise or) انجام می‌دهد. روال کنش متناظر \fBor()\fP است. .TP 10 .B xor یک «یای انحصاری» بیتی (bitwise xor) انجام می‌دهد. روال کنش متناظر \fBxor()\fP است. .TP 10 .B trunc عدد نمایش داده‌شده در صفحه را به یک عدد صحیح برش می‌دهد (قطع می‌کند). روال کنش متناظر \fBtrunc()\fP است. .TP 10 .B PI ثابت «پی» (pi). (3.1415927....) روال کنش متناظر \fBpi()\fR است. .TP 10 .B x! فاکتوریل عدد نمایش داده‌شده در صفحه را محاسبه می‌کند. عدد نمایش داده‌شده باید یک عدد صحیح در بازهٔ ۰ تا ۵۰۰ باشد، هرچند بسته به کتابخانهٔ ریاضیاتی شما، ممکن است بسیار پیش از آن سرریز کند. روال کنش متناظر \fBfactorial()\fR است. .TP 10 .B ( پرانتز باز (چپ). روال کنش متناظر برای ماشین‌حساب‌های TI، \fBleftParen()\fR است. .TP 10 .B ) پرانتز بسته (راست). روال کنش متناظر برای ماشین‌حساب‌های TI، \fBrightParen()\fR است. .TP 10 .B base مبنای عدد را بر اساس آنچه با 'DEC'، 'HEX' یا 'OCT' در پایین نمایشگر ماشین‌حساب مشخص شده، تغییر می‌دهد. در حالت 'DEC'، اعدادِ نمایش داده‌شده ده‌دهی (مبنای ۱۰) فرض می‌شوند. در حالت 'HEX'، اعداد در مبنای شانزده (هگزادسیمال)، و در حالت 'OCT'، اعداد در مبنای هشت (اکتال) هستند. روال کنش متناظر \fBbase()\fP است. .TP 10 .B shl یک شیفت محاسباتی بیتی به چپ انجام می‌دهد. برای مثال، وارد کردن «1 shl 2» باید حاصل «4» داشته باشد. روال کنش متناظر \fBshl()\fR است. .TP 10 .B shr یک شیفت محاسباتی بیتی به راست انجام می‌دهد. برای مثال، وارد کردن «8 shr 1» باید حاصل «4» داشته باشد. روال کنش متناظر \fBshr()\fR است. .TP 10 .B mod عملیات پیمانه (modulo) را انجام می‌دهد که باقی‌ماندهٔ تقسیم عدد اول بر دوم را محاسبه می‌کند. برای مثال، وارد کردن «14 mod 8» باید حاصل «6» داشته باشد. روال کنش متناظر \fBmod()\fR است. .TP 10 .B / تقسیم. روال کنش متناظر \fBdivide()\fR است. .TP 10 .B * ضرب. روال کنش متناظر \fBmultiply()\fR است. .TP 10 .B \- تفریق. روال کنش متناظر \fBsubtract()\fR است. .TP 10 .B + جمع. روال کنش متناظر \fBadd()\fR است. .TP 10 .B = انجام محاسبات. روال کنش اختصاصی TI، \fBequal()\fR است. .TP 10 .B STO عدد نمایش داده‌شده در صفحه را در مکان حافظه رونوشت می‌کند. روال کنش متناظر \fBstore()\fR است. .TP 10 .B RCL عدد را از مکان حافظه به نمایشگر رونوشت می‌کند. روال کنش متناظر \fBrecall()\fR است. .TP 10 .B SUM عدد نمایش داده‌شده در صفحه را به عدد موجود در مکان حافظه اضافه می‌کند. روال کنش متناظر \fBsum()\fR است. .TP 10 .B EXC عدد نمایش داده‌شده در صفحه را با عدد موجود در مکان حافظه جابه‌جا می‌کند. روال کنش متناظر برای ماشین‌حساب TI، \fBexchange()\fR است. .TP 10 .B +/- منفی کردن؛ تغییر علامت. روال کنش متناظر \fBnegate()\fR است. .TP 10 .B . نقطهٔ اعشار. روال کنش متناظر \fBdecimal()\fP است. .sp .PP .I استفاده از کلیدهای ماشین‌حساب (حالت RPN): کلیدهای اعداد، CHS (تغییر علامت)، +، \-، *، /، و کلیدهای ENTR همگی دقیقاً همان کاری را انجام می‌دهند که انتظار دارید. بسیاری از کلیدهای باقی‌مانده مشابه حالت TI هستند. تفاوت‌ها در ادامه با جزئیات آمده است. روال کنش برای کلید ENTR، \fBenter()\fR است. .sp .TP 10 .B <- این یک کلید backspace است که در صورت بروز اشتباه هنگام وارد کردن یک عدد می‌تواند استفاده شود. این کلید ارقام را از صفحه پاک می‌کند. (بخش BUGS را ببینید). کلید backspace معکوس، ثبات X را پاک خواهد کرد. روال کنش متناظر \fBback()\fR است. .TP 10 .B ON صفحهٔ نمایش، وضعیت و حافظه را پاک می‌کند. فشردن آن با دکمهٔ سوم اشاره‌گر، ماشین‌حساب را خاموش می‌کند، به این معنا که از برنامه خارج می‌شود. برای پاک کردن وضعیت، روال کنش \fBoff\fR است؛ برای خروج، \fBquit()\fR. .TP 10 .B INV عملکرد کلیدهای تابعی را معکوس می‌کند. این کلید معادل کلید \fIf\fR در یک ماشین‌حساب HP است، اما \fBxcalc\fR چندین برچسب را روی هر کلید نمایش نمی‌دهد. برای جزئیات به هریک از کلیدهای تابعی مراجعه کنید. .TP 10 .B 10^x «10.0» را به توان عدد بالای پشته می‌رساند. هنگامی که معکوس شود، لگاریتم (مبنای ۱۰) عدد روی صفحه را محاسبه می‌کند. روال کنش متناظر \fBtenpower()\fR است. .TP 10 .B e^x «e» را به توان عدد بالای پشته می‌رساند. هنگامی که معکوس شود، لگاریتم (مبنای e) عدد روی صفحه را محاسبه می‌کند. روال کنش \fBepower()\fR است. .TP 10 .B STO عدد بالای پشته را در یک مکان حافظه رونوشت می‌کند. ۱۰ مکان حافظه وجود دارد. حافظهٔ مورد نظر با فشردن یک کلید رقمی پس از این کلید مشخص می‌شود. .TP 10 .B RCL عدد را از مکان حافظهٔ مشخص‌شده به درون پشته می‌فرستد. .TP 10 .B SUM عدد بالای پشته را به عدد موجود در مکان حافظهٔ مشخص‌شده اضافه می‌کند. .TP 10 .B x:y اعداد دو موقعیت بالای پشته، یعنی ثبات‌های X و Y را جابه‌جا می‌کند. روال کنش متناظر \fBXexchangeY()\fR است. .TP 10 .B R v پشته را به سمت پایین می‌چرخاند. هنگامی که معکوس شود، پشته را به سمت بالا می‌چرخاند. روال کنش متناظر \fBroll()\fR است. .TP 10 .I blank این کلیدها برای توابع برنامه‌نویسی در HP-10C استفاده می‌شدند. عملکرد آن‌ها در \fBxcalc\fR بازسازی نشده است. .PP در نهایت، دو روال کنش دیگر نیز وجود دارد: \fBbell()\fR که زنگ را به صدا درمی‌آورد؛ و \fBselection()\fR که یک عملیات برش روی کل عدد در نمایشگر «کریستال مایع» ماشین‌حساب انجام می‌دهد..SH "شتاب‌دهنده‌ها (ACCELERATORS)" شتاب‌دهنده‌ها میان‌برهایی برای وارد کردن دستورها هستند. \fBxcalc\fP چند شتاب‌دهندهٔ نمونه برای صفحه‌کلید ارائه می‌دهد؛ همچنین کاربران می‌توانند شتاب‌دهنده‌ها را شخصی‌سازی کنند. شتاب‌دهنده‌های صفحه‌کلید عددی ارائه‌شده توسط \fBxcalc\fP باید به‌طور شهودی مطابق انتظار باشند. شتاب‌دهنده‌های تعریف‌شده توسط \fBxcalc\fP روی صفحه‌کلید اصلی در ادامه آورده شده‌اند: .PP .TS l l l l l. کلید TI کلید HP شتاب‌دهنده صفحه‌کلید تابع TI تابع HP _ SQRT SQRT r squareRoot() squareRoot() AC ON space clear() clear() AC <- Delete clear() back() AC <- Backspace clear() back() AC <- Control-H clear() back() AC Clear clear() AC ON q quit() quit() AC ON Control-C quit() quit() INV i i inverse() inverse() sin s s sine() sine() cos c c cosine() cosine() tan t t tangent() tangent() DRG DRG d degree() degree() e e e() ln ln l naturalLog() naturalLog() y^x y^x ^ power() power() PI PI p pi() pi() x! x! ! factorial() factorial() ( ( leftParen() ) ) rightParen() / / / divide() divide() * * * multiply() multiply() - - - subtract() subtract() + + + add() add() \&= \&= equal() 0..9 0..9 0..9 digit() digit() \&. . . decimal() decimal() +/- CHS n negate() negate() x:y x XexchangeY() ENTR Return enter() ENTR Linefeed enter() .TE .SH "شخصی‌سازی (CUSTOMIZATION)" نام کلاس برنامه \fBXCalc\fP است. .PP \fBxcalc\fP دارای یک فایل بسیار بزرگ از پیش‌فرض‌های برنامه (application defaults) است که موقعیت، برچسب و عملکرد هر کلید روی ماشین‌حساب را مشخص می‌کند. این فایل همچنین نگاشت‌هایی (translations) را برای استفاده به‌عنوان شتاب‌دهنده‌های صفحه‌کلید تعیین می‌کند. از آنجا که این منابع در کد منبع مشخص نشده‌اند، می‌توانید با نوشتن یک فایل پیش‌فرض‌های اختصاصی برای برنامه و با استفاده از منابع ویجت‌های Command و Form در Athena، اندازه و مکان دکمه‌ها، برچسب هر دکمه و عملکرد هر یک از آن‌ها را مشخص کرده و یک ماشین‌حساب شخصی‌سازی‌شده ایجاد کنید. .PP رنگ‌های پیش‌زمینه و پس‌زمینهٔ هر کلید ماشین‌حساب را می‌توان به‌صورت جداگانه مشخص کرد. برای ماشین‌حساب TI، یک نمونه پیکربندی کلاسیک منابع رنگ می‌تواند به این صورت باشد: .sp .nf XCalc.ti.Command.background: gray50 .br XCalc.ti.Command.foreground: white .fi .sp برای هر یک از دکمه‌های 20، 25، 30، 35 و 40 مشخص کنید: .nf XCalc.ti.button20.background: black .br XCalc.ti.button20.foreground: white .fi .sp برای هر یک از دکمه‌های 22، 23، 24، 27، 28، 29، 32، 33، 34، 37، 38 و 39: .nf XCalc.ti.button22.background: white .br XCalc.ti.button22.foreground: black .fi.SH "سلسله‌مراتب ویجت‌ها (WIDGET HIERARCHY)" برای مشخص کردن منابع، دانستن سلسله‌مراتب ویجت‌هایی که \fBxcalc\fR را تشکیل می‌دهند مفید است. در نمادگذاری زیر، تورفتگی نشان‌دهنده ساختار سلسله‌مراتبی است. ابتدا نام کلاس ویجت آورده شده و به دنبال آن نام نمونه ویجت آمده است. .nf .ft CW XCalc xcalc Form ti \fIیا\fR hp \fI(نام به حالت بستگی دارد)\fR Form bevel Form screen Label M Toggle LCD Label INV Label DEG Label RAD Label GRAD Label P Command button1 Command button2 Command button3 \fIو به همین ترتیب، ...\fR Command button38 Command button39 Command button40 .ft .fi .SH "منابع برنامه (APPLICATION RESOURCES)" .TP 8 \fBrpn\fR (کلاس \fBRpn\fR) مشخص می‌کند که باید از حالت rpn استفاده شود. پیش‌فرض، حالت TI است. .TP 8 \fBstipple\fR (کلاس \fBStipple\fR) مشخص می‌کند که پس‌زمینه باید مشبک (stippled) باشد. پیش‌فرض برای نمایشگرهای تک‌رنگ \(lqon\(rq و برای نمایشگرهای رنگی \(lqoff\(rq است. .TP 8 \fBcursor\fR (کلاس \fBCursor\fR) نام نمادی که برای نمایش اشاره‌گر استفاده می‌شود. پیش‌فرض \(lqhand2\(rq است. .SH "رنگ‌ها (COLORS)" اگر می‌خواهید \fBxcalc\fP از رنگ‌های TI خود استفاده کند، عبارت زیر را در بخش \fB#ifdef COLOR\fP از فایلی که با xrdb می‌خوانید قرار دهید: .sp 1 *customization: \-color .sp 1 این کار باعث می‌شود \fBxcalc\fP رنگ‌ها را از فایل سفارشی‌سازی رنگ app-defaults دریافت کند: .IR /usr/share/X11/app-defaults/XCalc\-color . .SH "همچنین ببینید (SEE ALSO)" .BR X (7), .BR xrdb (1), مجموعه ویجت‌های Athena .SH "گزارش باگ‌ها (BUGS)" حالت HP به طور کامل اشکال‌زدایی نشده است. به ویژه، پشته (stack) پس از بروز خطاها به درستی مدیریت نمی‌شود. .SH "نویسندگان (AUTHORS)" John Bradley، دانشگاه پنسیلوانیا .br Mark Rosenstein، پروژه Athena در MIT .br Donna Converse، کنسرسیوم MIT X .\" -------------------------------------------------------------------- .\" Emacs settings .\" -------------------------------------------------------------------- .\" Local Variables: .\" mode: nroff .\" tab-width: 15 .\" End: