
7. Программирование в среде MathCad
MathCAD позволяет писать программы, содержащие конструкции, подобные программным конструкциям языков программирования. Он имеет условные передачи управления, операторы циклов, различает области видимости переменных, использует подпрограммы и рекурсии. Подобно любому выражению, программа возвращает значение, если за ней следует знак равенства.
Главным различием между программой и выражением является способ задания вычислений. При использовании выражения алгоритм получения ответа должен быть описан одним оператором. В программе может быть использовано столько операторов, сколько нужно.
Если нажать на кнопку
математической палитрыMath
(Математика)
или выбрать Toolbars\Programming
(Панели
инструментов\Программирование)
из меню View
(Отображение),
то можно отобразить инструментальную
панель Programming
(Программирование),
операторы которой
представлены в таблице 7.1.
Операторы программирования используются
только в программах MathCAD.
Таблица 7.1. Операторы панели Programming и их «горячие клавиши».
Панель Programming: |
Операторы: |
Горячие клавиши: |
|
Add line– добавить строку |
] |
←локальное присваивание |
{ | |
if– оператор «если» |
} | |
otherwise– оператор «иначе» |
[Ctrl][Shift] ] | |
for– оператор циклаfor |
[Ctrl][Shift] ' | |
while – оператор цикла while |
[Ctrl] ] | |
break – оператор прерывания |
[Ctrl][Shift] [ | |
continue– оператор продолжения |
[Ctrl] [ | |
return– оператор возврата |
[Ctrl][Shift] \ | |
on error– оператор перехвата ошибки |
[Ctrl] ' |
Создание программ с линейной структурой
Подобно функциям языка программирования С++ любая программа MathCAD имеет, как правило, имя, аргументы, записанные в круглых скобках и оператор присваивания (:=). Справа знака определения в маркере, отмеченном черным прямоугольником (), кнопкой AddLine записывается шаблон программы в виде вертикальной черты и вектора из двух строк. Добавить новую строку в программу можно, если выделить предыдущую строку и нажать снова кнопку AddLine. Для локального присваивания в программе используется стрелка влево (см. таблицу 7.1).
Пример 7.1.На рис. 7.1 приведена расчетная схема эпи- и гипоциклоидных механизмов. ЧерезRиrобозначены радиусы центрального колеса и сателлита соответственно, размер стержняАВ=l(буква). Тогда проекции точкиВстержня на осиxиyдекартовой системы координат (в виде вектораX) будут иметь вид:
X0 = (1+ki)cos() - cos(((1+ki)/i)+k)– проекция на ось х,
X1 = (1+ki)sin() - ksin(((1+ki)/i)+k) – проекция на осьy,
где проекции точки В выражены в долях радиуса Rцентрального колеса:
i=r/R; = l/R; Х0=x/R; Х1=y/R.
Рис. 7.1. Расчетная схема эпи- и гипоциклоидных механизмов
Знаки заменены константойk=+1для внешнего иk=- 1 для внутреннего зацепления.
Пусть имя программы S, в круглых скобках указаны передаваемые программе формальные аргументы. КнопкойAddlineсозданы три строки программы, в которые записаны:
Программа Sвызывается функциямиF(φ)для эпициклоидных иG(φ)для гипоциклоидных механизмов. Траектория точкиВпредставлена на рис. 7.2. Там же показана окружность радиуса, равного единице (т.е.R).
Рис. 7.2. Траектории точки В
Таким образом, оператор AddLine(добавить строку) создает первую или новую, пустую строку в программе. Можно использовать операторAddLineдля создания строки составного оператора в теле цикла, в условном операторе и т.д. Нужно помнить, что операторAdd Lineсоздает маркер после (или перед) выделенным выражением.
Локальное присваивание (←) присваивает локальной переменной, записанной слева значение, записанное справа стрелки.Локальная переменная имеет контекст (область существования) только в пределах данной программы.