home *** CD-ROM | disk | FTP | other *** search
- 0001:00 REM this is Program CRAMERS3.BAS, A program to calculate the
- 0002:00 REM solutions to 3 simultaneous linear equations in 3 unknowns
- 0003:00 REM using Cramer's Rule of substitution to form 3X3 Determinates
- 0004:00 REM
- 0005:00 REM THIS PROGRAM WAS WRITEN BY MICHAEL P. FINERTY 10/18/84
- 0006:00 REM ************************************************************
- 0007:00 10 REM
- 0008:00 REM A(N)*X1 + B(N)*X2 + C(N)*X3 = D IS AN EQUATION IN 3 UNKNOWNS
- 0009:00 VAR DET, DET0, DET1, DET2, DET3 = REAL.DOUBLE
- 0010:00 VAR A$ = STRING
- 0011:00 VAR N = INTEGER
- 0012:00 REM
- 0013:00 DIM COM REAL.DOUBLE A(3) B(3) C(3) D(3) X(3) Y(3) Z(3)
- 0014:00 REM
- 0015:00 REM READ IN VALUES OF A,B,C&D FOR EACH OF THE EQUATIONS
- 0016:00 REM
- 0017:00 FOR N = 1 TO 3
- 0018:01 PRINT "PLEASE INPUT A(";N;")"
- 0019:01 INPUT A(N)
- 0020:01 PRINT "PLEASE INPUT B(";N;")"
- 0021:01 INPUT B(N)
- 0022:01 PRINT "PLEASE INPUT C(";N;")"
- 0023:01 INPUT C(N)
- 0024:01 PRINT "PLEASE INPUT D(";N;")"
- 0025:01 INPUT D(N)
- 0026:01 NEXT N
- 0027:00 FOR N = 1 TO 3
- 0028:01 X(N) = A(N)
- 0029:01 Y(N) = B(N)
- 0030:01 Z(N) = C(N)
- 0031:01 NEXT N
- 0032:00 REM
- 0033:00 GOSUB 100
- 0034:00 REM
- 0035:00 DET0 = DET
- 0036:00 IF DET0 = 0 THEN PRINT "INCONSISTANT EQUATIONS, NO SOLUTION"
- 0037:00 IF DET0 = 0 THEN 200
- 0038:00 FOR N = 1 TO 3
- 0039:01 X(N) = D(N)
- 0040:01 Y(N) = B(N)
- 0041:01 Z(N) = C(N)
- 0042:01 NEXT N
- 0043:00 REM
- 0044:00 GOSUB 100
- 0045:00 REM
- 0046:00 DET1 = DET
- 0047:00 PRINT "X1 = "; DET1/DET0
- 0048:00 REM
- 0049:00 FOR N = 1 TO 3
- 0050:01 X(N) = A(N)
- 0051:01 Y(N) = D(N)
- 0052:01 Z(N) = C(N)
- 0053:01 NEXT N
- 0054:00 REM
- 0055:00 GOSUB 100
- 0056:00 REM
- 0057:00 DET2 = DET
- 0058:00 PRINT "X2 =";DET2/DET0
- 0059:00 REM
- 0060:00 FOR N = 1 TO 3
- 0061:01 X(N) = A(N)
- 0062:01 Y(N) = B(N)
- 0063:01 Z(N) = D(N)
- 0064:01 NEXT N
- 0065:00 REM
- 0066:00 GOSUB 100
- 0067:00 REM
- 0068:00 DET3 = DET
- 0069:00 REM
- 0070:00 PRINT "X3 = ";DET3/DET0
- 0071:00 REM
- 0072:00 200 REM
- 0073:00 PRINT "DO YOU WISH TO SOLVE ANOTHER SET OF EQUATIONS? Y/N?"
- 0074:00 INPUT A$
- 0075:00 IF A$ = "y" OR A$ = "Y" THEN 10
- 0076:00 END
- 0077:00 100 REM SUBROUTINE TO CALCULATE DETERMINATES FROM X(N),Y(N) AND
- 0078:00 REM Z(N)
- 0079:00 REM
- 0080:00 DET = X(1)*Y(2)*Z(3) + X(2)*Y(3)*Z(1) + X(3)*Y(1)*Z(2)
- 0081:00 DET = DET - X(3)*Y(2)*Z(1) - X(1)*Y(3)*Z(2) - X(2)*Y(1)*Z(3)
- 0082:00 RETURN
- 0083:00
- 0084:00 ****** End of program ******
-