Как сделать последовательность в маткад
Обновлено: 03.07.2024
Описание подпрограммы-функции ( П-Ф ) и локальный оператор присваивания
Описание П-Ф размещается в рабочем документе перед ее вызовом и включает в себя имя подпрограммы-функции, список формальных параметров (который может отсутствовать) и тело подпрограммы-функции. Для ввода конструкций в тело П-Ф используется палитра инструментов ПРОГРАММИРОВАНИЕ, приведенная на рис. 1.
Рис. 1. Палитра ПРОГРАММИРОВАНИЕ
В качестве формальных параметров могут использоваться имена простых переменных, массивов и функций. Формальные параметры отделяются друг от друга запятой.
Замечание 1. П-Ф может не иметь формальных параметров, и тогда данные передаются через имена переменных, определенных выше описания П-Ф.
Тело подпрограммы-функции включает любое число операторов: локальных операторов присваивания, условных операторов и операторов цикла, а также вызов других П-Ф и функций пользователя.
Порядок описания подпрограммы-функции Math cad .
Для ввода в рабочий документ описания П-Ф необходимо выполнить следующие действия:
· ввести имя П-Ф и список формальных параметров, заключенный в круглые скобки
· ввести символ “:” – на экране отображается как “: =”;
· открыть палитру Программирования и щелкнуть кнопкой Add line (см. рис. 1). На экране появится вертикальная черта и вертикальный столбец с двумя полями для ввода операторов, образующих тело П-Ф (см. рис. 2);
Рис. 2. Структура подпрограммы-функции
· перейти в поле 1 (щелкнув на нем мышью или нажав клавишу [Tab]) и ввести первый оператор тела П-Ф.
· затем ввести второй, третий и т.д. операторы, добавляя пустые поля с помощью щелчка на кнопке Add line палитры программирование .
· заполнить самое нижнее поле ввода, введя туда выражение, определяющее возвращаемое через имя П-Ф (см. рис. 3).
Рис. 3. Окончательная структура подпрограммы-функции
Замечание 2. Если результатом работы П-Ф являются несколько величин, то из них в теле П-Ф необходимо сформировать массив и его имя поместить в последней строке тела П-Ф.
Локальный оператор присваивания
Для задания внутри программы значения какой-либо переменной используется так называемый локальный оператор присваивания, имеющий вид:
Обращение к подпрограмме-функции Math cad
Для выполнения П-Ф необходимо обратиться к ее имени с указанием списка фактических параметров (если в описании программы присутствует список формальных параметров), т.е.:
Фактические параметры отделяются друг от друга запятой.
· Очевидно, что между фактическими и формальными параметрами должно быть соответствие по количеству, порядку следования и типу.
Замечание 3. Обращение к П-Ф должно находиться после ее описания, и к моменту обращения фактические параметры должны быть определены.
Пример 4. Обращение к программе f ( x ), приведенной на рис. 4.1.4, может иметь следующий вид:
Замечание 4. Передать данные внутрь П-Ф можно, используя внутри подпрограммы переменные, определенные до описания П-Ф (см. пример на рис. 4.2.1).
Рис. 4. Подпрограмма-функция без формальных параметров
Программирование линейных алгоритмов в подпрограмме-функции
Операторы, реализующие этот алгоритм, в теле П-Ф также размещаются последовательно и выполняются все, начиная с первого и заканчивая последним .
Пример 6 . Оформим в виде П-Ф вычисление корней квадратного уравнения ax 2 + bx +c = 0 по формуле
Подпрограмма-функция реализует линейный алгоритм – все операторы выполняются всегда строго последовательно.
Пример программирования линейного алгоритма
Программирование разветвляющихся алгоритмов в подпрограмме-функции
Для программирования разветвляющихся алгоритмов в подпрограмме-функции Math cad можно использовать:
§ условную функции
§ условный оператор if .
Условный оператор. Этот оператор используется только в теле П-Ф и для его ввода необходимо щелкнуть на кнопке if палитры программирование . На экране появляется конструкция с двумя полями ввода, изображенная на рисунке .
Структура условного оператора if
В поле 2 вводится логическое выражение УСЛ (в простейшем случае это выражение отношений). В поле 1 вводится конструкция ВЫР1, которая выполняется, если проверяемое логическое выражение принимает значение 1. Если УСЛ = 0, то ВЫР1 не выполняется. Это соответствует условной структуре, называемой ЕСЛИ – ТО .
Для получения условной структуры ЕСЛИ – ТО – ИНАЧЕ используется оператор otherwise , вводимый с палитры ПРОГРАММИРОВАНИЕ, в поле которого размещается конструкция ВЫР2, которая выполняется, если проверяемое логическое выражение принимает значение 0 (см. рисунок). Оператор otherwise непосредственно следует после условного оператора if .
Реализация структуры ЕСЛИ – ТО – ИНАЧЕ
Для ввода ВЫР2 в поле оператора otherwise необходимо:
· выделить поле, стоящее после оператора if ;
· щелкнуть на кнопке otherwise палитры программированиЕ ;
· в появившееся поле оператора otherwise ввести необходимую конструкцию ВЫР2.
Пример 6. Составим описание П-Ф, вычисляющей функцию y(x), заданную выражением
Описание и вызов П-Ф приведены на рисунке
Реализация разветвляющегося алгоритма
Пример 7. Составим описание П-Ф для вычисления переменной z ( t ) по формуле
Описание П-Ф и ее вызов приведены на рисунке
Реализация разветвляющегося алгоритма
Из описания видно, что функция z (t) получит значение ln(t) только тогда, когда не выполняются условия, записанные в двух вышестоящих строках тела П-Ф.
Внимание! Если в строке 3 ввести просто ln ( t ), то это выражение будет вычисляться всегда вне зависимости от выполнения заданных выше условных операторов.
Задание 2 . Составьте описания П-Ф, реализующих следующие разветвляющиеся алгоритмы:
Вариант 1. При выполнении заданного условия УСЛ необходимо выполнить несколько конструкций MathCAD .
Вариант 2. При невыполнении заданного условия УСЛ необходимо выполнить несколько конструкций MathCAD .
В этом случае необходимо выделить поле оператора otherwise , щелкнуть на кнопке Add line палитры ПРОГРАММИРОВАНИЕ нужное число раз и заполнить появившиеся поля.
Пример 8. Составьте описание П-Ф, вычисляющей значения двух полиномов x ( t ), y ( t ) нулевой или первой степени. Порядок полиномов задается переменной n . Если n или n > 1, то значения полиномов равны 0. Описание П-Ф приведено на рисунке.
Реализация алгоритма примера
Пример 9. Даны два числа x , y . Составить описание П-Ф, которая переменной x присваивает максимальное значение из этих двух чисел, а y – минимальное. Описание приведено на рисунке.
Реализация разветвляющегося алгоритма
Вызов подпрограммы-функции arrangement
Задание 3. Даны три числа a , b , c . Составить П-Ф, реализующую следующий алгоритм. Если , то все числа заменить их квадратами, если , то каждое число заменить максимальным значением из этих трех чисел, в противном случае — сменить знаки у чисел.
Задание 4. Координаты точки на плоскости задаются двумя числами x , y . Составить П-Ф, вычисляющую номер четверти на плоскости, в которую попала точка.
Задание 5 . Длина сторон треугольника задается числами a , b , c . Составить П-Ф, вычисляющую значение целой переменной n по следующему правилу: n = 3, если три стороны равны; n = 2, если любые две стороны равны; n = 1, если все три стороны имеют разную длину.
Программирование циклических алгоритмов в подпрограмме-функции
Циклы можно условно разделить на две группы:
· циклы типа арифметической прогрессии;
· итерационные циклы.
Программирование цикла типа арифметической прогрессии
Для программирования таких циклов используется оператор цикла for (часто называемый оператором цикла с параметром). Для ввода такого оператора необходимо выполнить следующие действия:
· щелкнуть на кнопке for палитры ПрограммированиЕ . На экране появятся поля ввода, изображенные на рисунке
Поля оператора цикла for
· в поле ввода 1 ввести имя переменной, являющейся параметром цикла;
· в поле 2 — закон изменения параметра цикла, используя для этого описание дискретной переменной или описание массива ;
· в поле 3 — операторы, составляющие тело цикла. Если одной строки недостаточно, то дополнительные поля ввода (дополнительные строки) создаются щелчком на кнопке Add line палитры программированиЕ, и тогда слева от тела цикла появляется вертикальная черта, охватывающая тело цикла.
Пример 9. Составить описание П-Ф, реализующей алгоритм формирование вектора.
Заметим, что значение системной переменной ORIGIN (начальное значение индексного выражения) задается равным 1.
Подпрограмма-функция формирования вектора
Пример 9. Для x меняющегося от -2 до 2 с шагом 0.5 вычислить значение f(x) = e -x. Cos (2 x ) и сформировать из этих значений вектор y, т.е. y1 = f(-2), y2 = f(-1.5) и т.д.
В этом примере количество повторений тела цикла определяется по формуле
где xk, x0 – конечное и начальное значения параметра цикла, d – шаг его изменения. Подставив значения, получаем (2 –(–2)) /0.5+1=9.
Следовательно, сформированный вектор y будет содержать 9 элементов.
Описание П-Ф и ее вызов приведены на рисунке. Видно, что в теле цикла выполняется два оператора. Первый оператор формирует элемент массива y , а второй изменяет на 1 значение индекса. ¨
Формирование вектора примера 9
Пример 10. Составить описание П-Ф, где значения параметра цикла задаются вектором.
На рисунке приведено описание такой П-Ф.
Задание 5. Составьте описание П-Ф формирования вектора y примера 9, приняв в качестве параметра цикла переменную i .
Программирование итерационных циклов
Для программирования таких циклов используется оператор цикла while . Для ввода этого оператора необходимо выполнить следующие действия:
· щелкнуть на кнопке while палитры ПрограммированиЕ . На экране появляются элементы, показанные на рисунке
Структура оператора цикла while
· в поле 1 ввести условие выполнения цикла;
· в поле 2 ввести операторы тела цикла. В теле цикла должны присутствовать операторы, которые могут изменить значение условия цикла, иначе цикл будет продолжаться бесконечно.
Оператор цикла while выполняется следующим образом : обнаружив оператор while, Math cad проверяет указанное в операторе условие. Если оно равно 1 (т.е. выполняется), то выполняется тело цикла, и снова проверяется условие. Если условие принимает значение 0, то цикл заканчивается.
Пример 11 . Составим П-Ф, реализующую итерационную процедуру приближенного вычисления корня квадратного , используя итерационную процедуру:
В качестве приближенного значения принимается , удовлетворяющее условию:
где – заданная точность вычисления корня квадратного.
Поэтому в Math cad имеется специальный оператор break , который позволяет выйти из цикла или приостановить исполнение программы при выполнении заданного в операторе break условия.
Пример 12.2 Составить П-Ф, осуществляющую суммирование ряда с бесконечным числом слагаемых. Накопление суммы прекращается, как только очередное слагаемое по абсолютной величине становится меньше заданной погрешности .
Описание П-Ф и ее вызов показаны на рисунке. Заметим, что вторым формальным параметром является имя функции пользователя, определяющей зависимость величины члена ряда от его номера. При вызове этот формальный параметр заменяется фактическим – именем функции пользователя, описанной до обращения к П-Ф.
Вызовы подпрограммы-функции
Программирование двойных циклов
Варианты вложений операторов цикла
Составить описание П-Ф формирующей матрицу по следующему правилу:
Описание и вызов П-Ф приведены на рисунке. В этой П-Ф параметром внешнего цикла является переменная i , а параметром внутреннего — переменная j .
Реализация двойного цикла
Дополнительные операторы, используемые при программировании циклов
Оператор continue . Обычно используется для продолжения выполнения цикла путем возврата в начало тела цикла. Следующий пример поясняет работу этого оператора.
Пример 12.3 Составить описание П-Ф, формирующей новый вектор из положительных проекций исходного вектора.
Описание приведено на рисунке
Оператор return . Прерывает выполнение П-Ф и возвращает значение операнда, стоящего в поле 1 (см. рисунок).
Структура оператора return
Вариант B
Оператор on error . Этот оператор является обработчиком возникающих при выполнении тех или иных вычислений ошибок и записывается в виде:
конструкция 1 > on error .
Оператор выполняется следующим образом. Если при выполнении конструкция 2 > возникает ошибка, то выполняется 1>. Если ошибка не возникает, то выполняется 2>.
Имя функции вводится с клавиатуры . Функция используется в левом поле условного оператора if , как показано в следующем примере.
Читайте также: