見出し画像

bcコマンドで計算をしよう 2

概要

bcコマンドで少しだけ複雑なことをしてみましょう.

「bcコマンドで計算をしよう 1」は,まだ存在していません.申し訳ありません.

円周率 PI

$ bc -l
pi=4*a(1)
pi
3.14159265358979323844
s(pi/2)
1.00000000000000000000

これは,bcのマニュアルに載っている方法です

階乗

$ bc
define factorial(n){ if( n<=1 ){return 1;}else{return n*factorial(n-1);} }
factorial(7)
5040

注意: 引数に負の数を入れたときに(エラーにならずに)1が返されてしまいます。ちゃんとやるなら 以下↓の様に.
define factorial(n){ if( n<0 ){ print "error. factorial(",n,").\n"; halt; }else{ if( n<=1 ){return 1;}else{return n*factorial(n-1);} } }
factorial(-3)

error. factorial(-3).

tan

$ bc -l
define tan(a){ return s(a)/c(a); }
pi=4*a(1)
tan(pi/4)
.99999999999999999998

これは紹介するまでもないでしょう.

対数

$ bc -l
define log(a,b){ return l(a)/l(b); }
log(256,2)
8.00000000000000000007

これも紹介するまでもないでしょう.

累乗

$ bc -l
define pow(a,b){ return e(b*l(a)); }
pow(2,8)
255.99999999999999998518

これも紹介するまでもないでしょう.

min, max

$ bc -l
define min(a,b){ if(a<b){ return a; }else{ return b; }}
define max(a,b){ if(a<b){ return b; }else{ return a; }}
min(3,4)

3
max(3,4)
4

これも紹介するまでもないですが,プログラミングのサンプルに.


この記事が気に入ったらサポートをしてみませんか?