Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод указание по курсу информатика.doc
Скачиваний:
33
Добавлен:
09.04.2015
Размер:
2.94 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

a = 3

b = 4

e = .001

n = 10

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

n = n1

a = 3

b = 4

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

a = 3

b = 4

n = n1

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 ="; 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 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 / 3 * (F(a) + 4 * s1 + 2 * s2 + F(b))

END SUB

SUB trap (a, b, n, tr)

tr = 0

h = (b - a) / n

FOR x = a + h TO b - h STEP h

tr = tr + 2 * F(x)

NEXT x

tr = tr * h / 2

END SUB

Результаты работы.

шаг интегрирования h= 7.8125E-04

значение интеграла по методу прямоугольника = 6.146729

кол-во шагов для достижения точности Eps N = 1280

шаг интегрирования h=.0015625

значение интеграла по методу трапеции = 6.129273

кол-во шагов для достижения точности Eps N = 640

шаг интегрирования h= 7.8125E-04

значение интеграла по методу Симпсона = 6.133154

кол-во шагов для достижения точности Eps N = 10240

Результат расчета вПпп эврика.

у=6.1485692

Вывод: Значение интеграла, вычисление всеми способами достаточно близки

Методические указания к выполнению лабораторной работы на пк

1. Подынтегральную функцию варианта задания оформляем как подпрограмму функцию, используя в меню оболочки QuickBasic режим:

FUNCTION F(Х)

F= < функция соответствующего варианта >

END FUNCTION

Запись всех подпрограмм можно осуществить через меню оболочки QuickBasic:

1. Alt - вход в меню

2. EDIT - всплывающее меню редактирования

3. NEW SUB - создание новой подпрограммы ( NEW FUNCTION -создание новой подпрограммы функции)

4. Набираем в диалоговом окне новое имя подпрограммы ( например: INTT)

5. На экране появляется заготовка для создания подпрограммы:

SUB <имя подпрограммы>

END SUB

6. Приступаем к написанию подпрограммы между ключевыми словами SUB и END SUB

Все вспомогательные подпрограммы объединяются управляющей программой или головным модулем. Переход от текста управляющей программы к текстам подпрограмм происходит при нажатии клавиш ALT + F1, наоборот - ALТ + F2

Контрольные вопросы

1 Когда используются процедуры?

2 Как создаются подпрограммы, процедуры?

3 Что такое управляющий модуль?

4. Как просмотреть все присоединённые модули?

5. Где объявляются присоединённые подпрограммы? Каким оператором?

6. Какие параметры называются фактические ?

7. Какие параметры называются формальные?

8. Как передаются данные из подпрограммы в программу и наоборот?

9. Чем отличаются задачи на интегрирование с заданным числом разбиения отрезка от задачи с заданной точностью вычисления?

10. В чем заключаются численные методы интегрирования?

11. Как реализуется один из методов (по выбору) на Qb?

12. Как определить погрешность метода?

13. Как осуществляется интегрирование с автоматическим методом выбором шага интегрирования?