DEF Statement ☆☆☆

DEF statements enables us to write functions defined by complicated expressions simply as f(x), g(x,y) and so on.

10 DEF f(x,y)=x^2+3*y^2
20 FOR x=-4 TO 4
30    FOR y=-4 TO 4
40        PRINT x,y,f(x,y)
50    NEXT y
60 NEXT x
70 END

Variables written in the parentheses succeeding DEF are called parameters.
Any variable which is written in other than the DEF line is a different variable, that is, even if it have the same name as that of a parameter, they have distinct locations on the memory.

10 DEF f(x)=x^3
20 LET x=4
30 PRINT f(2)
40 PRINT x
50 END

Variables x in line 10 and x in line 40 are different.
Thus the PRINT statement in line 40 outputs 4.

Variables in Common
Any variables other than parameters are common among the program unit.

10 DEF f(x)=a*x^2+b*x*c
20 INPUT a,b,c
30 PRINT f(1),f(2)
40 END 

On the above program, variables a, b, c in line 10 and variables a, b, c in line 20 are the same, respectively.

Define a function with no parameter
A function that have no parameter is written without parentheses.

10 DEF spot=INT(6*RND+1)
20 FOR i=1 TO 100
30    PRINT spot
40 NEXT i
50 END

The result of a DEF statement has the precision of over 16 digits on the decimal operation mode. (not rounded to 15 digits as on a LET statement)

Functions can not be re-defined during execution as on some interpreter dialect.