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