|
Лабы и лекции по Mathcad. 1. 1 Интерфейс пользователя
6.1 Обзор программных операторов.
![](18083_html_5d732463.png) ![](18083_html_m915ba3d.png) ![](18083_html_m7a8161da.png) ![](18083_html_4fe596f5.png)
Вплоть до появления 7 версии системы MathCAD возможности программирования в них были крайне ограниченными. Фактически MathCAD позволяла реализовать лишь линейные программы, в основе которых лежит понятие функции. Функция if и ранжированные переменные в отдельных случаях могли заменить условные выражения и циклы, но с серьезными ограничениями. Отсутствовала возможность задания завершенных программных модулей.
![](18083_html_69c4e6d2.png)
| Эти возможности в расширенном варианте появились в 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
| Добавляет новую строку под/над (зависит от выделения) текущей строкой.
|
|
![](18083_html_39365fb3.png)
| Присваивание значения локальной переменной.
|
![](18083_html_181b59fb.png)
| if
| Условный оператор (оператор ветвления)if; условие должно стоять после if, а оператор, который исполняется, если выполнено заданное условие,- перед if.
|
![](18083_html_m49b145fb.png)
| otherwise
| Обозначает оператор, который должет быть исполнен, если условие оператора if не выполняется.
|
![](18083_html_m49b145fb.png)
| for
| Цикл for; за ключевым словом for следует переменная-счетчик, а после символа принадлежности вводится промедуток изменения этой переменной. Внутренние операторы цикла сдвинуты немного вправо.
|
![](18083_html_4b6a16f2.png)
| while
| Цикл while;внутренние операторы цикла будут исполняться до тех пор, пока будет истинным условие, следующее за ключевым словом while. Пример показыветприменение цикла для нахождения нулей функции методом касательных Ньютона.
|
![](18083_html_m1f212918.png)
| break
| Служит для преждевременного завершения цикла, чтобы, например, избежать зацикливания или слишком продолжительных вычислений.
|
![](18083_html_m3291be74.png)
| continue
| Служит для преждевременного завершения текущей итерации цикла; сам цикл при этом продолжается.
|
![](18083_html_661cda35.png)
| retutn
| Преждевременное завершение программы; указанное в ячейке значение будет возвращено.
|
![](18083_html_fd40077.png)
| on error
| Если при вычислении выражения expr2 возникла ошибка, вычисляется выражение expr1.
|
![](18083_html_m5f813394.png)
|
![](18083_html_m6cfca884.gif)
|
|
|