Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ xcalc(1) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

X(1)

xrdb(1)

XCALC(1)  —  NEWS-OS Programmer’s Manual

名称

xcalc −  X 用の科学計算器

形式

xcalc [-stipple] [-rpn] [-toolkitoption...]

解説

xcalc は、 TI-30、HP-10C および計算尺をエミュレートできる科学計算用の デスクトップアクセサリーです。

オプション

xcalc はすべての標準的なツールキットコマンドラインのオプションに加え、 次の2つのオプションを受け入れます。

−stipple
このオプションは、計算器のバックグラウンドを、フォアグラウンドと バックグラウンドの色の点刻を使用して描くことを示します。 白黒ディスプレイでは、これによってディスプレイがより良くなります。

−rpn このオプションは、 Reverse Polish Notation を使用することを示します。 このモードでは、計算器は HP-10C のように見え、そのように動作します。 このフラグがないと、それは TI-30 をエミュレートします。

操作

ポインタの使用法 : 操作は、 Button1( 通常、ポインタ上の最も左側のボタン )、あるいは、 キーボードを使用します。 多くの計算器のコマンドは、キーボードからの入力を受けます。 Button3 ( 通常、右側 ) で TI 計算器上の AC キー、あるいは ON キーを 押すと計算器を脱出します。

計算器のキーの用途 ( TI モード ) : 数字キー、 +/- キー、および +、-、∗、/ および = キーはすべてそれぞれが 示すとおりに動作します。 オペレータは、標準の優先規則に従わなければならないことに注意してください。 よって、 "3+4∗5=" と入力すると、 "35" ではなく "23" となります。 これをオーバライドするには括弧を使用します。 たとえば、"(1+2+3)∗(4+5+6)=" は "6∗15=90" になります。 アクションプロシージャは、下のそれぞれの関数に関連しています。 もし、カスタム計算器を定義するのに興味があるなら、これらは非常に便利です。 すべての数字のキーを使うアクションは、digit(n) です。 n は、数字の 0..9 に対応しています。

1/x ディスプレイ中の数字を逆数に置き換えます。 対応するアクションプロシージャは、reciprocal() です。

x^2 ディスプレイ中の数字を 2 乗します。 対応するアクションプロシージャは、square() です。

SQRT ディスプレイ中の文字の平方根をとります。 対応するアクションプロシージャは、squareRoot() です。

CE/C 1 回押すと、ディスプレイ中の数字をクリアします。 このときマシンの状態はクリアされません。 数字を再入力することができます。 これを 2 回押すと、状態もクリアされます。 対応する TI モードのアクションプロシージャは、clear() です。

AC ディスプレイ状態、メモリ、などすべてをクリアします。 右側のボタンでこれを押すと、計算器が ’ オフになり ’ プログラムを 終了します。 状態をクリアするアクションプロシージャは、off() であり、 終了するのは、quit() です。

INV ファンクションキーの意味を逆にします。 詳細については、個々のファンクションキーを参照。 対応するアクションプロシージャは、inverse() です。

sin 現在の DRG モード ( 下記の DRG を参照 ) によって解釈されるとおりに、 ディスプレイ中の数字の正弦を計算します。 逆にされた場合は、これは逆正弦を計算します。 対応するアクションプロシージャは、sine() です。

cos 余弦を計算します。 逆にされた場合は逆余弦を計算します。 対応するアクションプロシージャは、cosine() です。

tan 正接を計算します。 逆にされた場合は逆正接を計算します。 対応するアクションプロシージャは、tangent() です。

DRG 計算器の数字ウィンドウ下部の ’DEG’、’RAD’、あるいは ’GRAD’ で示される とおりに DRG モードを変更します。 ´DEG’ モードの場合は、ディスプレイ中の数字は度数ととられます。 ´RAD’ モードでは、数字はラジアンで、 ’GRAD’ モードでは、数字は グラジアンです。 逆にされた場合、 DRG キーは度数をラジアンからグラジアンへそしてその逆に 変換するという優れた機能をもちます。
例 : 計算器を ’DEG’ モードにし、 "45 INV DRG" と入力します。 ディスプレイは ".785938" の行に沿って何かを表示します。 これは 45 度がラジアンに変換されたものです。 対応するアクションプロシージャは、degree() です。

e 定数 ’e’ (2.7182818...) です。 対応するアクションプロシージャは、e() です。

EE 指数を入力するのに使用します。たとえば、"−2.3E−4" を入力するには、 "2 . 3 +/− EE 4 +/−" と入力します。 対応するアクションプロシージャは、scientific() です。

log ディスプレイ中の数字の対数 ( 基数 10) を計算します。 逆にされた場合は、 "10.0" をディスプレイ中の数字乗します。 たとえば、 "3 INV log" と入力すると、 "1000" となります。 対応するアクションプロシージャは、logarithm() です。

ln ディスプレイ中の数字の対数 ( 基数 e) を計算します。 逆にされた場合は、 "e" をディスプレイ中の数字乗します。 たとえば、 "e ln" と入力すると、 "1" になります。 対応するアクションプロシージャは、naturalLog() です。

y^x 左側の数字を右側の数字の累乗にします。 たとえば、 "2 y^x 3 =" は、 "8" になります。 これは 2^3 にあたります。 さらに例を示すと、 "(1+2+3) y^x (1+2) =" は、 "6 y^x 3" で、 "216" となります。 対応するアクションプロシージャは、power() です。

PI 定数 ’pi’ (3.1415927....) です。 対応するアクションプロシージャは、pi() です。

x!  ディスプレイ中の階乗を計算します。 ディスプレイ中の数字は、 0−500 の範囲にある整数でなければなりませんが、 数字ライブラリに応じて、それよりはるか以前にあふれるでしょう。 対応するアクションプロシージャは、factorial() です。

( 左カッコです。 対応する TI 計算器のアクションプロシージャは、leftParen() です。

) 右カッコです。 対応する TI 計算器のアクションプロシージャは、rightParen() です。

/ 割り算です。 対応するアクションプロシージャは、divide() です。

∗ かけ算です。 対応するアクションプロシージャは、multiply() です。

- 引き算です。 対応するアクションプロシージャは、substract() です。

+ 足し算です。 対応するアクションプロシージャは、add() です。

= 計算の実行です。 TI の特殊なアクションプロシージャは、equal() です。 STO ディスプレイ中の数字を記憶位置に複写します。 対応するアクションプロシージャは、store() です。

RCL 記憶位置からの数字をディスプレイに複写します。 対応するアクションプロシージャは、recall() です。

SUM ディスプレイ中の数字を記憶位置中の数字に加算します。 対応するアクションプロシージャは、sum() です。

EXC ディスプレイ中の数字と記憶位置中の数字をスワップします。 対応する TI 計算器のアクションプロシージャは、exchange() です。

+/- 符号変換です。 対応するアクションプロシージャは、negate() です。

.  小数点です。 対応するアクションプロシージャは、decimal() です。 計算器のキーの用途 (RPN モード ): 数字キー、 CHS ( 変更記号 )、+、-、∗、/ および ENTR キーはすべて それぞれが示すとおりに動作します。 これら以外のキーのほとんどは、TI モードにおけるのと同じです。 相違は以下に記述します。 ENTR キーに対応するアクションプロシージャは、enter() です。

<−
数字を入力しているときに使用できるバックスペースキーです。 これで、ディスプレイ中から数字を消去します。 対応するアクションプロシージャは、back() です。

ON ディスプレイ、状態、メモリ、などすべてをクリアします。 右側のボタンでこれを押すと、計算器を ’ オフにし、 ’ プログラムを 終了します。 たとえて言えば、計算器をゴミ箱に捨てるようなものです。 状態のクリアに対応するアクションプロシージャは、off であり、 終了に対応するアクションプロシージャは、quit() です。

INV ファンクションキーの意味を反対にします。 これは、 HP 計算器における f キーと同じですが、xcalc は各キー上に 複数の記号を表示するリゾリューションはもっていません。 詳細については個々のファンクションキーを参照してください。

10^x "10.0" をスタックの 1 番上の数字乗します。 逆にされると、ディスプレイ中の数字の対数 ( 基数 10) を計算します。 対応するアクションプロシージャは、tenpower() です。

e^x "e" をスタックの 1 番上の数字乗します。 逆にされると、表示されている数字の対数 ( 基数 e) を計算します。 対応するアクションプロシージャは、epower() です。

STO スタックの 1 番上の数字を記憶位置に複写します。 記憶位置は 10 あります。 希望する記憶位置は、このキーを押してから数字キーを押して指定します。

RCL 指定された記憶位置からの数字をスタックの上にプッシュします。

SUM スタックの 1 番上の数字を指定された記憶位置内の数字に加算します。

x:y スタックの上から 2 つの位置にある数字を交換します。 対応するアクションプロシージャは、Xexchange() です。

R v スタックを下方向にロールします。 逆にされた場合は、これはスタックを上方向にロールします。 対応するアクションプロシージャは、roll() です。

blank これらのキーは、 HP10-C 上のプログラミング機能として用いられていました。 それらの機能性については xcalc では述べません。

最後に、2 つのアクションプロシージャを付け加えます。 ベルをならす bell() と、計算器の”液晶”画面で、全体の数をカットする selection() です。

アクセラレータ

アクセラレータは、コマンドを入力する近道です。 xcalc は、いくつかのサンプルキーボードアクセラレータが用意されています。 ユーザがアクセラレータをカスタマイズすることもできます。 xcalc によって用意された数字のキーパッドアクセラレータは、 直観的に直すべきです。 xcalc によって定義されたメインキーボードのアクセラレータは、 以下のようになっています。

TI Key HP Key Keyboard Accelerator TI Function HP Function





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()
+/- CHS n negate() negate()





x:y x XexchangeY()
ENTR Return enter()
ENTR Linefeed enter()

カスタマイゼーション

アプリケーションクラスの名前は、XCalc です。

xcalc は、位置、ラベル、計算器のキーの関数を指定する たくさんのアプリケーションデフォルトファイルがあります。 キーボードアクセラレータ これらのリソースは、ソースコードで指定されていませんから、 サイズやボタンの位置や、ボタンのラベルやボタンの関数を指定するために、 Athena コマンドやフォームウィジェットリソースを使って、 自分のアプリケーションデフォルトファイルを書くことによって、 カスタマイズされた計算器を作ることができます。

それぞれの計算器の foreground と background のカラーは、 視覚的に指定することができます。 TI 計算器のための、クラシカルなカラーリソースの指定は、次のようになります。 XCalc.ti.Command.background:  gray50
XCalc.ti.Command.foreground:  white For each of buttons 20, 25, 30, 35, and 40, specify:
XCalc.ti.button20.background: black
XCalc.ti.button20.foreground: white For each of buttons 22, 23, 24, 27, 28, 29, 32, 33, 34, 37, 38, and 39:
XCalc.ti.button22.background: white
XCalc.ti.button22.foreground: black

ウィジェット階層

リソースを指定するのに、xcalc を構成するウィジェットの階層を知るのは 便利です。下の表記で、インデントは階層的構造を示しています。 ウィジェットクラスの名前は、まず、続くウィジェットインスタンスの名前 によって与えられます。

XCalc xcalc
      Form  ti  or  hp    (the name depends on the mode)
              Form  bevel
                      Form  screen
                              Label  M
                              Toggle  LCD
                              Label  INV
                              Label  DEG
                              Label  RAD
                              Label  GRAD
                              Label  P
              Command  button1
              Command  button2
              Command  button3
and so on, ...
              Command  button38
              Command  button39
              Command  button40

アプリケーションリソース

rpn (Class Rpn)
rpn モードが使われるべきであることを指定します。デフォルトは、TI モードです。

stipple (Class Stipple)
バックグラウンドは点刻にすることを示します。 デフォルトは、白黒ディスプレイの場合は “ オン ” で、 カラーディスプレイの場合は “ オフ ” です。

cursor (Class Cursor)
ポインタの表現に使われるシンボルの名前です。 デフォルトは、”hand2 ”です。 アイコンの色を指定します。

関連事項

X(1), xrdb(1)

バグ

HP モードにおいて、5, ENTR, <- という順番で、キーを押したときに表示が クリアされなければならないが、クリアされない、というバグレポートがあります。

著作権

Copyright 1988, Massachusetts Institute of Technology. 
権利と許可の声明文については X(1) を参照のこと。

著者

John Bradley, University of Pennsylvania
Mark Rosenstein, MIT Project Athena

NEWS-OSRelease 4.1C

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026