Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Вид программы на языке 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

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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...