информатика1ё / wesna / labor1 / 13в
.docЗадание 13
Вычислить выражение
используя подпрограмму вычисления суммы элементов массива. Значения n, k и значения элементов массива ввести в процессе выполнения программы.
Подпрограмма типа GOSUB
INPUT “k<n”; k,n
DIM X(N)
FOR I=1 TO N
INPUT X(I): NEXT I
L=1: M=N: GOSUB M1
T1=S: L=1: M=K: GOSUB M1
T2=S: L=K+1: M=N: GOSUB M1
T3=S: T=(T3/T2)*T1
PRINT “T=”; T: END
M1: S=0
FOR I=L TO M
S=S+X(I)
NEXT I: RETURN
Подпрограмма типа SUB
DECLARE SUB SUM (L,M,X( ),S)
INPUT “K<N”; K, N
DIM X(N)
FOR I=1 TO N
INPUT X (I): NEXT I
L=1: M=N
CALL SUM (L,M,X (I),S)
T1=S: L=1: M=K
CALL SUM (L,M,X (I),S)
T2=S: L=K+1: M=N
CALL SUM (L,M,X (I),S)
T3=S: T=T1*(T3/T2)
PRINT “T=”; T
END
SUB SUM (L,M,X ( ),S)
S=0
FOR I=L TO M
S=S+X (I)
NEXT I
END SUB
Подпрограмма типа FUNCTION
CLS
DECLARE FUNCTION SUM (L,M,X ( ))
INPUT “K<N”; K, M
DIM X(N)
FOR I=1 TO N
INPUT X (I)
NEXT I
T1=SUM (1,N, X ( ))
T2=SUM (1,K, X ( ))
T3=SUM (K+1,N, X ( ))
T=T1*(T3/T2)
PRINT “T=”; T
END
FUNCTION SUM (L, M, X( ))
S=0
FOR I=L TO M
S=S+X(I)
NEXT I: SUM = S
END FUNCTION