В ранних версиях Mathcad встроенного языка программирования не было. Чтобы применять привычные операции проверки условий и организовывать циклы, приходилось изобретать причудливую смесь из встроенных функций условия if и until и комбинаций ранжированных переменных.
В связи с устоявшимися традициями применения языка программирования функцию until настоятельно не рекомендуется использовать в дальнейшей работе.
Организация цикла при помощи ранжированной переменной
Фактически, использование ранжированных переменных — мощный аппарат Mathcad, похожий на применение циклов в программировании. В подавляющем большинстве случаев намного удобнее организовать циклы (в том числе вложенные) с помощью ранжированных переменных, чем заниматься для этого программированием. Полезнее освоить технику, связанную с ранжированными переменными, векторами и матрицами, поскольку на ней основаны главные принципы расчетов в Mathcad, в частности подготовка графиков.
Рис. 1. Панель инструментов Programming
Основы работы в Mathcad Графики
Язык программирования Mathcad
Для вставки программного кода в документы в Mathcad имеется специальная панель инструментов Programming (Программирование), которую можно вызвать на экран нажатием кнопки Programming Toolbar на панели Math (Математика), как показано на рис. 1. Большинство кнопок этой панели выполнено в виде текстового представления операторов программирования, поэтому их смысл легко понятен.
Что такое программа?
Основными инструментами работы в Mathcad являются математические выражения, переменные и функции. Нередко записать формулу, использующую ту или иную внутреннюю логику (например возвращение различных значений в зависимости от условий), в одну строку не удается. Назначение программных модулей как раз и заключается в определении выражений, переменных и функций в несколько строк, часто с применением специфических программных операторов.
Функция условия, определенная с помощью программы
Несмотря на принципиальную эквивалентность определения функций и переменных через встроенные функции Mathcad или программные модули, программирование имеет ряд существенных преимуществ, которые в ряде случаев делают документ более простым и читаемым:
- возможность применения циклов и условных операторов;
- простота создания функций и переменных, требующих нескольких простых шагов;
- возможность создания функций, содержащих закрытый для остального документа код, включая преимущества использования локальных переменных и обработку исключительных ситуаций (ошибок).
Создание программы (Add Line)
Чтобы создать программный модуль, небходимо:
- Введите часть выражения, которая будет находиться слева от знака присваивания и сам знак присваивания. В нашем примере это имя функции f (х).
- При необходимости вызовите на экран панель инструментов Programming (Программирование)
- Нажмите на этой панели кнопку Add Line (Добавить линию).
- Если приблизительно известно, сколько строк кода будет содержать программа, можно создать нужное количество линий повторным нажатием кнопки Add Line (Добавить линию) соответствующее число раз
- В появившиеся местозаполнители введите желаемый программный код, используя программные операторы. В рассматриваемом примере в каждый местозаполнитель вводится строка, например, «positive11,затем нажимается кнопка If (Если) на панели Programming (Программирование) и в возникший месгозаполнитель вводится выражение х>о.
После того как программный модуль полностью определен и ни один местозаполнитель не остался пустым, функция может использоваться обычным образом, как в численных, так и в символьных расчетах.
Не вводите с клавиатуры имена программных операторов. Для их вставки можно применять лишь сочетания клавиш, которые приведены в тексте всплывающей подсказки.
Начало создания программного модуля
Вставка программного оператора
Вставка условия в программу
Вставить строку программного кода в уже созданную программу можно в любой момент с помощью той же самой кнопки Add Line (Добавить линию). Для этого следует предварительно поместить на нужное место внутри программного модуля линии ввода. Например, расположение линии ввода на строке, приведет к появлению новой линии с местозаполнителем перед этой строкой. Если передвинуть вертикальную линию ввода из начала строки в ее конец, то новая линия появится после строки. Если выделить строку не целиком, а лишь некоторую ее часть, то это повлияет на положение в программе новой строки кода.
Не забывайте, что для желаемого размещения линий ввода внутри формулы можно использовать не только мышь и клавиши со стрелками, но и пробел. С помощью последовательных нажатий пробела линии ввода «захватывают» разные части формулы.
Вставка новой строки в существующую программу
Положение линий ввода влияет на положение новой линии
Результат вставки новой линии в программу
Условные операторы (if, otherwise)
Действие условного оператора if состоит из двух частей. Сначала проверяется логическое выражение (условие) справа от него. Если оно истинно, выполняется выражение слева от оператора if. Если ложно — ничего не происходит, а выполнение программы продолжается переходом к ее следующей строке. Вставить условный оператор в программу можно следующим образом :
- Если необходимо, введите левую часть выражения и оператор присваивания.
- Создайте новую строку программного кода, нажав на панели Programming (Программирование) кнопку Add Line (Добавить строку).
- Нажмите кнопку условного оператора if.
- Справа от оператора if введите условие. Пользуйтесь логическими операторами, вводя их с панели Boolean (Булевы операторы).
- Выражение, которое должно выполняться, если условие истинно, введите слева от оператора if.
- Если в программе предусматриваются дополнительные условия, добавьте в программу еще одну строку нажатием кнопки Add Line и введите их таким же образом, используя оператор if или otherwise.
Оператор otherwise используется совместно с одним или несколькими условными операторами if и указывает на выражение, которое будет выполняться, если ни одно из условий не оказалось истинным.
Вставка условного оператора
Операторы цикла (for, while, break, continue)
В языке программирования Mathcad имеются два оператора цикла: for и while. Первый из них дает возможность организовать цикл по некоторой переменной, заставляя ее пробегать некоторый диапазон значений. Второй создает цикл с выходом из него по некоторому логическому условию. Чтобы вставить в программный модуль оператор цикла:
- Создайте в программном модуле новую линию.
- Вставьте один из операторов цикла for или while нажатием одноименной кнопки на панели Programming (Программирование).
- Если выбран оператор for,то вставьте в соответствующие ме-стозаполнители имя переменной и диапазон ее значений,а если while — то логическое выражение, при нарушении которого должен осуществляться выход из цикла.
Вставка оператора цикла
Перехват ошибок (on error)
Программирование в Mathcad позволяет осуществлять дополнительную обработку ошибок. Если пользователь предполагает, что выполнение кода в каком-либо месте программного модуля способно вызвать ошибку (например деление на ноль), то эту ошибку можно перехватить с помощью оператора on error. Чтобы вставить его в программу, надо поместить линии ввода в ней в нужное положение и нажать кнопку с именем оператора on error на панели Programming (Программирование). В результате появится строка с двумя ме-стозаполнителями и оператором on error посередине.
Вставка оператора перехода по ошибке
В правом местозаполнителе следует ввести выражение, которое должно выполняться в данной строке программы. В левом — выражение, которое будет выполнено вместо правого выражения, если при выполнении последнего возникнет ошибка.
Приведем пример применения оператора on error в программном модуле, который рассчитывает функцию обратного числа значению n. Если n=0, то и присвоенное значение z=0, поэтому в последней строке программы выполняется правое выражение расчета i/z. Так происходит при расчете f (-2). Если попытаться вычислить f (0) как в конце листинга, то выполнение программы, заложенной в f (n), вызовет ошибку деления на ноль в последней строке программы. Соответственно, вместо выражения справа от оператора on error будет выполнено левое выражение, присваивающее функции f(n) строковое значение «user error: cannot divide by zero» (пользовательская ошибка: деление на ноль невозможно). Конечно, этой строке можно присвоить и текст на русском языке.
Перехват ошибки деления на ноль
Оператор перехвата ошибок удобно применять в комбинации со встроенной функцией error(S). Она приводит к генерации ошибки в обычной для Mathcad форме с сообщением s. Обратите внимание, что сделанные изменения свелись к помещению текста сообщения об ошибке в аргумент функции error.
Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Наладить дисциплину на своих уроках.
Получить возможность работать творчески.
Просмотр содержимого документа
«Программирование в Mathcad»
В ранних версиях Mathcad встроенного языка программирования не было. Чтобы применять привычные операции проверки условий и организовывать циклы, приходилось изобретать причудливую смесь из встроенных функций условия if и until и комбинаций ранжированных переменных.
В связи с устоявшимися традициями применения языка программирования функцию until настоятельно не рекомендуется использовать в дальнейшей работе.
Организация цикла при помощи ранжированной переменной
Фактически, использование ранжированных переменных — мощный аппарат Mathcad, похожий на применение циклов в программировании. В подавляющем большинстве случаев намного удобнее организовать циклы (в том числе вложенные) с помощью ранжированных переменных, чем заниматься для этого программированием. Полезнее освоить технику, связанную с ранжированными переменными, векторами и матрицами, поскольку на ней основаны главные принципы расчетов в Mathcad, в частности подготовка графиков.
Рис. 1. Панель инструментов Programming
Язык программирования Mathcad
Для вставки программного кода в документы в Mathcad имеется специальная панель инструментов Programming (Программирование), которую можно вызвать на экран нажатием кнопки Programming Toolbar на панели Math (Математика), как показано на рис. 1. Большинство кнопок этой панели выполнено в виде текстового представления операторов программирования, поэтому их смысл легко понятен.
Что такое программа?
Основными инструментами работы в Mathcad являются математические выражения, переменные и функции. Нередко записать формулу, использующую ту или иную внутреннюю логику (например возвращение различных значений в зависимости от условий), в одну строку не удается. Назначение программных модулей как раз и заключается в определении выражений, переменных и функций в несколько строк, часто с применением специфических программных операторов.
Функция условия, определенная с помощью программы
Несмотря на принципиальную эквивалентность определения функций и переменных через встроенные функции Mathcad или программные модули, программирование имеет ряд существенных преимуществ, которые в ряде случаев делают документ более простым и читаемым:
- возможность применения циклов и условных операторов;
- простота создания функций и переменных, требующих нескольких простых шагов;
- возможность создания функций, содержащих закрытый для остального документа код, включая преимущества использования локальных переменных и обработку исключительных ситуаций (ошибок).
Создание программы (Add Line) Чтобы создать программный модуль, небходимо:
- Введите часть выражения, которая будет находиться слева от знака присваивания и сам знак присваивания. В нашем примере это имя функции f (х).
- При необходимости вызовите на экран панель инструментов Programming (Программирование)
- Нажмите на этой панели кнопку Add Line (Добавить линию).
- Если приблизительно известно, сколько строк кода будет содержать программа, можно создать нужное количество линий повторным нажатием кнопки Add Line (Добавить линию) соответствующее число раз
- В появившиеся местозаполнители введите желаемый программный код, используя программные операторы. В рассматриваемом примере в каждый местозаполнитель вводится строка, например, «positive11 ,затем нажимается кнопка If (Если) на панели Programming (Программирование) и в возникший месгозаполнитель вводится выражение хо.
После того как программный модуль полностью определен и ни один местозаполнитель не остался пустым, функция может использоваться обычным образом, как в численных, так и в символьных расчетах. Не вводите с клавиатуры имена программных операторов. Для их вставки можно применять лишь сочетания клавиш, которые приведены в тексте всплывающей подсказки.





- Если необходимо, введите левую часть выражения и оператор присваивания.
- Создайте новую строку программного кода, нажав на панели Programming (Программирование) кнопку Add Line (Добавить строку).
- Нажмите кнопку условного оператора if.
- Справа от оператора if введите условие. Пользуйтесь логическими операторами, вводя их с панели Boolean (Булевы операторы).
- Выражение, которое должно выполняться, если условие истинно, введите слева от оператора if.
- Если в программе предусматриваются дополнительные условия, добавьте в программу еще одну строку нажатием кнопки Add Line и введите их таким же образом, используя оператор if или otherwise.
Оператор otherwise используется совместно с одним или несколькими условными операторами if и указывает на выражение, которое будет выполняться, если ни одно из условий не оказалось истинным. Вставка условного оператора Операторы цикла (for, while, break, continue) В языке программирования Mathcad имеются два оператора цикла: for и while. Первый из них дает возможность организовать цикл по некоторой переменной, заставляя ее пробегать некоторый диапазон значений. Второй создает цикл с выходом из него по некоторому логическому условию. Чтобы вставить в программный модуль оператор цикла:
- Создайте в программном модуле новую линию.
- Вставьте один из операторов цикла for или while нажатием одноименной кнопки на панели Programming (Программирование).
- Если выбран оператор for ,то вставьте в соответствующие ме-стозаполнители имя переменной и диапазон ее значений ,а если while — то логическое выражение, при нарушении которого должен осуществляться выход из цикла .
Вставка оператора цикла
Источник: kopilkaurokov.ru
Разработка программы MathCAD
Вставить строку программного кода в уже созданную программу можно в любой момент с помощью той же самой кнопки Add Line (Добавить линию). Для этого следует предварительно поместить на нужное место внутри программного модуля линии ввода. Например, расположение линии ввода на строке, показанной на рис. 6.5, приведет к появлению новой линии с местозаполнителем перед этой строкой.
Если передвинуть вертикальную линию ввода из начала строки (как на рис. 6.5) в ее конец, то новая линия появится после строки. Если выделить строку не целиком, а лишь некоторую ее часть (рис. 6.6), то это повлияет на положение в программе новой строки кода (результат нажатия кнопки Add Line показан на рис. 6.7).
Не забывайте, что для желаемого размещения линий ввода внутри формулы можно использовать не только мышь и клавиши со стрелками, но и пробел. С помощью последовательных нажатий пробела линии ввода «захватывают» разные части формулы.
Рис. 6.5. Вставка новой строки в существующую программу
Рис. 6.6. Положение линий ввода влияет на положение новой линии
Рис. 6.7. Результат вставки новой линии в программу (из положения рис. 6.6)
Зачем может потребоваться вставка новой линии в положение, показанное на рис. 6.7? Новая вертикальная черта с двумя линиями выделяет фрагмент программы, который относится к условию х>0, находящемуся в его заголовке. Пример возможного дальнейшего программирования показан в листинге 6.4.
Листинг 6.4. Пример усовершенствования программы
В режиме выполнения программы, а это происходит при любой попытке вычислить f (х), выполняется последовательно каждая строка кода. Например, в предпоследней строке листинга 6.4 вычисляется f(i). Рассмотрим работу каждой строки кода этого листинга.
- Поскольку х=1, то условие х
- Условие второй строки х>0 выполнено, поэтому выполняются обе следующие строки, объединенные короткой вертикальной чертой в общий фрагмент.
- Функции f(x) присваивается значение f(x) = «positive».
- Условие х>1000 не выполнено, поэтому значение «big positive» не присваивается f (х), она так и остается равной строке «positive».
- Последняя строка не выполняется, т. к. одно из условий (х>0) оказалось истинным, и оператор otherwise (т. е. «иначе») не понадобился.
Таким образом, основной принцип создания программных модулей заключается в правильном расположении строк кода. Ориентироваться в их действии довольно легко, т. к. фрагменты кода одного уровня сгруппированы в программе с помощью вертикальных черт.
Знаете ли Вы, что «гравитационное линзирование» якобы наблюдаемое вблизи далеких галактик (но не в масштабе звезд, где оно должно быть по формулам ОТО!), на самом деле является термическим линзированием, связанным с изменениями плотности эфира от нагрева мириадами звезд. Подробнее читайте в FAQ по эфирной физике.
Источник: www.bourabai.ru
Программирование в Ptc MathCAD prime
Язык программирования MathCAD содержит все элементы языка высокого уровня, необходимые для математических расчетов. Будучи дополненным сотнями встроенных функций и операторов системы, возможностями численного и символьного расчета различных величин, он по эффективности не уступает профессиональным системам программирования.
Для написания процедур в системе MathCAD предусмотрена специальная вкладка «Программирование» пункта «Математика», содержащая все операторы и элементы языка (рис. 1).
Операторы в процедуру вставляются с помощью кнопок этой вкладки (Рис.2).
| – добавление новой строки в программу или создание заготовки процедуры из одной строки;
← – присвоение значения локальной переменной;
if – условный оператор. Позволяет в зависимости от условия выполнять или не выполнять те или иные действия;
else if- позволяет при невыполнении предыдущего условия проверить выполнение следующего условия;
else – используется сразу после оператора if и позволяет выполнить определенные действия при невыполнении условия в операторе if;
for – оператор создания цикла со счетчиком;
while – оператор создания цикла, выполнение которого продолжается до тех пор, пока выполняется указанное условие. continue – продолжить вычисления в цикле;
break – прервать вычисления в цикле;
return – оператор возврата значения;
Все внутренние переменные в процедуре являются локальными. То есть они будут видимыми только в рамках процедуры.
Создание процедуры
Технология создания процедуры-функциив рабочем документе MathCAD состоит из следующих шагов:
1. Ввести имя процедуры.
2. Указать список формальных параметров.
3. Ввести знак либо локального, либо глобального присвоения.
4. Выполнить команду| – добавление новой строки в программу. Появившейся на экране шаблон с вертикальной чертой и полями для ввода операторов будут составлять заготовку для тела процедуры. Вставка дополнительных строк осуществляется нажатием Enter.
5. Вписать операторы в шаблон-заготовку. Тело процедуры-функции может включать любое число операторов: локальных операторов присваивания, условных операторов и операторов цикла, а также вызовы других процедур.
6. Самоенижнее поле всегда предназначено для определения возвращаемого процедурой значения.
Линейные алгоритмы
Пример Требуется вычислить функцию
Разветвляющиеся алгоритмы
Для проверки условий в программах MathCAD служит оператор if . В поле ввода справа от if нужно ввести условие. Для ввода условий служит вкладка «Операторы» пункта «Математика»
В нижней части вкладки есть кнопки, предназначенные для проверки условий , а также кнопки, предназначенные для вставки логических операций (логическое отрицание, операция «и», операция «или», операция «исключающее или»). Вторые позволяют создавать сложные условия.
В поле ввода ниже if нужно ввести строку программы, которая должна выполняться, если введенное условие истинно.
Если для условия «истинно» необходимо выполнение нескольких строк, надо установить курсор в последнее знакоместо ветви if и нажать Enter. .
Для проверки выполнения нескольких условий используются ветви, начинающиеся с else if и else
. После else if записывается следующее условие, число ветвей else if практически неограниченно. Операторы после else выполняются, если не выполнено ни одно из предыдущих условий.
Циклические алгоритмы
Для создания циклов в MathCAD предусмотрено два оператора for и while.
Цикл for – цикл со счетчиком.
В таких циклах создается некоторая переменная-счетчик, значение которой изменяется после каждого выполнения тела цикла. Выход из цикла происходит при достижении этой переменной заданного значения.. В поле ввода после слова for следует указать имя переменной – счетчика. Это может быть любое имя, которое не использовалось ранее в программе.
Внутри цикла можно использовать эту переменную в любых выражениях, нельзя только присваивать ей никакого значения. В поле ввода после знака следует указать диапазон значений переменной-счетчика. Вводить диапазон в данном случае следует так же, как и при создании ранжированной переменной. В поле ввода под словом for следует ввести тело цикла.
Пример: Заполнить вектор числами от xнач до xкон с шагом h. Затем определить сумму элементов этого вектора и найти их среднее арифметическое значение.
Цикл while – цикл, который выполняется до тех пор, пока выполняется определенное условие.
В поле ввода справа от слова while следует ввести условие. Это условие строится по тем же правилам, что и в операторе if. Оно будет проверяться после каждого выполнения тела цикла и в тот момент, когда условие перестанет выполняться, повторение тела цикла прекратится. В поле ввода ниже слова while следует ввести тело цикла.
Пример. Найти первый элемент, превышающий определенный порог
Использование оператора break.
Иногда возникает необходимость повлиять на выполнение цикла некоторым образом, например, прервать его выполнение по какому-либо условию или выполнять некоторые итерации не так, как другие. Для этого и служат операторы break и continue.
Оператор break, если он расположен внутри цикла, означает немедленное прекращение выполнения текущей итерации и выход из цикла.
Пример: Выделить из массива все элементы от начала и до первого вхождения в него заданного числа.
Упражнения
Источник: cyberpedia.su