BASIC PROGRAMMING 2
BASIC MATHEMATICAL FUNCTIONS
The BASIC language will allow the following functions to be used within arithmetic expressions.
1) BASIC ABS Function: The ABS function returns the absolute value of an expression.
Format
ABS(X)
Where
X is a number, numeric variable or numeric expression
For example, ABS (-4.2) = 4.2
2) BASIC EXP Function: The EXP function calculates the value of e raised to the X power, where e is equal to 2.71828. That is, EXP(X) is equivalent to 2.71828 X.
Format
EXP (X)
Where
X is a number, numeric variable, expression, or another function. For example, EXP (1) = 2.71828
3) BASIC INT Function: The INT function returns the value of the largest integer not greater than the argument.
Format
INT(X)
Where
X is a number, numeric variable, expression, or another function. For example, INT (2.1) = 2
This function can be used to round numbers to the nearest integer by specifying INT(X+0.5).
For example, the function INT (34.67) has the value 34; the functions INT(34.67+.5) and INT(34.37+.5) have these values of 35 and 34, respectively; and these functions INT(-23) and INT(- 14.39) have these values of – 23 and – 15, respectively.
4) BASIC RND Function: The RND function produces random numbers between (but not including O and 1).
Format
RND(X)
where
X is a dummy variable in this function. RND returns the next pseudo – random number in a uniformly distributed set of numbers in a range. 0 <= RND (X) < 1
5) BASIC SGN Function: The SGN function creates a value based on the sign of the argument. Format
SGN(X)
Where
X is a number, numeric variable, numeric expression, or another function.
The value of the SGN function will be 1 if the argument is any positive number, 0 if the argument is zero and – 1 if the argument is negative.
For example, SGN (+23.1) = 1
6) BASIC SQR Function: The SQR function computes the positive square root of an expression. X must not be negative.
Format
SQR (X)
Where
X is a number, numeric variable, numeric expression, or another function.
7) BASIC ATN Function: The ATN function calculates the angle (in radians) whose tangent is given as the argument of the function.
Format
ATN(X)
Where
X is a number, numeric variable, expression, or another function, representing the tangent of an angle.
For example, ATN(1) = 0.7853982, since the tangent of π/4 is 1.
8) BASIC COS Function: The COS function is used to calculate the cosine of an angle specified in radians.
Format
COS(X)
Where
X is a number, numeric variable, expression, or another function, representing the size of an angle in radians.
For example: COS (0.78539818) = 0.7071
Note: /4 0.78539818
9) BASIC LOG Function: The LOG function calculates the natural logarithm of X (to the base e). Format
LOG(X)
Where
X is a number, numeric variable, expression, or another function.
10) BASIC SIN Function: The SIN function is used to calculate the sine of an angle specified in radians.
Format
SIN(X)
Where
X is a number, numeric variable, expression or another function, representing the size of an angle in radians.
For example: SIN (1.0472) =0.866
Note: /3 1.0472
CONVERSION FROM DEGREE TO RADIAN
The magnitude in radians of one complete revolution (360 degrees) is the length of the entire circumference divided by the radius, or 2πr /r, or 2π. Thus 2π radians is equal to 360 degrees, meaning that one radian is equal to 180/π degrees.
One radian is equal to 180/π degrees. Thus, to convert from radians to degrees, multiply by 180/π.
Conversely, to convert from degrees to radians, multiply by π/180.
Radians can be converted to turns by dividing the number of radians by 2π
RADIAN TO DEGREE CONVERSION DERIVATION
We know that the length of circumference of a circle is given by 2πr , where r is the radius of the circle.
So, we can very well say that the following equivalent relation is true:
360°⇔ 2πr[Since a 360° sweep is need to draw a full circle].
By definition of radian, we can formulate that a full circle represents:
2πr/r rad = 2π rad
Combining both the above relations we can say:
2π rad = 360°
1 rad = 360°/2π
1 rad = 180/π
TRIGONOMETRIC FUNCTION GRAPH ON BASIC PROGRAMMING LANGUAGE
In plotting the trigonometric function graph on BASIC, the program should display a horizontal axis to represent the angle X, and the vertical axis to represent the function of the graph. The graph should be store in a two dimensional table having 21 rows and 51 columns. Each cell of the table been used to store a single character. Before the coordinates of the graph can be stored in the table each cell must be initialized with a space character, then the vertical axis with scale and horizontal axis can be stored.
Using the trigonometric functions, the coordinates of the graph can be used as subscripts to the table and an ”*” character can be stored to represent the plot of the function. When the plotting of characters is completed, the contents of the table can be printed row by row, and finally the horizontal scale printed at the bottom of the graph. Since the functions Sin (X) and Cos (X) will only produce values in the range 1 to 1inclusive, it is necessary to convert the values 1 to 21 inclusive on the table. Thus, the ordinates (+1) is transformed to row 1, and the ordinate (-1) is transformed to row 21. Intermediate ordinates must also be transformed to row value. To achieving this transformation, it is necessary to define two functions.
Worked Examples
1) Write a BASIC program to find the square root of numbers from 10 to 50.
Solution
10 REM Program to calculate the square root of numbers
20 PRINT “NUMBER”, “SQUARE ROOT”
30 FOR N = 10 TO 50 STEP 1
40 LET Q = SQR (N)
50 PRINT N, Q
60 NEXT N
70 STOP
2) Write a program to print the values of LOG (X) and EXP (X) for X varying between 1 and 10 in steps of 0.5.
Solution
10 REM VALUES OF LOG(X) AND EXP (X)
20 PRINT “X”, “LOG(X)”, “EXP(X)”
30 FOR X = 1 TO 10 STEP 0.5
40 REM CALCULATE THE VALUE OF LOG(X) AND EXP(X)
50 LET A = LOG(X)
60 LET B= EXP(X)
70 PRINT X, A, B
80 NEXT X
90 STOP
3) Write a program to evaluate Sin²x + Cos²x – 1 and Tan²x – Sec²x +1 for values of X between 0 and 1 in steps of 0.1 radians.
Solution
10 REM EVALUATING THE VALUES OF TRIGONOMETRIC FUNCTIONS
20 PRINT “X”, “Y”, “Z”
30 FOR X = 0 TO 1 STEP 0.1
40 LET Y = SIN(X)^2 + COS(X)^2-1
50 LET Z = TAN(X)^2 – (1/(COS(X)^2)) + 1
60 PRINT X, Y, Z
70 NEXT X
80 STOP
4)
then derive a user defined function to calculate the logarithm of a number of any valid given base. Use this function in writing a computer program to find the logarithms of the numbers from 2 to 10 in steps of 0.5 to the base 2 to 10 in steps of 2. Your output should be presented in the form of a table having the numbers down the page and the bases across the page.
Solution
10 REM PROGRAM TO EVALUATE LOGARITHM FUNCTION
20 DEF FNL (A) = LOG(A) / LOG(B)
30 PRINT “NUMBERS”, “BASES”
40 PRINT TAB(10); “2” ; TAB(25); “4” ; TAB(40); “6”;
50 PRINT TAB(55); “8”; TAB(70); “10”
60 FOR A = 2 TO 10 STEP 0.5
70 PRINT A
80 FOR B = 2 TO 10 STEP 2
90 PRINT TAB(10 + 15*(B-2)/2); FNL(A);
100 NEXT B
110 PRINT
120 NEXT A
130 STOP
5) Write a program to calculate the roots of a quadratic equation ax² + bx + c = 0 for the formula
The values of a, b, and c being input at the beginning of the program. Consider the implications within your program of b² < 4ac.
Solution
10 REM CALCULATING THE ROOTS OF QUADRATIC EQUATION
20 INPUT “COEFFICIENTS (A, B,C”,A,B,C
30 IF A = 0 THEN STOP
40 LET D = B*B-4*A*C
50 IF D>0 THEN PRINT “REAL DISTINT ROOTS”,
60 LET X1 = (-B+SQR(D))/(2*A)
70 LET X2 = (-B-SQR(D))/(2*A)
80 PRINT “ROOTS ARE”; “X1”; “X2”
90 GOTO 20
100 IF D<0 THEN PRINT “IMAGINARY ROOTS”;
110 STOP
6) Write a program to simulate the rolling of two dice and determine the number of doubles that appear for the digits 1 to 6 inclusive, when the dice are rolled.
(a) 10 times.
(b) 100 times.
(c) 1000 times.
Solution
10 DIM D(6)
20 FOR S=1 TO 3 )
30 READ M
40 DATA 10,100,1000
50 FOR J=1 TO 6
60 D(J) = 0
70 NEXT J
80 FOR R = 1 TO M
90 LET X = INT(6*RND(1)+1)
100 LET Y = INT(6*RND(1)+1)
110 IF X = Y THEN D(X) = D(X) + 1
120 NEXT R
130 PRINT “FOR”;M; “ROLLS OF DICE, DOUBLES ARE:”
140 PRINT
150 PRINT “NUMBER”, “FREQUENCY”
160 FOR J = 1 TO 6
170 PRINT J, D(J)
180 NEXT J
190 NEXT S
200 STOP
7) The line Y = 2X+3 divides the X, Y planes into the two regions. Write a program to input order pairs of numbers that represent coordinates in the X, Y plane. Compute whether the point indicated by the coordinate’s lies above, below or on the line. Print the coordinates indicating the position of the point relative to the line.
Solution
10 INPUT X, Y
20 REM CALCULATE ORDINATE OF Y = 2X + 3
30 LEY Y1=2*X+3
40 REM FIND THE POSITION OF THE POINT RELATIVE TO LINE
50 LET D = Y-Y1
60 PRINT “COORDINATES”;X; “” ; Y;
70 IF D<0 THEN PRINT “BELOW LINE”
80 IF D=O THEN PRINT “ON LINE”
90 IF D>0 THEN PRINT “ABOVE LINE”
100 STOP
8) Write a program to print the values of SINE (X), COSINE (X) and TAN (X) for X varying between 0° and 360° in steps of 15°.
Solution
10 REM VALUES OF SIN(X), COS(X) AND TAN(X)
20 PRINT “X”, “SIN(X)”, “COS(X)”, “TAN(X)
30 FOR X = 0 TO 360 STEP 15
40 LET X1= X*3.14159/180
50 LET A=SIN(X1)
60 LET B = COS(X1)
70 LET C = TAN(X1)
80 PRINT X, A, B,C
90 NEXT X
100 STOP
9) Write a program to evaluate
0≤X≤1 step 0.05
Solution
10 FOR X = 0 TO 1 STEP 0.05
20 LET Y = (SQR(X))^2-X
30 PRINT X, Y
40 NEXT X
50 STOP
10) Write a program to evaluate
1 ≤ x ≤ 10 step 1
Solution
10 FOR X = 1 TO 10 STEP 1
20 LET Y = EXP(LOG(X))-X
30 PRINT X, Y
40 NEXT X
50 STOP
11) Write a program to evaluate tan (arc tan(x)) – x.
-100 ≤ x ≤ 100 100 step 10
Solution
10 FOR X = – 100 TO 100 STEP 10
20 LET Y = TAN (ATN(X))-X
30 PRINT X, Y
40 NEXT X
50 STOP
One Comment
Jamel Alford
To the austintommy.com.ng webmaster, Your posts are always well received by the community.