Обзор программных операторов.
Вплоть до появления 7 версии системы MathCAD возможности программирования в них были крайне ограниченными. Фактически MathCAD позволяла реализовать лишь линейные программы, в основе которых лежит понятие функции. Функция if и ранжированные переменные в отдельных случаях могли заменить условные выражения и циклы, но с серьезными ограничениями. Отсутствовала возможность задания завершенных программных модулей.
Эти возможности в расширенном варианте появились в MathCAD 7.0 Pro и имеются в описываемой версии MathCAD 2001 PRO. Они сосредоточены в наборной панели программных элементов Programming (показана на рисунке), включаемой кнопкой на панели Math. |
Отметим, что возможность составлять программы реализована только в версии Professional. Все эти MathCAD-программы с точки зрения программиста представляют собой подпрограммы-функции, которые могут возвращать в качестве результата число, вектор или матрицу. Функции могут вызывать сами себя (рекурсивно определенные функции) или другие подпрограммы-функции, определенные выше в том же MathCAD-документе.
Эти подпрограммы-функции составляются так же, как и определения функций. Рассмотрим простой пример вычисления суммы: Sum(n)=1+2+3+..+n:
- Задайте сначала имя функции Sum, вслед за которым введите список параметров (n) и оператор присваивания :=
- Введите начальное значение s <-- 0 и отметьте его целиком. Стрелка служит оператором присваивания в теле программы, вводитя клавишей { (открывающая фигурная скобка) или выбором кнопки со срелкой с панели.
- Создайте новую строку программы (вставка вертикальной черты) при помощи кнопки Add Line ( клавиша -] (закрывающая квадратная скобка)). На экране появится вертикальная черта и пустая ячейка.
- Выполните щелчок на кнопке for, чтобы ввести оператор цикла. Перед символом принадлежности введите переменную i, а после него - промежуток изменения переменной 1..n. В находящейся ниже ячейке введите присваивание s <- s+i. Программа готова.
Ниже в таблице приведены операторы, находящиеся на кнопках панели программирования.
Команды панели Symbolic (символы) | ||
Команда | Функция | Пример |
Add Line | Добавляет новую строку под/над (зависит от выделения) текущей строкой. | |
Присваивание значения локальной переменной. | ||
if | Условный оператор (оператор ветвления)if; условие должно стоять после if, а оператор, который исполняется, если выполнено заданное условие,- перед if. | |
otherwise | Обозначает оператор, который должет быть исполнен, если условие оператора if не выполняется. | |
for | Цикл for; за ключевым словом for следует переменная-счетчик, а после символа принадлежности вводится промедуток изменения этой переменной. Внутренние операторы цикла сдвинуты немного вправо. | |
while | Цикл while;внутренние операторы цикла будут исполняться до тех пор, пока будет истинным условие, следующее за ключевым словом while. Пример показыветприменение цикла для нахождения нулей функции методом касательных Ньютона. | |
break | Служит для преждевременного завершения цикла, чтобы, например, избежать зацикливания или слишком продолжительных вычислений. | |
continue | Служит для преждевременного завершения текущей итерации цикла; сам цикл при этом продолжается. | |
retutn | Преждевременное завершение программы; указанное в ячейке значение будет возвращено. | |
on error | Если при вычислении выражения expr2 возникла ошибка, вычисляется выражение expr1. |
Дата добавления: 2014-12-24; просмотров: 702;