b
bc(1) | bc(1) |
Statements
E
{S ; ... ; S } if ( R ) S while ( R ) S
for ( E ; R ; E ) S null statement break
quit
Function De®nitions:
de®ne L ( L ,..., L ) {
auto L, ... , L S; ... S return ( E )
}
Functions in −l Math Library:
Functions in the
s(x) | sine |
c(x) | cosine |
e(x) | exponential |
l(x) | log |
a(x) | arctangent |
j(n,x) | Bessel function |
All function arguments are passed by value. Trigonometric angles are in radians where 2 pi radians = 360 degrees.
The value of a statement that is an expression is printed unless the main operator is an assignment. No operators are de®ned for strings, but the string is printed if it appears in a context where an expression result would be printed. Either semicolons or
The same letter can be used simultaneously as an array, a function, and a simple variable. All variables are global to the program. ``Auto'' variables are pushed down during function calls. When using arrays as function arguments or de®ning them as automatic variables, empty square brackets must follow the array name.
The % operator yields the remainder at the current scale, not the integer modulus. Thus, at scale 1, 7 % 3 is .1 (one tenth), not 1. This is because (at scale 1) 7 / 3 is 2.3 with .1 as the remainder.
EXAMPLES
De®ne a function to compute an approximate value of the exponential function:
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
}
}
Print approximate values of the exponential function of the ®rst ten integers.
for(i=1; i<=10; i++) e(i)
Section 1−42 | − 2 − |