информатика1ё / wesna / labor1 / 10в
.docЗадание 10
Вычислить выражение
где
Использовать подпрограмму вычисления y(x). Вычисление суммы прекратить, когда очередной член станет меньше 10 4.
Подпрограмма типа GOSUB
E=0.0001
X=1
P=0
GOSUB M1
P1=Y
X=1/2: GOSUB M1
P2=2*Y
P=(ATN (P1/SQR (1-P1^2)) + ATN (P2))/2
PRINT “P=”; P
END
M1: Y=0
K=1
M2: Z= (X^K) / ((2*K-1) * (2*K+1))
Y=Y+Z
K=K+1
IF Z > = E THEN GOTO M2
RETURN
Подпрограмма типа SUB
X=1
CALL SUMMA (X,Y1)
X=0.5
CALL SUMMA (X ,Y2)
Y2=Y2*2
P= (ATN ((Y2) + ATN (Y1 / SQR (1-Y1^2))/2
PRINT “P=”; P
END
SUB SUMMA (X ,Y)
Y=0
K=1
E=0.0001
M1: Z= (X^K) / ((2*K-1) * (2*K+1))
Y=Y+Z
K=K+1
IF Z > = E THEN GOTO M1
END SUB
Подпрограмма типа FUNCTION
DECLARE FUNCTION SUMMA (X)
X=1
P1 = SUMMA (X)
X=0.5
P2 = SUMMA (X)
P2 = P2 * 2
P= (ATN ((P2) + ATN (P1 / SQR (1-P1^2))/2
PRINT P
END
FUNCTION SUMMA (X)
Y=0
K=1
E=0.0001
M1: Z= (X^K) / ((2*K-1) * (2*K+1))
Y=Y+Z
K=K+1
IF Z > = E THEN GOTO M1
SUMMA = Y
END FUNCTION