Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

Тема: Программные операторы в Mathcad

ЛАБОРАТОРНАЯ РАБОТА 8

В системе Mathcad можно реализовать расчеты по сложным разветвленным алгоритмам или с циклическими процессами. Это реализуется использованием встроенных программных операторов, похожих на используемые в различных языках программирования (рис. 1.17). Как видно на рис. 1.18 и 1.19, где вычисляется факториал, программный модуль в системе Malhcad превратился в самостоятельный блок, причем при необходимости выполнить несколько операторов, их объединяют жирной вертикальной чертой.

Рис. 1.17 Рис. 1.18 Рис. 1.19

Модуль может вести себя как безымянная функция без параметров, но возвращающая результат – первый пример. Программный модуль может выполнять и роль тела функции пользователя с именем и параметрами – второй пример.

Набор программных операторов для создания программных модулей ограничен и содержит следующие элементы:

· Add Line – создает и при необходимости расширяет жирную вертикальную линию, справа от которой в шаблонах задается запись программного блока;

· – символ локального присваивания (в теле модуля);

· if – условный оператор;

· for – оператор задания цикла с фиксированным числом повторений;

· while – оператор задания цикла, действующего до тех пор, пока выполняется некоторое условие;

· otherwise – оператор иного выбора (обычно применяется с if);

· break – оператор прерывания;

· continue – оператор продолжения;

· return – оператор возврата;

· on error – оператор обработки ошибок.

Оператор добавления линии Add Line выполняет функции расширения программного блока. Расширение фиксируется удлинением вертикальной черты программных блоков или их древовидным расширением. Благодаря этому, в принципе, можно создавать сколь угодно большие программы.

Оператор внутреннего присваивания выполняет функции внутреннего, локального присваивания. Например, выражение присваивает переменной x значение 123. Локальный характер присваивания означает, что такое значение х сохраняет только в теле программы. За пределами тела программы значение переменной х может быть неопределенным, либо равно значению, которое задается вне программного блока операторами локального := или глобального присваивания.

Условный оператор if является оператором для создания условных выражений. Он задается в виде:

Если условие выполняется, то возвращается значение выражения. Совместно с этим оператором часто используются операторы прерывания break и иного выбора otherwise.

Оператор цикла for служит для организации циклов с заданным числом повторений. Он записывается в виде:

Эта запись означает, что выражение, помешенное в расположенный ниже заменитель, будет выполняться для значений переменной Var, меняющихся от Nmin до Nmax с шагом +1. Переменную счетчика Var можно использовать в исполняемом выражении.

Оператор цикла while служит для организации циклов, действующих до тех пор, пока выполняется некоторое условие. Этот оператор записывается в виде:

Выполняемое выражение записывается на место расположенного ниже заполнителя.

Оператор иного выбора otherwise обычно используется совместно с оператором if. Это поясняет следующая программная конструкция:

Здесь f(x) получает значение 1, если х>0, и –1 во всех остальных случаях.

Оператор прерывания break вызывает прерывание работы программы всякий раз, как он встречается. Чаще всего он используется совместно с оператором условного выражения if и операторами циклов while и for, обеспечивая переход в конец тела цикла.

Оператор продолжения continue используется для продолжения работы после прерывания программы. Он также чаще всего используется совместно с операторами задания циклов while и for, обеспечивая возвращение в точку прерывания и продолжение вычислений.

Оператор возвращения return прерывает выполнение программы и возвращает значение операнда, стоящего следом за ним. Например, конструкция

будет возвращать значение 0 при любом х < 0.

Оператор и функция обработки ошибок позволяет создавать конструкции обработчиков ошибок. Этот оператор задается в виде:

Здесь если при выполнении Выражения_1 возникает ошибка, то выполняется Выражение_2. Для обработки ошибок полезна также функция error(S), которая, будучи помешенной в программный модуль, при возникновении ошибки выводит всплывающую подсказку с надписью, хранящейся в символьной переменной S.

Программный модуль, в сущности, является функцией, но описанной с применением упомянутых программных средств. Она возвращает значение, определяемое последним оператором (если не предусмотрено иное с помощью оператора return). Это значит, что после такого модуля, выделенного как целый блок, можно поставить знак равенства для вывода результата его работы (см. рис. 1.18). В блоке могут содержаться любые операторы и функции входного языка системы.


Задача 1. Составить программу вычисления и печати указанных величин при произвольных значениях исходных данных.

Указание. Программу составить двумя способами:

а) с помощью условного оператора;

б) с помощью оператора безусловного перехода.

Задача 2. Составить программу вычисления и печати указанной величины при произвольных значениях исходных величин.