Реферат: Пакет MathCAD
A$ = Mid$(ІCOMPUTERІ, 3, 3) ўЗдесь Mid$ - функция
Mid$(A$, 2,1) =І$$$І ў Здесь Mid$ - оператор
StartTime$ = Time$ ў Здесь Time$ - функция
Time$ = І12:30І ў Здесь Time$ - оператор
Когда ключевое слово Mid$ стоит в правой части оператора присвоения, оно означает встроенную функцию. Перенос же Mid$ в левую часть превращает его в оператор.
Второй пример не совсем правомерен : Time$ правильнее назвать не функцией и не оператором, а системной переменной. Системные переменные есть и в среде MathCAD.
Пакету MathCAD не грех перенять из языка BASIC некоторые полезные вещи. Ему в частности, очень не хватает цикла Do...Loop, в тело которого вставляется условие прерывания If...Then Exit Do. В среде MathCAD нельзя, например, в автоматическом режиме реализовывать метод последовательных приближений. Без цикла этот метод допустим только в полуавтоматическом режиме: пользователь задаёт первое приближение искомой переменной, а затем цепочкой формул, где фигурирует данная переменная, получает её новое значение. Расчёт повторяется в цикле с ручным переносом до тех пор, пока новая пара значений не удовлетворит пользователя. Можно поступить ещё проще - не переносить новое значение переменной в головку блока выражений, а продублировать блок нужное число раз. Если в таком алгоритме сходимости нет, то его всё равно используют, называя при этом методом научного тыка. Именно ему адресован полуавтоматический цикл.
Кроме того, нужно помнить, что более - менее сложная система нелинейных уравнений окажется не по зубам не только пакету MathCAD, но и другим мощным пакетам - Mathemateca, Maple, Gauss и др. MathCAD в такой ситуации выдаст сообщение Did not find solution (Решение не найдено), заставляя пользователя переходить к полуавтоматическому режиму - менять значения начального приближения и (или) величину точности TOL (TOLerance - точность, погрешность). Функция Find решает систему так, чтобы левые и правые части входящих в неё уравнений отличались на величину, не превышающую значения TOL. Это ещё одна предопределённая (системная) переменная среды MathCAD, хранящая по умолчанию значение 0.001, которое можно изменить, записав в MathCAD - документе выражение TOL : = 0.00000001, например. Но и это часто не помогает. Только при строго определённых начальных условиях пакет MathCAD находит правильное решение. Шаг влево, шаг вправо - расстрел! Малейший отход от начальных условий - и из слова Find «вырывается пламя»: красное сообщение Did not find solution в той же красной рамке. Но эта же задача с неограниченным диапазоном исходных данных прекрасно решается последовательными приближениями с поиском в цикле корня одного - единственного уравнения. Отход от лобовой атаки (от использования блока Given...Find) возможен лишь в том случае, если система уравнений не абстрактная, какие обычно приводятся в задачниках по математике, а реальная, отображающая конкретную (физическую, химическую, биологическую и т.д.) задачу. Кроме того прикладник (физик, химик, биолог и т.д.), решая задачу может сделать разумные допущения, линеаризирующие, например, некоторые выражения или уменьшающие их число. Другое важное преимущество метода последовательных приближений состоит в том, прикладник, зная физика задачи, может менять точность расчётов при обработке выражений, входящих в систему. В блоке Given...Find, как было уже отмечено, это не допустимо. В нём можно лишь смягчить эту проблему с другого конца - ввести в выражения балластные (нормирующие ) коэффициенты, уравнивающие их по отношению друг к другу и позволяющие им решаться с одной точностью. А это опять же потеря физики в угоду математики. Но тем не менее все перечисленные ухищрения часто остаются тщетными из - за того, что система просто ... не имеет решения, да и вся задача ориентированна не на поиск корней, а на минимизацию некоторых величин. В этом случае функция Find заменяется на функцию Minerr (MINimal ERRor). С помощью блока Given...Minner можно решать широкий класс оптимизационных задач.
Для решения линейных алгебраических уравнений в пакете MathCAD есть особые инструменты - операторы и функции работы с матрицами и векторами. Элементы матриц и векторов в среде MathCAD должны либо иметь одинаковую размерность, либо быть безразмерными. А это не просто ошибка пакета, а общая методологическая ош