Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРОГРАММИРОВАНИЕ В МАТЕМАТИЧЕСКОМ ПАКЕТЕ MATHCAD.doc
Скачиваний:
35
Добавлен:
01.05.2014
Размер:
1.7 Mб
Скачать
  1. Дополнительные операторы программирования циклов в пакете Mathcad7Professional

    Оператор continue. Обычно используется для продолжения выполнения цикла путем возврата в начало тела цикла. Следующий пример поясняет работу этого оператора.

    Пример 2.14. Составим программу-функцию, формирующую новый вектор из положительных проекций исходного вектора.

В теле программы-функции используется функция last(v), определяющая индекс последнего элемента массива v ( см. замечание 2.5).

Обращение к этой программе функции имеет вид

Если очередной элемент v i не больше нуля, то пропускаются все нижележащие операторы тела цикла ( в нашем случае - два оператора, формирующие очередную проекцию вектора w) и тело цикла повторяется при новом значении параметра цикла i.

Оператор return. Прерывает выполнение программы-функции и возвращает значение операнда, стоящего за ним. Следующий пример поясняет работу этого оператора.

Пример 2.15. Составим программу-функцию, находящую первую положительную проекцию исходного вектора. Возможны два варианта.

Вариант А Вариант B

Вариант B представляется более простым и "элегантным".

Оператор on error. Этот оператор является обработчиком возникающих при выполнении тех или иных вычислений ошибок и записывается в виде :

< выражение 1 > on error < выражение 2 >

и выполняется < выражение 1 >, если при выполнении < выражение 2 > возникает ошибка. Если ошибка не возникает, то выполняется < выражение 2 >.

Пример 2.16. Используем оператор on error для предотвращения появления ошибки "деление на нуль" при вычислении функции angl(x,y).

Функция error. Используется для вывода диагностических сообщений при возникновении в вычислениях ошибки и записывается в виде

error ( "< диагностическое сообщение пользователя >")

Функция используется в левом поле условного оператора if, как показано в следующем примере.

Пример 2.17. Программирование вывода диагностического сообщения при попытке спроектировать вектор v на нулевой вектор w.

3. Модульное программирование в Mathcad

Общая идея модульного программирования состоит в следующем:

  • реализации вычислительных процессов в виде отдельных программных единиц - модулей;

  • обращении к этим модулям в других программах с передачей данных, необходимых для вычислительного процесса.

Модульное программирование позволяет уменьшить объем исходных текстов программ, сделать их более читаемыми, ускорить написание и тестирование программ, уменьшить расходы на сопровождение (эксплуатацию) программ.

Модульное программирование в пакете Mathcad можно реализовать двумя методами :

  • модульное программирование в пределах одного документа Mathcad;

  • модульное программирование в нескольких документах Mathcad.

3.1. Модульное программирование в одном документа

Этот метод характеризуется тем, что :

  • для реализации простых вычислений используются локальных функций, а более сложные - программы - функции;

  • описание локальных функций, программ-функций и их вызов ( т.е. обращение к ним ) находятся в пределах одного документа и хранятся в одном файле. При этом часто внутри одной программы-функции находится вызовы локальных функций, встроенных функций Mathcad и другой программы-функции.

Пример 5.1. Реализуем в виде программы-функции вычисление определенного интеграла вида

используя формулу Симпсона с автоматическим выбором числа узлов. При этом программа-функция Simpson(f,a,b,N) вычисляет определенный интеграл по формуле Симпсона при фиксированном числе интервалов N, а программа-функция Adapt(f,a,b) выбирает по заданной точности вычисления интеграла ( равной 10-8 ) количество интервалов.

Используя эти программы - функции вычислим определенный интеграл от функции f(x) = x2 на отрезке [0,1]. Точное значение интеграла равно 1/3=0.33333333333333... Обращение к программе-функции Adapt дает результат

Перед обращением к программе-функции Adapt необходимо описать функцию пользователя f(x) в виде

f(x) : = x2,

так как имя функции f(x) используется в качестве фактического параметра.