1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | 10 PRINT 'РЕШЕНИЕ СИСТЕМ ЛИНЕЙНЫХ УРАВНЕНИЙ МЕТОДОМ’ 20 PRINT ‘ГАУССА С ВЫБОРОМ ГЛАВНОГО ЭЛЕМЕНТА’ 30 INPUT ‘ЗАДАЙТЕ ЧИСЛО УРАВНЕНИЙ N = ‘N 40 DIM A(N,N),B(N),C(N,N),G(N),X(N) 50 FOR I = 1 TO N: FOR J= 1 TO N 60 PRINT ! 2.0 ! ‘ВВЕДИТЕ A’I’,’J’ = ‘ : INPUT A(I,J) : NEXT J 70 PRINT ‘ВВЕДИТЕ B '1' = ':INPUT B(I) : NEXT I 80 GOSUB 100 85 FOR I= 1 TO N 90 PRINT ! 2.0 ! ‘X’I’ = ‘!F1 .9 !X(I): NEXT I: STOP 100 LETN1 = N- 1 : FOR K = 1 TO N1 110 IF ABS (A(K,K))> 0 GOTO 200 120 LETK1 = K+ 1 : FOR M=K1 TON 130 IF ABS (A(M,K))> 0 GOTO 150 140 GOTO 165 150 FOR L= 1 TO N:LETV=A(K,L):LETA(K,L)=A(M,L) 160 LETA(M,L)=V:NEXT L 165 NEXT M 170 LETV = B(K):LETB(K)=B(M) : LETB(M)=V 200 LETG(K) = B(K)/A(K,K):LETK1=K+ 1 210 FOR I = K1: TO N:LETB(I)=B(I)-A(I,K)*G(K) 220 FOR J1=K TO N:LET J = N-J1+K:LETC(K,J)=A(K,J)/A(K,K) 225 LETA(I,J) = A(I,J)-A(I,K)*C(K,J) 230 NEXT J1:NEXT I:NEXT K 240 LETM = N:LETX(M) = B(M)/A(M,M) 250 LETM = M- 1 :LETS= 0 : FOR L=M TO N1 260 LETS = S+C(M,L+ 1 )*X(L+ 1 ):NEXT L 270 LETX(M) = G(M)-S: IF M> 1 GOTO 250 280 RETURN: END |
Тестирование выполнено в программе QB64 ( Скачать )