MathCAD

       

Операторы и функции


Второе отличие функции от оператора в среде Mathcad в том, что оператор имеет фиксированное количество операндов: один (n! – факториал, например), два (сложение, вычитание, степень, дифференциал, неопределенный интеграл), три (сумма и произведение элементов вектора, производная высокого порядка и др.), четыре (сумма и произведение ряда, определенный интеграл (см. выше) и т.д.).

Некоторые же функции (Find, MinErr, Minimize, Maximize, например) способны иметь дело с переменным числом аргументов. Третье отличие функции от оператора в среде Mathcad в том, что встроенную функцию можно переопределить. Если, например, пользователя не устраивает то, что аргумент синуса должен быть в радианах, он может заставить синус «глотать» угловые градусы (рис. 1.29).

Внешне для пользователя функция отличается от оператора тем, что у функции есть имя (это обычно слово или сокращение слова), а у оператора – символ. Правда, некоторые операторы вообще не имеют ни имени, ни символа: xy (x в степени y) и Vi (i-й элемент вектора V). Функций-анонимов в среде Mathcad нет.

Пара операторов Mathcad может иметь один и тот же символ, но прописанный разным стилем: сравните светлое равно (вывод числового значения) и полужирное равно (булево равенство). В среде Mathcad можно оперировать одноименными переменными и функциями пользователя с различным шрифтом, с помощью которого отмечаются совершенно различные переменные и функции. Так, в расчете основные переменные можно прописать шрифтом размером 14, а вспомогательные – 10. Традиционные языки программирования такого «безобразия» не допускают.

Одна из причин популярности Mathcad заключается в том, что пользователь вправе вставлять в документы либо функцию, либо оператор в зависимости от того, к чему он привык, изучая математику в школе или в институте. Благодаря этому Mathcad-документ максимально похож на лист с математическими выкладками, написанными от руки или созданными в среде какого-либо текстового процессора (Scientific Word, ChiWriter и др.).


А вот вторая причина успеха. Традиционное программирование разводит во времени процесс решения задачи на три независимых этапа: программа пишется, затем отлаживается

и оптимизируется. В среде Mathcad эти процессы слиты воедино: вводя новую формулу в документ, можно не только посмотреть результат вычислений по ней, но и построить график, создать анимационный клип и т.д.

В среде Mathcad 7 и 8 операторы «:=» (ввод значения) и «=» (вывод значения) несколько перепутались. Если пользователь забудет, что переменная А, например, не определена, и наберет на клавиатуре «A=», то оператор вывода «=» автоматически превратится в оператор присваивания «:=» (технология SmartOperator – сообразительный оператор). Вот хорошее правило: никогда не используйте оператор «:=» для ввода значения переменной. Для этого нужно использовать оператор «=». Это убережет от случайного переопределения «занятой» переменной – как пользовательской, так и встроенной. Переменная А, например, – это один ампер.

Создавая пользовательский оператор, ему можно давать не только имя, но и символ, незанятый встроенными операторами. В конце рис. 1.29 показана технология создания булевого оператора «примерно равно», доводящего до семи (опять семь!) список операторов сравнения вещественных величин («равно», «неравно», «больше», «меньше», «больше или равно» и «меньше или равно» – см. соответствующие кнопки на панели Evaluation на рис. 1.3 и 1.29). Символ «»» берется из таблицы символов Windows (Alt+0196) или из таблицы символов самого Mathcad (см. ниже), которая вызывается из Центра Ресурсов. Здесь это уже не общая переменная (с шрифтом Arial Cyr), а переменная первого пользователя (User1 со шрифтом Symbol). На рис. 1.15 по такой же технологии введена пользовательская единица измерений – угловой градус (°).



Кроме того, диалог пользователя с компьютером в средах Mathcad 7 и 8 обогащен текстовыми переменными. Для их поддержки введены «текстовые» функции. Их работа показана в пункте 1 на рис. 1.30.


Содержание раздела