Программирование функций

Для написания подпрограмм-функций в системе MathCAD предусмотрена специальная панель программирования –Programming (Программирование), содержащая все доступные операторы.

Общий вид панели Programming представлен на рисунке 1. Операторы в подпрограмму-функцию вставляются только с помощью кнопок этой панели.

Подробное описание операторов, представленных на панели, приведено в разделе 4.

Программирование функций - №1 - открытая онлайн библиотека

Рисунок 1 – Панель инструментов Программирование

При подготовке подпрограммы-функции, необходимо создать специальный, обособленный от остального документа, программный блок – тело функции. Выглядит он как черная вертикальная линия с маркерами, в которые заносятся выражения и операторы алгоритма. Чтобы построить единичный элемент программного блока, следует нажать кнопку команды Add Line (Добавить линию) панели Programming (Программирование).

В составном выражении, с помощью которого определяется подпрограмма, допускается использование переменных следующих трех категорий:

1) формальные аргументы определяемой функции, указанные в списке параметров функции после ее имени. Как правило, эти переменные используются в правых частях выражений и не изменяют своих значений оператором «f», хотя это формально и не запрещено. При выполнении подпрограммы формальные аргументы получают значения соответствующих им фактических аргументов, указанных при обращении к подпрограмме;

2) локальные переменные, определяемые непосредственно в подпрограмме оператором «f». Переменные этой категории обычно используются для хранения промежуточных результатов работы подпрограммы и используются как в левых, так и в правых частях выражений;

3) внешние переменные, которые должны получить свои значения в головной программе (основном документе) перед определением подпрограммы, в которой они используются. Как правило, внешние переменные используются в правых частях выражений и не изменяют своих значений оператором «f».

Если значение переменной присваивается в подпрограмме посредством оператора «f», то такая переменная будет являтьсялокальной. То есть она будет доступна только в рамках подпрограммы. Как-то повлиять на объекты вне подпрограммы она не сможет (равно, как извне к ней нельзя будет получить доступ).

Если переменная или функция задается выше блока подпрограммы с помощью оператора «:=», то она является глобальной. То есть такая переменная или функция будет доступна любому нижележащему объекту. Однако подпрограмма может только прочитать значение глобальной переменной или вызвать глобальную функцию.Изменить каким-либо образом значение глобальной переменной или функции подпрограмма не может.

Если подпрограмма должна осуществлять какую-то модификацию объекта, то результат своей работы она должна возвращать. В качестве результата подпрограмма может возвращать число, вектор или матрицу.

3 Описание подПрограммы–функции

Перед тем как использовать программу-функцию, следует ее описать. Описание подпрограммы-функции размещается в рабочем документе перед вызовом программы-функции и включает в себя заголовок функции и тело функции, соединенные в единое целое с помощью операции присваивания («:=»).

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

Технология создания программы-функции в рабочем документе MathCAD состоит из следующих шагов:

1) ввести заголовок функции;

2) ввести знак присваивания «: =»;

3) выполнить командуAdd line, расположенную на панели Programming (Программирование). Появившейся на экране шаблон с вертикальной чертой и полями для ввода операторов будут составлять заготовку для тела подпрограммы-функции;

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

5) самоенижнее поле всегда предназначено для определения возвращаемого подпрограммой значения.

Для того, чтобы обратиться у функции, следует указать имя функции со списком фактических параметров, который должен соответствовать списку формальных параметров (по типу, количеству, порядку следования).