Программирование в Ptc MathCAD prime
Язык программирования MathCAD содержит все элементы языка высокого уровня, необходимые для математических расчетов. Будучи дополненным сотнями встроенных функций и операторов системы, возможностями численного и символьного расчета различных величин, он по эффективности не уступает профессиональным системам программирования.
Для написания процедур в системе MathCAD предусмотрена специальная вкладка «Программирование» пункта «Математика», содержащая все операторы и элементы языка (рис. 1).
Рисунок 1.
Операторы в процедуру вставляются с помощью кнопок этой вкладки (Рис.2).
Рисунок 2.
Основные операторы:
| – добавление новой строки в программу или создание заготовки процедуры из одной строки;
← – присвоение значения локальной переменной;
if – условный оператор. Позволяет в зависимости от условия выполнять или не выполнять те или иные действия;
else if- позволяет при невыполнении предыдущего условия проверить выполнение следующего условия;
else – используется сразу после оператораif и позволяет выполнить определенные действия при невыполнении условия в оператореif;
for – оператор создания цикла со счетчиком;
while – оператор создания цикла, выполнение которого продолжается до тех пор, пока выполняется указанное условие. continue – продолжить вычисления в цикле;
break – прервать вычисления в цикле;
return – оператор возврата значения;
Все внутренние переменные в процедуре являютсялокальными. То есть они будут видимыми только в рамках процедуры.
Создание процедуры
Технология создания процедуры-функциив рабочем документе MathCAD состоит из следующих шагов:
1. Ввести имя процедуры.
2. Указать список формальных параметров.
3. Ввести знак либо локального, либо глобального присвоения.
4. Выполнить команду| – добавление новой строки в программу. Появившейся на экране шаблон с вертикальной чертой и полями для ввода операторов будут составлять заготовку для тела процедуры. Вставка дополнительных строк осуществляется нажатием Enter.
5. Вписать операторы в шаблон-заготовку. Тело процедуры-функции может включать любое число операторов: локальных операторов присваивания, условных операторов и операторов цикла, а также вызовы других процедур.
6. Самоенижнее поле всегда предназначено для определения возвращаемого процедурой значения.
Линейные алгоритмы
Пример Требуется вычислить функцию
Разветвляющиеся алгоритмы
Для проверки условий в программах MathCAD служит оператор if . В поле ввода справа от if нужно ввести условие. Для ввода условий служит вкладка «Операторы» пункта «Математика»
В нижней части вкладки есть кнопки, предназначенные для проверки условий , а также кнопки, предназначенные для вставки логических операций (логическое отрицание, операция «и», операция «или», операция «исключающее или»). Вторые позволяют создавать сложные условия.
В поле ввода ниже ifнужно ввести строку программы, которая должна выполняться, если введенное условие истинно.
Если для условия «истинно» необходимо выполнение нескольких строк, надо установить курсор в последнее знакоместо ветви ifи нажать Enter. .
Для проверки выполнения нескольких условий используются ветви, начинающиеся с else if и else .После else ifзаписывается следующее условие, число ветвей else ifпрактически неограниченно. Операторы после elseвыполняются, если не выполнено ни одно из предыдущих условий.
Пример
Циклические алгоритмы
Для создания циклов в MathCAD предусмотрено два оператора for и while.
Цикл for – цикл со счетчиком.
В таких циклах создается некоторая переменная-счетчик, значение которой изменяется после каждого выполнения тела цикла. Выход из цикла происходит при достижении этой переменной заданного значения.. В поле ввода после слова for следует указать имя переменной – счетчика. Это может быть любое имя, которое не использовалось ранее в программе. Внутри цикла можно использовать эту переменную в любых выражениях, нельзя только присваивать ей никакого значения. В поле ввода после знака следует указать диапазон значений переменной-счетчика. Вводить диапазон в данном случае следует так же, как и при создании ранжированной переменной. В поле ввода под словом for следует ввести тело цикла.
Пример: Заполнить вектор числами от xнач до xкон с шагом h. Затем определить сумму элементов этого вектора и найти их среднее арифметическое значение.
Цикл while – цикл, который выполняется до тех пор, пока выполняется определенное условие.
В поле ввода справа от слова while следует ввести условие. Это условие строится по тем же правилам, что и в операторе if. Оно будет проверяться после каждого выполнения тела цикла и в тот момент, когда условие перестанет выполняться, повторение тела цикла прекратится. В поле ввода ниже слова while следует ввести тело цикла.
Пример. Найти первый элемент, превышающий определенный порог
Использование оператора break.
Иногда возникает необходимость повлиять на выполнение цикла некоторым образом, например, прервать его выполнение по какому-либо условию или выполнять некоторые итерации не так, как другие. Для этого и служат операторы break и continue.
Оператор break, если он расположен внутри цикла, означает немедленное прекращение выполнения текущей итерации и выход из цикла.
Пример: Выделить из массива все элементы от начала и до первого вхождения в него заданного числа.
Упражнения
Вычислить функцию
Вычислить функцию
Вычислить сумму
Эту задачу нетрудно решить, не прибегая к программированию процедуры.
Вычислить произведение
Без использования процедуры
Вычислить сумму с заданной точностью.
Результаты с разными погрешностями
Процедура табулирования позволяет получить таблицу значений аргумента и функции на заданном отрезке с шагом h.
Запоминаем результаты табулирования в матрице Rez
Выводим таблицу результатов на экран
Заносим значения аргумента из первого столбца матрицы в вектор X
Заносим значения функции из второго столбца матрицы в вектор Y
Строим график
Литература
1. http://sapr-journal.ru/uroki-mathcad/urok-1-vvedenie-v-mathcad/