DECLARE FUNCTION r! (x() AS SINGLE, y() AS SINGLE, h AS SINGLE, m AS SINGLE)
DECLARE FUNCTION f! (x AS SINGLE, y AS SINGLE)
DIM n AS INTEGER
DIM x0 AS SINGLE, y0 AS SINGLE, h AS SINGLE, m AS SINGLE, b AS SINGLE
CLS
INPUT "Nachalnoe uslovie x0:"; x0
INPUT "Nachalnoe uslovie y0:"; y0
INPUT "Pogreshnost:"; E
INPUT "Shag pechati:"; h0
INPUT "Konec otrezka integrirovaniya [x0;b]:"; b
n = FIX((b - x0) / h0) + 1
PRINT "Nachalnoe uslovie x0:"; x0
PRINT "Nachalnoe uslovie y0:"; y0
PRINT "Shag pechati:"; h0
FOR i = 1 TO n
h = h0
m = 1
y = r(x(), y(), h, m)
DO UNTIL ABS(y - y1) < E
y1 = y
h = h / 2
x = x0
y = y0
m = 2 * m
y = r(x, y, h, m)
LOOP
x0 = x0 + h0
y0 = y
PRINT "x0 ="; x0,"y0 ="; y0, "h0 ="; h0, "m ="; m
NEXT i
END
FUNCTION f (x AS SINGLE, y AS SINGLE)
f = y(x)
END FUNCTION
FUNCTION r! (x() AS SINGLE, y() AS SINGLE, h AS SINGLE, m AS SINGLE)
FOR j = 1 TO m
k1 = f(x(j), y(j))
k2 = f(x(j) + h / 2, y(j) + h * k1 / 2)
k3 = f(x(j) + h / 2, y(j) + h * k2 / 2)
k4 = f(x(j) + h, y(j) + h * k3)
y(j + 1) = y(j) + h / 6 * (k1 + 2 * k2 + 2 * k3 + k4)
x = x + h
NEXT j
r = y(j + 1)
END FUNCTION
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.