Модульное программирование в пределах одного документа MathCAD
Этот метод характеризуется тем, что:
- для реализации простых вычислений используются функции пользователя, а для более сложных – П-Ф;
- описания функций пользователя, П-Ф и их вызов находятся в пределах одного документа и хранятся в одном файле. При этом в теле П-Ф могут находиться вызовы других функций пользователя и П-Ф.
- невозможность «автономной» отладки и тестирования П-Ф и их модификации в процессе эксплуатации программы;
- невозможность использования разработанных П-Ф в нескольких документах MathCAD без дублирования их описания;
- невозможность эффективного использования П-Ф из библиотек, ориентированных на решение определенного класса задач. Такие библиотеки размещаются на Web-сайтах в Internet (см. п. 7.4).
Пример 7.2.1.
Составим П-Ф вычисления определенного интеграла вида:
![](image/image545.gif)
используя формулу Симпсона с автоматическим выбором числа интервалов, на которые делится отрезок интегрирования [a, b].
Подпрограмма-функция Simpson (f,a,b,N) (приведенная на рис. 7.2.1) выделяет определенный интеграл по формуле Симпсона при фиксированном числе интервалов N, а подпрограмма-функция Adapt-Simpson (f, a, b,
![](image/image546.gif)
увеличивает число интервалов до тех пор, пока не будет достигнута заданная точность вычисления интеграла
![](image/image546.gif)
![](image/image547.gif)
где I2 – значение интеграла, вычисленного по удвоенному (по сравнению с интегралом I1) числу интегралов (длина которых стала в два раза меньше).
На рис. 7.2.2 показаны вызовы П-Ф для определенной подынтегральной функций f(x). Для контроля вычисленных значений интегралов здесь же приводятся значения интегралов, вычисленных с помощью оператора Интеграл (палитра Математический анализ). Видно, что при
![](image/image548.gif)
Задание 7.2.1. Составьте описания П-Ф вычисления интеграла вида (7.2.1.) с точностью
![](image/image546.gif)
![](image/image549.gif)
где
![](image/image550.gif)
![](image/image551.gif)
Рис. 7.2.1. Подпрограммы-функции вычисления интегралов
![](image/image552.gif)
![](image/image553.gif)
![](image/image554.gif)
![](image/image555.gif)
Рис. 7.2.2. Вычисление интеграла различными способами
Модульное программирование в одном документе имеет ряд недостатков:
Эти недостатки устраняются при переходе к модульному программированию в нескольких документах, подробно рассмотренному в следующем пункте.