Лекция: ВИД ПРОГРАММЫ НА ЯЗЫКЕ QBASIC
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