Как сделать последовательность в маткад

Обновлено: 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 , как показано в следующем примере.

Читайте также: