Compucolor.org – Virtual Media

Listing of file='SIMEQU.BAS;01' on disk='vmedia/ncc_18-sector.ccvf'

5 REM  -------------------------------------
6 REM  SIMULTANEOUS EQUATION BY D.NIVEN
7 REM  MODIFIED BY T. LEE 11/11/81
8 REM  -------------------------------------
10 CLEAR 100:PLOT 12:PRINT "SIMULTANEOUS EQUATIONS":PRINT
15 PRINT :PRINT "FORMAT = X1+X2+......XN = CONSTANT    (2<N<8)":PRINT
20 REM  - LIMIT A() TO A(R,R+1) WHERE R=MAX NO OF EQUATIONS
25 DIM A(7,8)
30 INPUT "NUMBER OF EQUATIONS > ";R
35 PRINT :PRINT
40 FOR J= 1TO R:PRINT :PRINT "EQUATION";J:PRINT ""
45 FOR I= 1TO R+ 1:IF I= R+ 1THEN 130
110 PRINT "       X";I;:GOTO 140
130 PRINT "  CONSTANT";
140 INPUT " = ";A(J,I)
150 NEXT I
160 NEXT J
161 PRINT :INPUT "DO YOU HAVE ANY CORRECTIONS (Y/N) > ";A$
162 IF LEFT$ (A$,1)< > "Y"THEN 170
163 PRINT :INPUT "ENTER ROW & COL :";M,A
164 PRINT "A(";M;",";A;")= ";:INPUT "";A(M,A)
165 GOTO 161
170 FOR J= 1TO R
178 REM  - STATEMENTS 180 TO 220 FIND THE 1ST EQUATION WITH A
179 REM  - NON-ZERO COEFFICIENT FOR THE CURRENT COLUMN
180 FOR I= JTO R
190 IF A(I,J)< > 0THEN 230
200 NEXT I
210 PRINT "NO UNIQUE SOLUTION"
220 GOTO 440
229 REM  - STATEMENTS 230 TO 270 MOVE THAT EQUATION UP TO THE CURRENT ROW
230 FOR K= 1TO R+ 1:X= A(J,K):A(J,K)= A(I,K):A(I,K)= X
240 NEXT K
279 REM  - STATEMENTS 230 TO 270 GET A 1 COEFFICIENT IN THE 1ST
280 REM  - NON-ZERO COLUMN OF THE CURRENT ROW
285 Y= 1/ A(J,J)
290 FOR K= 1TO R+ 1:A(J,K)= Y* A(J,K):NEXT K
315 REM  - STATEMENTS 320 TO 380 SUBTRACT THE CURRENT EQUATION
318 REM  - FROM THE OTHER ROWS
320 FOR I= 1TO R:IF I= JTHEN 380
340 Y= - A(I,J)
350 FOR K= 1TO R+ 1:A(I,K)= A(I,K)+ Y* A(J,K):NEXT K
380 NEXT I
389 REM  - THIS PROCESS IS REPEATED FOR ALL EQUATIONS
390 NEXT J:PRINT
400 REM  - PRINT SOLUTIONS
405 PRINT :PRINT "SOLUTION":PRINT
410 FOR I= 1TO R
420 PRINT "X";I;" = ";INT (A(I,R+ 1)* 1000+ 0.5)/ 1000
430 NEXT I
435 PRINT :INPUT "HIT RETURN TO CONTINUE :";A
440 PRINT :INPUT "REPEAT ? > ";A$:IF LEFT$ (A$,1)= "N"THEN END
450 GOTO 10
460 END