- •ВВЕДЕНИЕ
- •2. СОЗДАНИЕ И РЕДАКТИРОВАНИЕ ФОРМУЛ И ТЕКСТА
- •2.1.Курсор
- •2.2. Шаблоны
- •2.3. Текстовые области
- •2.4. Задание размерности
- •3. ВХОДНОЙ ЯЗЫК СИСТЕМЫ
- •3.1. Общие сведения
- •3.2. Алфавит
- •3.3. Элементарные конструкции
- •3.4. Выражения
- •3.5. Операторы
- •3.6. Константы и переменные
- •3.7. Функции
- •3.7.1. Встроенные функции
- •3.7.2. Функции, принимающие несколько значений
- •3.7.3. Функции, определяемые пользователем
- •4. РАБОТА С ДОКУМЕНТАМИ
- •5. ВЫПОЛНЕНИЕ ВЫЧИСЛЕНИЙ
- •6. ВЕКТОРЫ И МАТРИЦЫ
- •6.1. Создание и отображение массивов
- •6.2. Задание элементов массивов
- •6.3. Векторные и матричные операции
- •6.4. Векторные и матричные функции
- •6.4.1. Формирование матриц
- •6.4.2. Определение размеров массивов и значений элементов
- •6.4.3. Сортировка векторов и матриц
- •6.4.4.Специальные характеристики матрицы
- •7. ПОСТРОЕНИЕ ГРАФИКОВ
- •7.1. Графические возможности
- •7.2. Создание графиков на плоскости
- •7.2.1. График в декартовых координатах (X-Y Plot)
- •7.2.2. График в полярной системе координат (Polar Plot)
- •7.3. Построение трёхмерных графиков
- •7.3.1. Создание трёхмерных графиков
- •7.3.2. Форматирование трехмерных поверхностей
- •7.3.3. Построение контурных графиков (Contour Plot)
- •7.3.4. Построение точечного графика (3D Scatter Plot)
- •7.3.5. Построение трёхмерной гистограммы
- •7.3.6. Векторное поле (Vector Field Plot)
- •7.4. Применение функций CreateMesh и CreateSpace
- •7.5. Импорт изображений
- •8. ДАННЫЕ ФАЙЛОВОГО ТИПА
- •9. СИМВОЛЬНЫЕ ВЫЧИСЛЕНИЯ
- •9.1. Организация символьных вычислений
- •9.2. Меню Symbolics
- •9.2.1. Обзор команд меню Symbolics
- •9.2.2. Операции с выделенными выражениями
- •9.2.3. Операции с выделенными переменными
- •9.2.4. Операции с выделенными матрицами
- •9.2.5. Операции преобразования
- •9.3. Система SmartMath
- •9.3.1 Операции символьного вывода
- •9.3.2.Состав директив
- •9.3.3. Вычисление пределов
- •9.3.4. Специальные функции
- •9.3.5. Большие символьные результаты
- •10. РЕШЕНИЕ УРАВНЕНИЙ И СИСТЕМ
- •10.1. Решение уравнения с одной неизвестной
- •10.2. Поиск всех корней полинома
- •10.3. Решение систем нелинейных уравнений и неравенств
- •10.4. Решение систем линейных уравнений
- •10.5. Символьное решение алгебраического уравнения
- •11. ОБРАБОТКА ДАННЫХ
- •11.1. Интерполяция
- •11.2. Регрессии
- •11.3. Сглаживание данных
- •12. ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ И СИСТЕМЫ
- •12.1. Методы решения
- •12.2. Пример использования функции rkfixed
- •12.3. Решение системы ОДУ первого порядка
- •13. ПРОГРАММНЫЕ БЛОКИ
- •13.1. Программирование в пакете MathCad
- •13.2. Программные операторы
- •ЗАДАНИЯ
- •БИБЛИОГРАФИЧЕСКИЙ СПИСОК
- •ОГЛАВЛЕНИЕ
i := 0 .. 99 |
|
|
|
|
|
20 |
|
|
|
10 |
|
40 |
20 |
0 |
20 |
S i ,1 |
|
10 |
|
|
|
|
|
|
|
20 |
|
|
|
30 |
|
|
|
S i ,2 |
|
Рис.7. График решения дифференциального уравнения
13.ПРОГРАММНЫЕ БЛОКИ
13.1.Программирование в пакете MathCad
Средства программирования включаются только в версии пакета MathCad Professional.
Программные блоки выделяются в документе жирной вертикальной чертой и формируются с помощью операторов (инструкций). Путём применения программного блока можно реализовать алгоритм вычислений для получения результата. Кроме того, разрешено встраивать программные блоки в определение функций. Операторы приведены на панели Programming, которая выводится на экран командой
View|Toolbars|Programming.
Средства программирования системы MathCad обладают ограниченными возможностями. Однако они позволяют формировать функций с локальным определением переменных, создавать различные циклические структуры, в том числе вложенные, реализовывать по классическим алгоритмам итерации и рекурсии.
64
13.2. Программные операторы
Для организации программы необходимы операторы, реализующие основные базовые структуры: следование, ветвление и цикл с предусловием. Структура «следование» реализована путём выполнения операторов в зависимости от их расположения в документе. Ветвления организуются операторами if и otherwise, а циклы – операторами while и for. Ниже приведён перечень программных операторов MathCad.
Add Line – формирование программного блока; ← – локальное присваивание;
if – условный оператор;
for – оператор цикла с фиксированным числом повторений; while – оператор цикла с предусловием;
otherwise – оператор иного выбора (иначе); break – оператор прерывания;
continue – оператор продолжения; return – оператор возврата;
оn error – оператор обработки ошибок.
Оператор Add Line создает и при необходимости расширяет жирную вертикальную линию, которая ограничивает программный блок и справа от которой в шаблонах записываются операторы или выражения.
Оператор ← (стрелка влево) используется для локального присваивания в пределах программного блока.
Оператор условия if возвращает значение выражения, если условие имеет значение «истина» (выполняется). Сначала записывается выражение, затем директива if, после которой вводится условие:
Выражение if Условие
Совместно с условным оператором часто используется оператор «иначе» otherwise. Этот оператор позволяет задать действия для тех случаев, когда условие не выполняется (имеет значение «ложь»). Сначала следует записать выражение, а потом директиву otherwise. Например, функцию, которая имеет значение 0 при x<0 и значение 1 для всех других значений аргумента, можно определить следующим образом:
f(x) := 0 if x < 0
1 otherwise
65
Оператор for служит для организации циклов с заданным числом повторений. Он записывается в виде:
for n Nmin.. Nmax
sin(0.01 n)
Сначала задаётся диапазон изменения управляющей переменной (в примере – n) от начального значения до конечного с шагом +1, а в нижнем поле ввода записывается выражение, которое составляет тело цикла. В определяемом выражении можно использовать управляющую переменную (параметр) цикла.
Оператор while служит для организации циклов, которые повторяются до тех пор, пока выполняется заданное Условие. Условие можно задать отношением или просто выражением. Следует учитывать, что по сути оператор работает с выражением и повторяет тело цикла пока выражение положительно. Даже если записано отношение, оно преобразуется в арифметическое выражение, которое используется при принятии решения о завершении цикла. Этот оператор записывается в виде:
while Условие
В поле ввода, расположенное ниже, записывается выполняемое выражение.
Оператор break вызывает прерывание работы программы. Чаще всего он используется совместно с оператороми if, while и for.
Оператор continue используется для продолжения работы после прерывания программы. Обычно он применяется совместно с операторами задания циклов while и for, для возврата в начало цикла после прерывания.
Оператор return прерывает выполнение программы и возвращает значение выражения, стоящего за словом return. Например, получение значения 0 при любом х < 0 обеспечивает оператор:
return 0 if x<0
Оператор on error является оператором обработки ошибок, позволяющим создавать конструкции обработчиков ошибок. Этот оператор задается в виде:
Выражение_1 on error Выражение_2
Если при выполнении Выражения_1 возникает ошибка, то выполняется Выражение_2. С оператором on error связана
66
функция error, которая обычно используется для возврата текстового сообщения об ошибке.
Программный модуль в большинстве случаев является функцией, описанной с помощью программных операторов. После имени функции в круглых скобках через запятую указываются параметры, а затем записывается оператор присваивания. Параметры используются для передачи значений при вызове функции, по области действия они являются локальными, то есть видимыми только в пределах программного блока. Помимо локальных переменных в блоке можно использовать определённые в документе переменные, которые по отношению к программному блоку являются глобальными. В программном блоке разрешено применять любые операторы и функции входного языка системы.
Чтобы начать формирование программного блока, следует применить оператор Add Line – появится вертикальная черта и два поля ввода.
h(t) := s ← 1
while t |
|
|
|||
|
|
|
s ← s t |
h(3) |
= 6 |
|
|
||||
|
|
|
t ← t − 1 |
||
|
|
|
|
|
|
s |
|
|
Далее по мере записи операторов можно расширять программный блок оператором Add Line с учётом необходимости создания вложенных структур. Этот оператор удлиняет или добавляет жирную вертикальную черту, в зависимости от формируемой области. Как принято в пакете, контроль фрагмента, по отношению к которому задаётся действие, осуществляется по уголку из синих линий. Функция возвращает значение, определяемое последней инструкцией (если не использован оператор return).
Примеры создания и использования программных блоков приведены в Resource Center системы MathCad. Большое число «шпаргалок» Quiсksheets иллюстрирует применение различных операторов при формировании программных блоков.
67