home *** CD-ROM | disk | FTP | other *** search
- REM this is Program CRAMERS3.BAS, A program to calculate the
- REM solutions to 3 simultaneous linear equations in 3 unknowns
- REM using Cramer's Rule of substitution to form 3X3 Determinates
- REM
- REM THIS PROGRAM WAS WRITEN BY MICHAEL P. FINERTY 10/18/84
- REM ************************************************************
- 10 REM
- REM A(N)*X1 + B(N)*X2 + C(N)*X3 = D IS AN EQUATION IN 3 UNKNOWNS
- VAR DET, DET0, DET1, DET2, DET3 = REAL.DOUBLE
- VAR A$ = STRING
- VAR N = INTEGER
- REM
- DIM COM REAL.DOUBLE A(3) B(3) C(3) D(3) X(3) Y(3) Z(3)
- REM
- REM READ IN VALUES OF A,B,C&D FOR EACH OF THE EQUATIONS
- REM
- FOR N = 1 TO 3
- PRINT "PLEASE INPUT A(";N;")"
- INPUT A(N)
- PRINT "PLEASE INPUT B(";N;")"
- INPUT B(N)
- PRINT "PLEASE INPUT C(";N;")"
- INPUT C(N)
- PRINT "PLEASE INPUT D(";N;")"
- INPUT D(N)
- NEXT N
- FOR N = 1 TO 3
- X(N) = A(N)
- Y(N) = B(N)
- Z(N) = C(N)
- NEXT N
- REM
- GOSUB 100
- REM
- DET0 = DET
- IF DET0 = 0 THEN PRINT "INCONSISTANT EQUATIONS, NO SOLUTION"
- IF DET0 = 0 THEN 200
- FOR N = 1 TO 3
- X(N) = D(N)
- Y(N) = B(N)
- Z(N) = C(N)
- NEXT N
- REM
- GOSUB 100
- REM
- DET1 = DET
- PRINT "X1 = "; DET1/DET0
- REM
- FOR N = 1 TO 3
- X(N) = A(N)
- Y(N) = D(N)
- Z(N) = C(N)
- NEXT N
- REM
- GOSUB 100
- REM
- DET2 = DET
- PRINT "X2 =";DET2/DET0
- REM
- FOR N = 1 TO 3
- X(N) = A(N)
- Y(N) = B(N)
- Z(N) = D(N)
- NEXT N
- REM
- GOSUB 100
- REM
- DET3 = DET
- REM
- PRINT "X3 = ";DET3/DET0
- REM
- 200 REM
- PRINT "DO YOU WISH TO SOLVE ANOTHER SET OF EQUATIONS? Y/N?"
- INPUT A$
- IF A$ = "y" OR A$ = "Y" THEN 10
- END
- 100 REM SUBROUTINE TO CALCULATE DETERMINATES FROM X(N),Y(N) AND
- REM Z(N)
- REM
- DET = X(1)*Y(2)*Z(3) + X(2)*Y(3)*Z(1) + X(3)*Y(1)*Z(2)
- DET = DET - X(3)*Y(2)*Z(1) - X(1)*Y(3)*Z(2) - X(2)*Y(1)*Z(3)
- RETURN
-
- X(N) = A(N)
- Y(N) =