Форум сайта python.su
Помогите пожалуйста перевести два кода из BAsic в Python^
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) = V
200 LETG(K) = B(K)/A(K,K):LETK1=K+1
210 FOR I = K: TO N:LETB(I)=B(I)-A(I,K)=G(K)
220 FOR J:=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
Офлайн
PRINT ‘ЧИСЛЕННОЕ ИНТЕГРИРОВАНИЕ С ЗАДАННОЙ ТОЧНОСТЬЮ’
PRINT’ МЕТОДОМ ГАУССА’
INPUT’ ВВЕДИТЕ НИЖНИЙ ПРЕДЕЛ ИНТЕГРИРОВАНИЯ A‘Q
INPUT’ ВВЕДИТЕ ВЕРХНИЙ ПРЕДЕЛ ИНТЕГРИРОВАНИЯ B’B
INPUT’ ВВЕДИТЕ ПОГРЕШНОСТЬ РЕЗУЛЬТАТА E=’N
LETN=N*60: LETM=1 : LETK=0
LETM=2*M:LETA=Q
LETT=SQR(.6):LETI=0:LETH=(B-A)/M
FOR J=1 TO M:LETW=A+H:LETC=(W+A)/2
LETD=(W-A)/2:LETE=D*5/9
LETL=D*8/9:LETD=D*T
LETX=C-D:GOSUB 130:LETI=1+E*F
LETX=C:GOSUB 130:LETI=1+L*F
LETX*C+D:GOSUB 150:LETI=I+E*F
LETA=W:NEXT J
LETL=K:LETK=I
IF ABS(I-L)>N THEN 40
PRINT’ЗНАЧЕНИЕ ИНТЕГРАЛА I=’I:STOP
LETF=SQR(2*X+1):RETURN:END
Офлайн