информатика1ё / wesna / labor1 / 16в
.doc16 вариант
Найти корни уравнений
лежащие на отрезке [0;1] с точностью 10-4 используя подпрограмму для решения уравнения f (x) = 0 по итерационной формуле Ньютона , где В качестве первого приближения взять . Считать, что требуемая точность достигнута, если очередная поправка по модулю меньше 10 -4.
Подпрограмма типа GOSUB
cls
VAR = 1
GOSUB 10
PRINT “ ВАРИАНТ=1 X=”; X
VAR=2
GOSUB 10
PRINT “ ВАРИАНТ=2 X=”; X
END
10 X=0
20 IF VAR=1 THEN
F = X ^ 2 + 0.2 * X - 0.84
DF = 2 * X + 0.2
ELSEIF VAR=2 THEN
F = X ^ 6 – 0.4 * X ^ 3-1.26
DF = 6 * X ^ 5 – 1.2 * X ^ 2
XX = F / DF
X=X-XX
IF ABS(XX)>0.0001 THEN 20
ENDIF
RETURN
Подпрограмма типа FUNCTION
DECLARE FUNCTION FUN (N)
X=FUN (1)
PRINT “ ВАРИАНТ=1 X=”; X
X=FUN (2)
PRINT “ ВАРИАНТ=1 X=”; X
END
FUNCTION FUN (N)
X=0
20 IF N=1 THEN
F = X ^ 2 + 0.2 * X - 0.84
DF = 2 * X + 0.2
ELSEIF N = 2 THEN
F = X ^ 6 – 0.4 * X ^ 3-1.26
DF = 6 * X ^ 5 – 1.2 * X ^ 2
ENDIF
XX = F / DF
X = X - XX
IF ABS(XX)>0.0001 THEN 20
FUN = X
END FUNCTION
Подпрограмма типа SUB
DECLARE SUB FUN (N, X)
CALL FUN (1, X)
PRINT X
CALL FUN (2, X)
PRINT X
END
SUB FUN ( N, X)
X=0
20 IF N = 1 THEN
F = X ^ 2 + 0.2 * X - 0.84
DF = 2 * X + 0.1
ELSEIF N=2 THEN
F = X ^ 6 – 0.4 * X ^ 3-1.26
DF = 6 * X ^ 5 – 1.2 * X ^ 2
ENDIF
XX = F / DF
X=X-XX
IF ABS(XX)>0.0001 THEN 20
END SUB