Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методич_стат-исправлено.pdf
Скачиваний:
28
Добавлен:
09.04.2015
Размер:
1.59 Mб
Скачать

ВИД ПРОГРАММЫ НА ЯЗЫКЕ 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 PRINT

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 PRINT

n = 2

22

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

23

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

РЕЗУЛЬТАТЫ РАБОТЫ ПРОГРАММЫ В Qbasic

24