bc dc
-
" "
/P 2.1
bc dc
1988
bc
, .
-
.
dc
,
, bc.
, dc
.
1.
bc -
-
.
,
.
.
,
,
,
. -
(, )
8.
,
sin, cos, arctan, log, exp -
.
bc , -
.
,
, , .
.
,
, , ,
.
bc -
. , ,
bc.
dc -
.
, . dc
,
-
, .
bc ,
bc , -
dc. ,
dc, -
.
, dc, .
dc
.
,
,
, (
).
2. bc
2.1.
. , :
123456789+987654321
:
1111111110
+, -, *, /, %,
^, , , -
, ,
.
. -
.
,
, (-
). :
1985+-R68
, -68 1985.
.
- 3 -
^ ( ) -
, * (), % (
), / () , + () -
(). -
, .
, . -
:
a^b^c a^(b^c)
, :
a*b*c (a*b)*c
(), , -
.
. :
s=s+10
10 ,
s. , ,
=, ,
.
26 .
(sqrt),
( "-
").
q=sqrt(624)
q
24
2.2.
, -
ibase obase. ibase, -
10, , -
. ,
:
ibase=9
11
:
- 4 -
10
, -
9,
. , -
,
ibase=10
10 ,
.
,
A-F 10-15, -
. A-F
,
.
ibase=A
, ,
.
-
.
obase 10,
, . , -
,
obase=16
654321
9FBF1
, ,
. ,
. ,
, obase
1000. ,
obase=1000
1234567890987654321234567890
1 234 567 890 987 654 321 234 567 890
(.. 1, 0 )
.
- 5 -
70 . , ,
\.
, (..
100 )
. -
100 .
, -
ibase obase , -
, ibase obase -
, .
2.3.
,
scale ,
.
99 .
,
.
, ,
.
- .
. -
,
, , .
scale.
.
, .
. -
scale.
, . ,
, , .
scale 99
. 0. ,
99 , -
.
scale, ibase, obase -
.
scale=scale+1
scale
- 6 -
scale
scale.
scale , -
, ibase obase 10.
,
,
.
2.4.
. , -
. ,
.
define a(x){
.
,
,
}. ,
return .
return
return
return(x)
,
.
, , -
, ,
auto x,y,z
auto,
.
.
,
, ,
. , -
.
, -
,
. :
- 7 -
define f(x,y){
auto z
z=x*y
return(z)
}
,
.
,
, -
. ,
.
,
: p().
f(3.14159,2,71828)
f - , ,
:
8.53972
y=f(f(12,34),56)
y 22848.
2.5.
,
, , -
, (
). , -
.
.
. -
,
.
2047.
-
,
return.
, ,
, -
, :
- 8 -
p(c[])
define p(c[])
auto c[]
, -
.
-
.
2.6.
if, while for
,
-
. -
, ,
. -
:
if()
while()
for(1;;2)
if() {}
while() {}
for(1;;2) {}
- -
m>>n
:
<<, >>, <<=, >>=, == !=. == -
, != .
.
= ==,
, -
,
- .
if
, . -
.
- 9 -
while
, .
, , , -
,
while.
for 1. -
, , ,
for. 2.
. for -
, , ,
for(i=1;i<=20;i=i+2)i
1
20.
.
define f(n){
auto i, p
p=1
for(i=1;i<=n;i=i+1) p=p*i
return(p)
}
,
f(h)
h, h
. ,
(-
, s t - ).
define b(s,t){
auto i, p
p=1
for(i=1;i<=t;i=i+1) p=p*(s-i+1)/i
return(p)
}
-
, -
- 10 -
:
scale=25
define e(z){
auto a, b, c, d, n
a=1
b=1
c=1
d=0
n=1
while(1==1){
a=a*z
b=b*n
c=c+a/b
n=n+1
if(c==d) return(c)
d=c
}
}
2.7.
,
, , .
. -
, -
(;).
,
, ,
. ,
(y=y+123)
, -
.
-
, :
p=n[k=k*3]
n p,
k , k
.
bc ,
. " -
- 11 -
" .
x=y=z , x=(y=z)
x=+y x=x+y
x=-y x=x-y
x=*y x=x*y
x=/y x=x/y
x=%y x=x%y
x=^y x=x^y
x++ (x=x+1)-1
x-- (x=x-1)-1
++x x=x+1
--x x=x-1
! -
.
a=-b a= -b. a
a-b", -b.
2.8.
1. bc quit.
2. , ,
/1. "/*" -
"*/".
3. , -
, bc
bc -l
-
, : ( s),
(c), (a), (l),
(e)
(j(n,x)"). , -
. , 20
. ,
.
B
bc ...
bc
, .
-
.
.
- 12 -
2.9.
2.9.1.
-
,
( ); -
( scale); ,
.
2.9.2.
, , -
, .
, .
.
2.9.2.1.
/* -
*/.
2.9.2.2.
- -
, .
,
. -
, ,
. 2048 -
. ,
0 2047.
. ,
. -
: z,
z z.
2.9.2.3.
ibase if
obase break
scale define
sqrt auto
length return
while quit
for
- 13 -
2.9.2.4.
-
. -
A-F, 10-15, -
.
2.9.3.
,
. ,
,
, .
2.9.3.1.
2.9.3.1.1.
- ,
- . , -
.
- , .
- .
.
-[]
- .
.
scale, ibase obase
scale, ibase obase - -
. scale -
,
. scale .
ibase obase -
, . ibase,
obase 10.
2.9.3.1.2.
-.([.[,...]])
, -
,
, .
, , ,
-
.
, , -
, .
return,
-
- 14 -
return ,
return.
sqrt()
.
.
scale.
length()
. -
.
scale()
.
- .
2.9.3.1.3.
- .
2.9.3.1.4.
, -
. ,
.
2.9.3.2.
.
-
++
.
.
--_
. -
.
_++
.
.
_--
. -
- 15 -
.
2.9.3.3.
.
^
,
.
. a - , b -
( -
),
min(a*b,max(scale,a))
2.9.3.4.
*, /, % .
*
.
a b - , -
min(a+b,max(scale,a,b))
/
.
- scale.
%
% -
. , a%b - a-a/b*b. -
- scale.
2.9.3.5.
.
+
.
- -
.
-
.
- -
.
- 16 -
2.9.3.6.
.
_=
.
_=+
_=-
_=*
_=/
_=%
_=^
. .=. . .
- =.
2.9.4.
, -
, if, while
for.
<
>
<=
>=
==
!=
2.9.5.
bc -
(). auto -
,
. .
-
. -
- .
- 17 -
, auto,
. ,
.
, -
.
2.9.6.
-
. ,
, -
.
, ()
,
,
.
, -
{}.
,
"_"
, .
if
if()
, .
while
while()
, .
-
.
for
for(.;;.)
for , -
- 18 -
_
while(){
_
}
.
break
break
break while
for
auto
auto [,]
auto -
. -
. -
,
. auto
.
define
define([[,...]]){
}
define .
.
.
return
return
return()
return , -
-
.
return(0). -
.
quit bc
,
. quit
if, for
- 19 -
while.
2. dc
2.1.
dc, -
. ,
,
" ".
.
,
, .
:
. - -
0-9 A-F,
10-15, .
(_), .
.
+ - * / % ^
(+),
(-), (*), (/), -
(%) (^).
,
, . -
. -
.
,
.
sx
x, x .
s - , x ,
.
, .
- 20 -
lx
x .
. l - , x -
, -
.
,
l -
L.
d
.
p
.
.
f
.
-
, ,
dc.
[...]
,
.
q
. q
, . q -
,
.
<< >> = !<< !>> !=
.
,
, .
v
.
.
- 21 -
.
!
. dc,
.
c
; .
i
,
. i - ,
. -
16 -
.
o
, -
-
. o - , -
.
k
, -
, -
,
.
100. k - , -
.
z
.
?
( )
.
2.2.
2.2.1.
, -
.
100
- 22 -
( ).
. , 1234
"34 12".
, -
0 99 .
.
( 100
),
. -
-1,
0-99. , -1,
99. -157
: "43 98 -1".
.
.
, .
, ,
.
99,
, -
.
,
.
.001: 1,3; , -
, .
.
2.2.2.
, . dc -
. -
-
.