Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ bc(1) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

dc(1)

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

名称

bc − 演算言語(任意精度)

形式

bc [ −c ] [ −l ] [ file ... ]

解説

bc は、 C言語に似た言語のための対話型演算処理プログラムであり、 任意に演算精度を指定する機能を備えています。 bc は指定された file から入力を取り込み、 次に標準入力を読み取ります。 引数 −l は任意の精度を持つ数学ライブラリの名前を意味します。 bc プログラムの構文は、次のとおりです。 Lは a から z までの文字を、E は式を、 そして S は文を意味します。

コメント
/∗ と ∗/ で囲みます。

名前
単純変数 : L
配列要素 : L[E]
ワード‘ibase’および、‘obase’、‘scale’

その他のオペランド
オプションの符号と小数点の付いた任意の桁数の数字
(E)
sqrt (E)
length (E)10進数の有効桁数
scale (E)小数点の右側の桁数
L (E , ... , E)

演算子
+ − ∗ / % ^ ( % は剰余で ^ はべき乗)
++ −−      (プレフィックスとポストフィックス; 名前に適用する)
== <= >= != < >
= += −= ∗= /= %= ^=

文
E
{ S ; ... ; S }
if ( E ) S
while ( E ) S
for ( E ; E ; E ) S
空文
break
quit

関数定義
 
define L ( L ,..., L ) {
auto L, ..., L
S; ... S
return ( E )
}

−l 数学ライブラリの関数
s(x)正弦関数
c(x)余弦関数
e(x)指数関数
l(x)対数関数
a(x)逆正接関数
j(n,x)ベッセル関数

すべての関数の引数は値で渡されます。

式となっている文の値は、 主演算子が代入でない場合に表示されます。 文の区切りには、セミコロンか復帰改行のいずれかを用います。 scale への代入は、 dc(1) の方式による算術演算で保持される桁数に影響を及ぼします。 ibase または obase への代入が行われると、 それぞれ、入力および出力基数が設定されます。

同一文字を同時に配列、関数、 および単純変数として使用することができます。 すべての変数は、 プログラムに対してグローバルです。 ‘自動’変数は、関数の呼び出し中にプッシュダウンされます。 配列を関数の引数として用いる場合、 または自動変数として定義する場合には、 配列名のあとに空の大かっこ [ ] を付けなければなりません。

たとえば、次の関数は、指数関数の近似値を計算するものです。

scale = 20
define e(x){
auto a, b, c, i, s
a = 1
b = 1
s = 1
for(i=1; 1==1; i++){
a = a∗x
b = b∗i
c = a/b
if(c == 0) return(s)
s = s+c
}
}

次の例は、最初の 10個の整数の指数関数の近似値を表示するものです。

for(i=1; i<=10; i++) e(i)

bc は、 実際には、 dc(1) のプリプロセッサであり、 −c オプション(コンパイルだけ)がない限り、 dc(1) を自動的に呼び出します。 −c オプションがあると、 dc の入力は、代わりに標準出力へ送られます。

関連ファイル

/usr/lib/lib.b数学ライブラリ
dc(1)卓上計算機プログラム

関連事項

dc(1)
L. L. Cherry and R. Morris, BC − An arbitrary precision desk-calculator languaguage

バグ

 
演算子 &&、||、または ! は使用できません。
for 文は 3個のEすべてを必要とします。
quit は実行時ではなく、読取り時に解釈されます。

NEWS-OSRelease 4.1C

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