Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
DECLARE SUB simp (a!, b!, n!, sim!)
DECLARE SUB trap (a!, b!, n!, tr!)
DECLARE SUB pr (a!, b!, n!, prm!)
DECLARE FUNCTION F! (x!)
CLS
INPUT "Введите a= "; a
INPUT "Введите b= "; b
INPUT "Введите e= "; e
n = 2
DO
CALL pr(a, b, n, prm)
CALL pr(a, b, 2 * n, prm1)
n = 2 * n
LOOP UNTIL ABS(prm1 - prm) < e
PRINT "шаг интегрирования h="; (b - a) / n
PRINT "значение интеграла по методу прямоугольника="; prm
PRINT " кол-во шагов для достижения точности Eps ="; n
n = 2
DO
CALL trap(a, b, n, tr)
CALL trap(a, b, 2 * n, tr1)
n = 2 * n
LOOP UNTIL ABS(tr1 - tr) < e
PRINT "шаг интегрирования h="; (b - a) / n
PRINT "значение интеграла по методу трапеции="; tr
PRINT " кол-во шагов для достижения точности Eps ="; n
n = 2
DO
CALL simp(a, b, n, sim)
CALL simp(a, b, 2 * n, sim1)
n = 2 * n
LOOP UNTIL ABS(sim1 - sim) < e
PRINT "шаг интегрирования h="; (b - a) / n
PRINT "значение интеграла по методу Симпсона="; sim
PRINT " кол-во шагов для достижения точности Eps ="; n
END
FUNCTION F (x)
F = (x ^ 2 * LOG(1 / x)) / (1 - x)
END FUNCTION
SUB pr (a, b, n, prm)
h = (b - a) / n
prm = 0
FOR x = a TO b - h STEP h
prm = prm + F(x)
NEXT x
prm = prm * h
END SUB
SUB simp (a, b, n, sim)
s1 = 0: s2 = 0
h = (b - a) / n
FOR x = a + h TO b - 2 * h STEP 2 * h
s1 = s1 + F(x)
s2 = s2 + F(x + h)
NEXT x
sim = h * (F(a) + 4 * s1 + 2 * s2 + F(b)) / 3
END SUB
SUB trap (a, b, n, tr)
tr = 0
h = (b - a) / n
FOR x = a + h TO b STEP h
tr = tr + F(x)
NEXT x
tr = h * ((F(a) + F(b)) / 2 + tr)
END SUB
Дата публикования: 2015-04-10; Прочитано: 316 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!