- •Введение
- •1. Подпрограмма-функция. Описание и вызов.
- •2. Обращение к подпрограмме-функции Mathcad
- •3. Программирование линейных алгоритмов
- •4. Программирование разветвляющихся алгоритмов
- •5. Программирование циклических алгоритмов
- •5.1. Программирование цикла типа арифметической прогрессии
- •5.2. Программирование итерационных циклов.
2. Обращение к подпрограмме-функции Mathcad
Для выполнения П-Ф необходимо обратиться к ее имени с указанием списка фактических параметров (если в описании программы присутствует список формальных параметров), т.е.:
< имя П-Ф > (< список фактических параметров >) .
Фактические параметры указывают, при каких конкретных значениях осуществляются вычисления в теле программы. Фактические параметры отделяются друг от друга запятой.
Очевидно, что между фактическими и формальными параметрами должно быть соответствие по количеству, порядку следования и типу.
Что означает:
если формальным параметром является простая переменная, то в качестве фактического может использоваться константа, переменная, арифметическое выражение;
если формальным параметром является вектор или матрица, то фактическим должен быть вектор или матрица;
Внимание: Имена фактических параметров при вызове П-Ф могут либо совпадать, либо не совпадать с именами ее формальных параметров.
Смотрите пример предыдущего раздела.
3. Программирование линейных алгоритмов
Под линейным алгоритмом понимается вычислительный процесс, в котором необходимые операции выполняются строго последовательно Операторы, реализующие этот алгоритм, в теле П-Ф также размещаются последовательно и выполняются все, начиная с первого и заканчивая последним.
Пример:
Оформим в виде П-Ф вычисление корней
квадратного уравнения
по
формуле
.
Описание П-Ф с именем korni и обращение к ней приведено на рис. 3.1. П-Ф имеет три входных формальных параметра – коэффициенты квадратного уравнения. Выходом является вектор с двумя компонентами. Заметим, что величины x1, x2 являются простыми переменными, а не элементами одномерного массива. Поэтому нижние индексы в их именах вводятся после нажатия клавиши [.] – «десятичная точка». Подпрограмма-функция реализует линейный алгоритм – все операторы выполняются всегда строго последовательно.
|
Рис.3.1. Пример программирования линейного алгоритма
4. Программирование разветвляющихся алгоритмов
В алгоритмах ветвления или условного перехода, присутствует несколько ветвей вычислительного процесса. Выбор конкретной ветви зависит от выполнения (или не выполнения) заданных условий на значения переменных алгоритма.
Для программирования разветвляющихся алгоритмов в подпрограмме-функции Mathcad можно использовать условную функцию и условный оператор if. Используя эти конструкции, можно «изменить» последовательное выполнение операторов. В MathCad реализуется две структуры условного перехода ЕСЛИ – ТО (if) и ЕСЛИ – ТО –ИНАЧЕ (if – otherwise)/
Для
ввода условного оператора if
необходимо щелкнуть на кнопке if палитры
программирование. На экране появляется
конструкция с двумя полями ввода,
изображенная на рис. 4.1.
Рис. 4.1. Структура условного оператора if «ЕСЛИ – ТО»
Поле 2 заполняется условием, если оно верно (истинно), то выполняется выражение, стоящее в Поле 1.
Пример:
Вычислить значение функции, заданной следующим образом:
.
Реализация ЕСЛИ – ТО (if) в MathCad:
Рис. 4.1. Реализация условного оператора if «ЕСЛИ – ТО»
Для получения условной структуры ЕСЛИ – ТО – ИНАЧЕ используется оператор otherwise, вводимый с палитры ПРОГРАММИРОВАНИЕ, в поле которого размещается конструкция ВЫР2, которая выполняется, если проверяемое логическое выражение принимает значение ЛОЖЬ (0) (рис. 4.2). Оператор otherwise непосредственно следует после условного оператора if.
Рис.4.2. Реализация структуры «ЕСЛИ – ТО – ИНАЧЕ»
Для ввода ВЫР2 в поле оператора otherwise необходимо:
выделить поле, стоящее после оператора if;
щелкнуть на кнопке otherwise палитры ПРОГРАММИРОВАНИЕ;
в появившееся поле оператора otherwise ввести необходимую конструкцию ВЫР2.
Пример:
Вычислить значение функции, заданной следующим образом:
.
Реализация ЕСЛИ – ТО – ИНАЧЕ в MathCad :
Рис. 4.3. Реализация условного оператора if «ЕСЛИ – ТО- ИНАЧЕ»
