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

Практическая работа №19

Тема: Программирование в Mathcad.

1. Цель работы:изучитьосновы программированияв математическом пакетеMathcad.

2. Оборудование, приборы, аппаратура, материалы: персональный компьютер, программа Mathcad.

Краткие теоретические сведения

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

Язык программирования MathCADсодержит все элементы языка высокого уровня, необходимые для математических расчетов. Будучи дополненным сотнями встроенных функций и операторов системы, возможностями численного и символьного расчета различных величин, он по эффективности не уступает профессиональным системам программирования. Кроме того, у него есть одно очень крупное преимущество: язык программирования MathCADпредельно прост.

Как правило, при использовании функций, встроенных в систему MathCAD, пользователи не задумываются о том, на основании каких методов и решений достигается цель, поставленная перед функцией. Такая встроенная функция используется по типу «черного ящика» – пользователь познакомился с ее описанием/спецификацией, вызвал для решения, получил ответ.

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

Спецификация функций

Спецификация функции состоит из ее заголовка и описания назначения – выходного значения или результата работы функции. Для примера можно обратиться к мастеру функций и более внимательно посмотреть на предоставляемые им для его функций описания. На рис. 1 открыта страница со спецификацией функцииrnorm.

Заголовок содержит имя функции(rnorm) и список формальных параметров (m, mu, sigma). Каждая пользовательская программа – функция MathCADдолжна иметь оригинальное имя, используя которое будет осуществляться обращение к этой программе-функции. Через это же имя (и только через это имя) «возвращается» в рабочий документ результат выполнения программы-функции.

Через формальные параметры «внутрь» программы-функции «передаются» данные, необходимые для выполнения вычислений внутри программы. В качестве формальных параметров могут использоваться имена простых переменных, массивов и функций. Формальные параметры отделяются друг от друга запятой.

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

Рис. 1. Спецификация функций, представляемая мастером функций

При описании назначения функции необходимо сказать, что возвращает функция в качестве своего результата (в описываемой функции rnormвозвращает вектор нормально распределенных случайных значений). При этом обязательно нужно пояснить роль каждого из формальных параметров, перечисленных в заголовке (m– количество значений, mu– среднее значение, sigma– стандартное отклонение).

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

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

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

Назначение основных команд, представленных на панели:

(AddLine)– добавление новой строки в программу или создание заготовки программы из двух строк, если программы еще не существует;

– присвоение значения локальной переменной;

if– условный оператор. Позволяет в зависимости от условия выполнять или не выполнять те или иные действия;

else– используется сразу после оператораifи позволяет выполнить определенные действия при невыполнении условия в оператореif;

for– оператор создания цикла со счетчиком;

while– оператор создания цикла, выполнение которого продолжается до тех пор, пока выполняется указанное условие. continue– продолжить вычисления в цикле;

break– прервать вычисления в цикле;

return– оператор возврата;

try– оператор перехода при возникновении ошибки.

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

Рис. 2. Вид панели инструментовПрограммирование

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

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

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

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

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

Все программы, составляемые в пакете MathCAD, с точки зрения любого языка программирования (например, TurboPascal) представляют собой подпрограммы – функции, которые могут возвращать в качестве результата число, вектор или матрицу.

Программирование на Си. #5. Функции.


Похожие статьи.

Понравилась статья? Поделиться с друзьями: