Задание программных модулей Программные операторы
Вплоть до появления последних версий системы MathCAD возможности программирования в них были крайне ограниченными. Фактически MathCAD позволяла реализовать лишь линейные программы, в основе которых лежит понятие функции. Функция if и ранжированные переменные в отдельных случаях могли заменить условные выражения и циклы, но с серьезными ограничениями. Отсутствовала возможность задания завершенных программных модулей.
Эти возможности наконец появились в версии MathCAD PLUS 6. 0 PRO и в расширенном варианте имеются в описываемой версии MathCAD 7. 0 PRO. Они сосредоточены в наборной панели программных элементов, показанной на рис. 12. 9.
Рис. 12. 9 Задание программных блоков
Как видно из рис. 12. 9, программный модуль в системе MathCAD превратился в самостоятельный модуль, выделяемый в тексте документа жирной вертикальной чертой. Он может вести себя как безымянная функция, не имеющая параметров, но возвращающая результат — первый пример на вычисление квадратного корня из числа 12. Программный модуль может выполнять и роль тела функции пользователя с именем и параметрами — второй пример.
Обзор программных операторов
Нетрудно заметить, что набор программных элементов для создания программных модулей весьма ограничен. Ниже приводится их перечень. Add Line — создает и при необходимости расширяет жирную вертикальную линию, справа от которой в шаблонах задается запись программного блока;
<— — символ локального присваивания (в теле модуля);
if — оператор условного выражения;
for — оператор задания цикла с фиксированным числом повторении;
while — оператор задания цикла типа "пока" (цикл выполняется, пока выполняется некоторое условие);
otherwise — оператор иного выбора (обычно применяется с if);
break — оператор прерывания;
Фcontinue — оператор продолжения;
Фreturn — оператор возврата;
Фоn error — оператор обработки ошибок.
Оператор Add Line
Оператор Add Line
выполняет функции расширения программного блока. Расширение фиксируется удлинением вертикальной черты программных блоков или их древовидным расширением. Благодаря этому в принципе можно создавать сколь угодно большие программы.
Оператор <-
Оператор <— выполняет функции внутреннего локального присваивания. Например, выражение х <— 123 присваивает переменной х значение 123. Локальный характер присваивания означает, что такое значение х сохраняет только в теле программы. За пределами тела программы значение переменной х может быть неопределенным либо равным значению, которое задается операторами локального: = и глобального = присваивания вне программного блока.
Оператор if
Оператор if является оператором условного выражения. Он задается в виде:
Выражение if Условие
Если Условие выполняется, то возвращается значение Выражения. Совместно с этим оператором часто используются оператор прерывания break и оператор иного выбора otherwise.
Оператор for
Оператор for служит для организации циклов с заданным числом повторений. Он записывается в виде:
for Var e Nmin.. Nmax
•
Эта запись означает, что если переменная Var меняется с шагом+ 1 от значения Nmin до значения Nmax, то выражение, помещенное в шаблон, будет выполняться. Переменную счетчика Var можно использовать в выражениях программы.
Оператор while
Оператор while служит для организации циклов, действующих до тех пор, пока выполняется некоторое Условие. Этот оператор записывается в виде:
while Условие
•
Выполняемое выражение записывается на место шаблона.
Оператор otherwise
Оператор иного выбора
otherwise обычно используется совместно с оператором if. Это поясняет следующая программная конструкция:
f (x): = 1 if х>0 возвращает 1, если х > О
-1 otherwise возвращает -1 во всех иных случаях
Оператор break
Оператор break вызывает прерывание работы программы всякий раз, когда он встречается. Чаще всего он используется совместно с оператором условного выражения if и операторами циклов while и for, обеспечивая переход в конец тела цикла.
Оператор continue
Оператор continue
используется для продолжения работы после прерывания программы. Обычно он применяется совместно с операторами задания циклов while и for,
обеспечивая после прерывания возврат в начало цикла.
Оператор return
Оператор return прерывает выполнение программы и возвращает значение своего операнда, стоящего следом за ним. Например, в приведенном ниже случае
return 0 if x<0
будет возвращаться значение 0 при любом х < 0.
Оператор on error
Оператор on error является оператором обработки ошибок, позволяющим создавать конструкции обработчиков ошибок. Этот оператор задается в виде:
Выражение_1 on error Выражение_2
Если при выполнении Выражения_1 возникает ошибка, то выполняется Выражение_2. С оператором on error связана функция error, которая обычно используется для возврата текстового сообщения об ошибке.