7. Программирование в Mathcad
Впакете Mathcad существует богатый набор средств для решения различных математических задач, встроено огромное количество функций из различных разделов математики. Однако написать функции для всех практических задач, которые могут стоять перед пользователями пакета, невозможно. Для расширения возможностей разработчики пакета встроили достаточно простой и оригинальный язык программирования. В любом месте документа Mathcad можно вставить код программы на встроенном языке программирования. Это можно сделать при помощи «горячих клавиш» или команд из панели инструментов Programming (Программирование).
Для визуализации панели програм-
мирования необходимо нажать на кнопку из панели математических инструментов или по-
дать команду View \Toolbars \Programming. На данной панели имеется десять команд. Щелчок по одной из этих команд создает в текущей
позиции заготовку для соответствующей программной конструкции. При частом использовании команд программирования удобнее запомнить комбинации «горячих клавиш» и команды генерировать при помощи клавиатуры.
Примечание. При составлении программ ключевые слова команд вручную писать нельзя. Заготовку команды можно получить только при помощи щелчка мыши по соответствующей кнопке или при помощи комбинаций клавиш.
Приведем значение «горячих клавиш», использующих при программировании на Mathcadе.
Команда | Горячая клавиша | Команда | Горячая клавиша |
Add Line | ] | ← | { |
if | } | otherwise | CTR+Shift+] |
for | Ctrl+Shift+’ | while | Ctrl+] |
break | Ctrl+Shift+[ | continue | Ctrl+[ |
return | Ctrl+Shift+\ | On error | Ctrl+’ |
Предполагается, что читатель уже знаком с основными идеями программирования, изучив один из стандартных языков про-
118
граммирования: QBasic, Visual Basic, Fortran, Pascal, C++, Java, Ruby или любой другой язык программирования. Данный практикум адресован пользователям, решающим инженерные и научные задачи, для которых программирование не является основным видом деятельности. Для таких пользователей языки программирования C++ и Java противопоказаны, так как ориентированы на профессиональных специалистов. Инженерам, использующим программирование не ежедневно, для решения большинства задач достаточно и одиннадцати команд из панели программирования Mathcad.
Сразу же отметим недостатки программирования в среде Mathcad. Одним из главных недостатков является неразвитость отладчика программ. Ошибки, возникающие при выполнении программ, отображаются, но подробной информации о типе ошибки, значении локальных и глобальных переменных в момент останова программы оперативно получить нельзя. Отлаживать программы уже средней сложности в Mathcad не доставляет особой радости. Поэтому сложные инженерные, научные и экономические задачи удобнее и быстрее, с точки зрения автора, выполнять в рамках визуального алгоритмического языка Visual Basic [3] или последних версий языка Fortran.
Рассмотрим все команды из панели программирования Math-
cad.
1. Add Line – добавить строку в текущую позицию программы. При вводе данной команды появляется или расширяется на одну строку вертикальная линия, объединяющая отдельные операторы в блок с одним входом и одним выходом, который выполняется как один оператор.
Позиция, куда вставится строка, определяется положением курсора. Чтоб вставить новую строку в середину программы, нужно выделить (пробелами) строку перед позицией, куда будет вставлена пустая строка. Удалить лишнюю строку можно с помощью кнопки backspace на клавиатуре.
Для того чтобы начать ввод подпрограммы, необходимо набрать имя программы и в скобках через запятую перечислить формальные параметры подпрограммы, ввести нужное количество раз команду Add Line. Программа выводит последнюю переменную, обрабатываемую программой перед выходом. Вместо
119
имени подпрограммы можно указать имя переменной, куда необходимо вывести результат работы подпрограммы.
2. ← – оператор присваивания значения локальной переменной. При выходе из блока программы значения локальных переменных оказываются недоступны для других участков Mathcad файла.
В Mathcad имеются два оператора присваивания: для глобальных переменных (обозначается двумя символами «:=») и для локальных переменных «←». Глобальные переменные доступны в любом месте программы после объявления данной переменной, а локальные – только в текущем блоке.
Для пояснения действия локального и глобального оператора присваивания рассмотрим пример простейшей программы на
Mathcad.
Напишем программу для решения квадратного уравнения ax2+bx+c=0. В программе при помощи операторов глобального присваивания задаются значения глобальных переменныхa, b иc. Для сравнения введем еще локальную переменнуюk и присвоим ей значение 4. Далее вычисляем значение корней квадратного уравнения при помощи программы, состоящей из одного блока операторов. В программе применяются три оператора локального присваивания и возвращается значения вектораx, состоящего из двух чисел. После выполнения программы выводим значение всех переменных, используемых в программе. При этом значение всех локальных переменныхD, x иk, заданных вне блока, программа не видит, поэтому вместо знака= выводится оператор глобального присваивания «:=». В этом случае значение переменной не выводится, а вместо него отображается красный прямоугольный маркер.
Начало программы.
a :=1 b:= −4 c:= 3 k← 4 ORIGIN:=1
x1 |
| = | D | ←b2 −4 a c | |||||
|
|
|
|
|
|
|
|
| |
x2 |
|
| x | ← | −b − | D | |||
|
|
|
|
|
|
|
| ||
|
|
| 1 |
|
| 2 a |
|
|
|
|
|
|
|
|
|
|
| ||
|
|
| x | ← | −b + | D | |||
|
|
|
|
|
|
| |||
|
|
| 2 |
|
| 2 a |
|
|
|
|
|
| x |
|
|
|
|
| |
D := | x := | k := |
|
|
| ||||
|
|
|
x1=1×2= 3a =1b = −4c = 3.
Конец программы.
3. Оператор if предназначен для организации разветвляющихся вычислительных процессов. Чтобы ввести оператор if в программу, необходимо мышкой щелкнуть по кнопке if из панели программирования или использовать горячую клавишу –}.
При этом в программу вставляется заготовка для оператора if: if .
Общий вид простого оператора if: D if L,L – логическое выражение;
D – оператор, выполняемый в случае, если условиеL принимает значение «истина».
Оператор работает следующим образом:
•вычисляется логическое условие L;
•если L – истина, то выполняется операторD, в ином случае он не выполняется;
•выполнение программы продолжается со следующего,
после if, оператора.
Как мы видим, данный оператор if идентичен аналогичному оператору из других высокоуровневых языков программирования. Единственное отличие заключаются в синтаксисе.
Для формирования сложных условий можно использовать панель инструментов Boolean, содержатся знаки логического равенства, неравенства и логических операций. В частности, «V» означает логическое «или», а «Λ» — логическое «и».
121
Таким образом, чтобы сформулировать условие, что переменная х находится в диапазоне(–3;4),необходимо написать:x > –3 Λx < 4.
При формулировании сложных логических условий для расстановки приоритетов можно использовать скобки.
Пример. Построить график следующей функции:
28 −6x, | x (−∞;3) | |
| +1, | x [3;−1] . |
f (x) = x2 | ||
|
| x (1,∞) |
2, |
|
Решение.
f (x) := 28−6x if x > 3
x2 +1 if x ≤3 x ≥ −1
2if x < −1
Всложных подпрограммах
часто используется блочный оператор if:if L
D1
Dn
Где D1, …, Dn – действия, выполняемые в случае, если логическое условиеL истинно.
Для того чтобы вставить подобную конструкцию, нам необходимо, на панели инструментов Programming, выбратьif , затем установить курсор на место ввода слева от оператораif иn раз нажать наAdd Line.
Приведем пример программы с подобным оператором. Усовершенствуем программу для решения квадратного уравнения ax2+bx+c=0.
Начало программы.
x1 |
| = | ORIGIN :=1 a:=1 b:= −1 c:= 4 | |||
|
| D ←b | 2 | −4 | a c | |
x2 |
|
|
| |||
|
|
| if D ≥ 0 |
|
x1 ← −b2−a D x2 ← −b2+a D
if D < 0
x1 ←»действительных корней нет» x2 ←»действительных корней нет»
x
x1 =»действительных корней нет» x2 =»действительных корней нет»
Конец программы.
В данном случае при дискриминанте меньше 0 программа выдает сообщение «действительных корней нет!».
Кроме оператора if, программа Mathcad может содержать и операторotherwise.
4. Оператор otherwise применяется в случае, когда используется условие с двумя вариантами действия, то есть, если условие истинно, нужно выполнить одно действие (или действия), а если ложно, то другое.
Общий вид такого оператора следующий:
D1 ifL
D2 otherwise
В случае если условие L истинно, выполняются действияD1, иначе выполняются действияD2. То естьotherwise аналогичен оператору else в Бейсике, Фортране и других высокоуровневых языках.
Рассмотрим пример программы, использующей операторы if иotherwise. В данном случае проверяются условия, при которых логарифм не существует(x<0 илиy<0 илиy=1). Если они выпол-
123
нены, выдается сообщение «error», в противном случае вычисля-
ется logyx. |
|
|
|
f _ log(x,y) := |
| «error» | if x≤ 0 y≤ 0 y=1 |
| |||
|
| log(x,y) | otherwise |
f _ log(−4,5)=»error» |
| ||
f _ log(8,2)= 3 |
|
|
|
Когда в блоке otherwise несколько строк, нужно установить курсор в место ввода слева от оператораotherwise и нажатьAdd Line необходимое количество раз.
Вернемся к программе, вычисляющей корни уравнения ax2+bx+c=0, и запишем ее с помощью операторовif иotherwise. Начало программы.
ORIGIN :=1 a:=1 b:= 2 c:= 2
x1 | = |
| D ←b | 2 | −4 a c |
|
|
| |||
|
|
|
| ||||||||
|
|
|
|
| |||||||
x2 |
|
| if D ≥ 0 |
|
|
| |||||
|
|
|
| x | ← |
| −b − | D | |||
|
|
|
|
| |||||||
|
|
|
|
|
|
| |||||
|
|
|
| 1 |
|
|
| 2 a |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
| x | ← | −b + | D | ||||
|
|
|
|
|
| ||||||
|
|
|
| 2 |
|
|
| 2 a |
|
|
|
|
|
| otherwise |
|
|
| |||||
|
|
|
| x1 ←»действительных корней нет» | |||||||
|
|
|
| ||||||||
|
|
|
| x2 ←»действительных корней нет» | |||||||
|
|
| x |
|
|
|
|
|
|
| |
x1= −2 |
| x2= −1 |
|
|
|
Конец программы.
5. Оператор for используется для создания циклических вычислительных процессов. В документе Mathcad простейшие циклы могут быть заменены ранжированными векторами. Для более сложных циклов необходимо составлять программу.
Чтобы вставить оператор for в программу, необходимо мышкой щелкнуть по кнопкеfor из панели программирования или использовать «горячую» клавишу «Ctrl+Shift+’». При этом в программу вставляется заготовка для оператораfor:
for
Общий вид оператора выбора for: for i k1..kn
D
Или
for i (k1k2k3 …kn)
D
Где i – счетчик цикла. Переменная, которая меняется в диапазоне отk1 доkn. Диапазон изменения счетчика цикла вводится с помощью ранжированной переменной или с помощью вектора.
D –действия,которые выполняются в цикле (тело цикла). Ниже приведен пример, в котором диапазон изменения счетчика циклаn задан с помощью вектора. Вектор вставляется с по-
мощью панели инструментов Matrix.
sum := s← 0
for n (1 2 5 7 10 11 13 16 17 19)
s ← s+ 1n
sum = 2.285.
Данная программа вычисляет сумму
Sum=1+1/2+1/5+1/7+1/10+1/11+1/13+1/16+1/17+1/19.
Если тело цикла оператора for состоит из нескольких строк, то необходимо установить курсор на позицию для ввода тела цикла и соответствующее количество раз нажать наAdd Line.
Как и в обычных программах, циклы и условные операторы могут быть вложенными. Mathcad, впрочем, сам следит за вложенностью циклов и сделать ошибку во вложенности просто не позволит.
Пример. Написать функциюFA, создающую матрицуA, состоящую изM строк иN столбцов следующего вида:
125
1 | 2 | 4 | 8 | 16 |
| |
| 0 | 1 | 2 | 4 | 8 |
|
|
| |||||
| 0 | 0 | 1 | 2 | 4 |
|
|
| |||||
| 0 | 0 | 0 | 1 | 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Запишем подпрограмму, выводящую эту матрицу с помощью двух вложенных циклов:
FA(M, N) := |
| for | i 0..M−1 |
| ||||
|
| |||||||
|
|
|
| for | j 0..N−1 |
| ||
|
|
|
|
| Ai, j | ← 1 | if | i = j |
|
|
|
|
| ||||
|
|
|
|
| Ai, j | ← 0 | if | i > j |
|
|
|
|
| Ai, j← 2 Ai, j−1 | if i < j | ||
|
|
| A |
|
|
|
|
|
1 | 2 | 4 | 8 | 16 |
|
| ||
| 0 | 1 | 2 | 4 | 8 |
|
|
|
FA(4,5)= |
|
|
| |||||
| 0 | 0 | 1 | 2 | 4 |
|
|
|
|
|
|
| |||||
| 0 | 0 | 0 | 1 | 2 |
|
|
|
Обозначим i – | строку матрицы, j – столбец матрицы. |
Тогда главная диагональ задается уравнением «i=j», элементы матрицы, расположенные выше главной диагонали, уравнением«i<j», а элементы матрицы, расположенные ниже главной диагонали, – усравнением«i<j».
Каждый элемент, расположенный выше главной диагонали, вычисляется как удвоенное произведение элемента, стоящего в этой же строке в предыдущем столбце: Ai j=2* Ai j–1.
Для проверки работы функции подали команду: FA(4,5)=. 6. Операторцикла while используется тогда, когда цикл дол-
жен выполняться не заданное количество раз, а до тех пор, пока не будет выполнено определенное в цикле условие.
Чтобы вставить оператор while в программу, необходимо мышкой щелкнуть по кнопкеwhile из панели программирования или использовать горячую клавишу –«Ctrl+]». При этом в программу вставляется заготовка для оператораwhile:
while
Общий вид оператора While:while L
D,
где L – условие, при выполнении которого выполняется цикл (условие цикла). В данном случае, действиеD (тело цикла) выполняется до тех пор, пока условиеL истинно. Если логическое условиеL изначально ложно, то операторы, составляющие тело цикла, не будут выполняться, а управление передается на оператор следующий за операторомwhile.
Если в теле цикла выполняемых действий должно быть несколько, то необходимо установить курсор на позицию для ввода тела цикла и соответствующее количество раз нажать на Add Line.
Следует заметить, что если условие L истинно всегда, то программа будет работать бесконечно (зациклится). Именно поэтому с цикломwhile необходимо быть очень осторожным и тщательно проверять условие выхода из цикла, прежде чем выполнять программу.
Если программа все-такиповисла, то чтобы прервать ее выполнение, необходимо нажать клавишу «Esc» и в появившемся окне нажать на кнопку OK.
Приведем пример программы, использующей цикл while.
s ← 0 |
|
|
| ||
n ←1 |
|
|
| ||
| 1 |
|
| ||
while |
|
| > tol | ||
n | |||||
|
|
|
|
s ← s+ 1n n← n+1
s
= 2.829.
Вданной программе с указанной точностью (tol) вычисляется сумма s=1+1/2+1/3+1/4+1/5+1/6+1/7…
7. Оператор break обеспечивает экстренный выход из цикла. Программа при этом продолжает выполнять следующую после цикла строку. Данный оператор часто применяется, чтобы избежать «зацикливания» программы.
Вкачестве примера применения оператора break рассмотрим
∞ |
| 12n −1 |
|
|
|
задачу вычисления суммы числового ряда S = ∑ |
|
| . | В | |
n | 3 | ||||
n=1 | + 2n +1 |
|
|
приведенной ниже программе, суммирование членов ряда прекращается, когда достигается точность, указанная параметром tol или если число итераций цикла превышает 10000.
f (n) := | 12 n −1 |
| |
n3 + 2 n+1 | |||
|
sum(tol) := s← 0 n←1
while f(n) > tol s← s+ f(n)
break if n >10000 n ←n +1
s sum(0.000011) =8.726 .
В данном случае оператор break исключается возможность зацикливания программы для расходящегося ряда.
8. Оператор continue возвращает управление в первую строку цикла. Как только этот оператор встречается в программе, выполнение текущей итерации прерывается и выполняется переход на следующую итерацию цикла. Выход из цикла не производится.
Данный оператор, как и оператор break, не содержит параметров.
Пример: Найти сумму N первых членов ряда:
N |
| 1 |
|
S = ∑ |
| . | |
2n | 3 | ||
n=1 | −16 |
|
В программе, при помощи оператора continue, происходит обход слагаемого в котором знаменатель дроби равен нулю.
sum(N) := |
| s ← 0 | |
| |||
|
| for n 1..N | |
|
|
| a ← 2n3 −16 |
|
|
| |
|
|
| continue if a = 0 |
|
|
| s ← s+ 1 |
|
|
| a |
|
| s |
sum(100)= −0.024.
9. Оператор return прерывает выполнение программы. В качестве результата работы программы возвращается значение, указанное в позиции для ввода, после оператора return.
При выборе на панели инструментов пункта return вставляется строка.
Пример. Подсчитать с указанной точностью tol сумму ряда:
∞ |
|
| 12n |
|
S = ∑ |
|
| . | |
n | 2 | + 2n +16 | ||
n=1 |
|
|
Если ряд получается расходящийся, программа выдаст сообщение «расходится». Ряд будет считаться расходящимся, если число итераций цикла превысило 1000000 раз.
f 1(n) := | 12n | |||||||
n2 + 2n+16 |
|
|
|
|
| |||
sum1(N) := |
| s ← 0 | ||||||
| ||||||||
|
| n ←1 | ||||||
|
| while |
| f 1(n) |
| > tol | ||
|
|
|
| |||||
|
|
| s ← s+ f1(n) | |||||
|
|
| ||||||
|
|
| return » ряд расходится» if n>100000 | |||||
|
|
| n ← n+1 | |||||
|
| s |
129
sum1(0.01) =» ряд расходится».
10. Оператор on error отвечает за обработку ошибок. При выборе данного оператора в программу вставляется заготовка следующего вида:
Общий вид оператора on error:D1on error D2 .
Если при вычислении выражения D1 произошла ошибка, будет вычислено значениеD2.
Данный оператор имеет смысл использовать, если при выполнении программы возможна ошибка в каком-тоопределенном месте, например деление на ноль.
Приведем пример программы, вычисляющей десятичный логарифм числа xy.
Если логарифм не существует, выдается сообщение об ошибке: «аргумент логарифма <0».
|
|
|
f (x,y) := |
| z ← x y |
| ||
|
| «аргумент логарифма< 0» on errorlog(z) |
f (0,5) =»аргумент логарифма< 0″; | ||
f (10,1)=1. |
Оператор on error можно применять в комплексе встроенной функциейerror().
f (x, y) := z← x y
error(«аргумент логарифма< 0») on errorlog(z)
В данном случае сообщение об ошибке будет показываться в стандартном для Mathcad виде. При ошибке текст вызова функции выделяется красным цветом, а при подведении мыши к этому вызову внизу отображается запрограммированный в функции error текст.
studfiles.net
Урок 12. Программирование в Mathcad — циклы
Во втором уроке по программированию в Mathcad мы рассмотрим циклы – различные повторяющиеся вычисления. Помимо циклов мы рассмотрим, как можно находить ошибки в программах.
В этом уроке мы изучим три новые команды:
- for – для циклов for.
- while – для циклов while.
- return – как команду для отслеживания ошибок.
Остановка вычислений
Операции Mathcad, которые мы рассматривали ранее, достаточно безвредны – они не заставят Ваш компьютер «зависнуть». Но с циклами это не так. Поэтому для начала следует изучить команды в меню Вычисления –> Элементы управления:
Здесь находятся четыре кнопки:
- Автоматический расчет.
- Остановить все расчеты.
- Рассчитать.
- Отключить область.
Кнопка «Автоматический расчет» обычно включена. Она отключается при нажатии на кнопку «Остановить все расчеты». Зеленый индикатор в левом нижнем углу становится серым. «Остановить все расчеты» служит для прекращения всех расчетов в документе на случай, если что-то пошло не так. При автоматическом расчете вычисления производятся лишь в том случае, когда происходят какие-либо изменения. С помощью кнопки «Рассчитать» можно сделать пересчет всего документа. Кнопка «Отключить область» прекращает вычисления в тех математических областях, которые Вы выбрали.
На рисунке ниже видно, что область серая – значит, она отключена:
Нажмите на нее, затем на кнопку «Отключить область». Тем самым Вы запустите расчет в области. Вычисление займет некоторое время:
Его можно прекратить, нажав на кнопку «Остановить все расчеты», затем отключив область и снова включив автоматический расчет.
Циклы
for
Циклы forприменяются, когда заранее известно число повторений вычислений. Программа ниже формирует вектор из n+1 элементов. Значения начинаются с нуля и имеют шаг 1.
Цикл forначинается со второй строки. Он включает в себя счетчик (здесь – i), который является локальной переменной-диапазоном. Эту строку можно прочитать как: «Для диапазона целых чисел от 0 до nвключительно сделать: …». Затем следуют выполняемые действия – в нашем случае это простое присваивание. Когда цикл завершается, программа выполняет действия на следующей строке – здесь это оператор return.
Составим программу.
Задайте имя программы-функции, вставьте программную структуру (вертикальная линия) и определение цикла forиз меню Математика –> Операторы и символы –> Программирование или с помощью сочетания клавиш [Ctrl+Shift+”]:
Определите имя переменной-счетчика:
Определите диапазон счетчика:
Введите команды тела цикла и оператор return:
Проверим программу:
Как видно, использование дробных или отрицательных чисел – не лучшая идея. Вы можете изменить точку начала, но этого лучше избегать:
Видите нули, которые появились в начале вектора? Причиной появления этих нулей является то, что если не определить некоторые элементы вектора, то им автоматически присвоится значение 0:
Циклы
while
На рисунке ниже – простейший цикл while, который делает то же самое, что и предыдущий цикл for:
До цикла необходимо создать строку, содержащую определение начального значения счетчика. Следующую строку можно прочитать как «Выполнять цикл, пока соблюдается условие i?n». После определения элемента вектора нужно задать команду на увеличение переменной-счетчика, так как в цикле while это не происходит автоматически.
Другой, более «реалистичный», пример цикла while вычисляет экспоненту отрицательного числа, используя разложения в ряд:
Суммирование будем производить с помощью цикла while. Будем проверять, насколько изменяется общая сумма S при каждом увеличении k. Если абсолютное значение этого изменения достаточно мало, цикл завершится. Чтобы начать цикл, необходимо определить первые два элемента вектора:
Кроме того, мы определили начальное значение суммы S и счетчика k. Дальнейшие вычисления производятся в цикле:
Проверка:
С положительными числами программа работает хорошо, но для работы с отрицательными она не предназначена.
Отладка
Одна из простых технологий отладки программ – вывод промежуточных результатов вычислений и их сравнение с тем, какие значения должны быть. Пример на цикле while:
Число элементов вектора верное, но второй элемент неправильный. Похоже, что последние элементы нашего вектора получили правильный индекс, а второй элемент (с индексом 1) – нет. Мы можем проверить, какой индекс получил второй элемент, вставив «returni» в первую строку цикла while. Программа остановит вычисление и вернет значение i:
Вероятно, Вы уже поняли, что ошибка в первой строке. Замените 2 на 1, удалите дополнительную строку return, и Вы получите верный результат.
Можно получить выходное значение итерации цикла, отличной от первой. Для этого требуется применить оператор условия if. В программе ниже выводится элемент вектора после третьей итерации цикла:
После отладки всегда следует удалять дополнительные строки, которые Вы вводите, так как программа всегда прекращает работу после первого оператора return.
Подпрограммы
Примеры программ в этом уроке малы. Настоящие программы могут быть намного больше. В других языках программирования они обычно составляются как основная программа и следующие за ней подпрограммы и процедуры. Эти более малые программы можно составлять сами по себе и затем вызывать их в основной программе. Также могут быть подподпрограммы и так далее.
Ваша собственная программа
Когда Вы начинаете составлять свою собственную программу, может показаться, что Вы находитесь в замкнутом круге: чтобы начать, нужен опыт; чтобы получить опыт, нужно начать.
Начать необходимо, но не следует начинать с набора команд в Mathcad! Для начала следует подготовиться.
Прежде всего, нужно решить, что делает Ваша программа. Для больших, сложных программ это, как правило, нетривиальная задача. Какие выходные данные нужны, и какие входные для этого необходимы?
Возможно, самая сложная часть – это представление того, как будет получен желаемый результат. Будьте готовы потратить несколько листов бумаги. Нарисуйте различные структурные диаграммы и детализируйте их. Вы знаете следующие элементы:
- Ввод (input)
- Действие (или определение)
- Вывод (output)
- Одиночное ответвление (if..elseили if..if)
- Многократное ответвление (if..if..if)
- Цикл for
- Цикл while
Решите, какие вспомогательные переменные (например, счетчики) необходимы, и какие имена Вы собираетесь им дать. Постарайтесь предусмотреть, где и что может пойти не так и как это можно проверить.
Только когда Вы поняли, что улучшить программу на бумаге больше нельзя, открывайте Mathcad. Остановите все вычисления, затем вводите код. Возможно, это самая простая часть написания программы.
После написания кода программы сохраните файл. Затем нажмите кнопку «Автоматический расчет», чтобы запустить вычисления. Будьте готовы увидеть неверный результат или ошибку – тогда программу придется отлаживать. Сохраняйте файл каждый раз, когда делаете большие изменения.
После запуска программы ее необходимо проверить. Попробуйте обычные входные значения, а также такие значения, с которыми могут возникнуть проблемы. Программа может дать сообщение об ошибке для неверного входного или выходного значения. В завершение подумайте, как можно улучшить программу.
Резюме
- Отключайте вычисления при написании или редактировании программы (Вычисления –> Остановить все расчеты).
- Цикл for – повторяет вычисления определенное количество раз. Цикл forобязательно включает в себя счетчик и число повторений.
- Цикл while – выполняется, пока соблюдается определенное условие. Начальное значение счетчика следует задавать до цикла. В теле цикла изменение счетчика задается вручную.
- Программы почти всегда требуют отладки. Полезная команда для этого – return, с помощью которой можно вывести промежуточное значение.
- Важно подготовиться к написанию программы, например, составив структурную диаграмму до написания непосредственно кода.
Другие интересные материалы
sapr-journal.ru
Стартовала регистрация участников форума молодежи Новосибирской области «PROрегион» С 10 по 13 сентября 2019 года пройдет главное молодежное событие Новосибирской области – форум «PROрегион». Ежегодно на форум собираются представители молодежного сообщества региона, чтобы обсудить актуальные вопросы социальной проблематики. Тема форума этого года – «Культура мира». Как отмечают организаторы форума, «Культура мира» направлена на социальное взаимодействие и сотрудничество, основанное на принципах свободы, справедливости, демократии, соблюдении всех прав человека. Она отвергает насилие, учит решать проблемы с помощью диалога. Именно об этом эксперты форума будут говорить с участниками. Экспертами форума станут тренеры неформального образования из Казани, Москвы, Томска, Челябинска, Минска, Еревана. К участию в форуме приглашаются молодые люди в возрасте от 16 до 30 лет, проживающие в Новосибирской области и г. Новосибирске. Планируется, что участниками форума также станут представители активной молодежи из других регионов страны, а также представители иностранной молодежи, обучающейся в вузах региона. |
Лучшие студенты Сибстрина стали стипендиатами Правительства Новосибирской области 30 мая 2019 года в большом зале Правительства Новосибирской области состоялась церемония торжественного вручения свидетельств стипендиатам Губернатора Новосибирской области и Правительства Новосибирской области, а также талантливым студентам-соотечественникам. С приветственным словом к участникам церемонии обратились глава Новосибирской области А.А. Травников и министр образования Новосибирской области С.В. Федорчук. Они же вручили свидетельства о награждении стипендиями губернатора и правительства 191 студенту вузов, училищ и техникумов, добившимся выдающихся успехов в освоении профессиональных образовательных программ. Среди награждаемых была группа студентов нашего университета. «Я вижу, что вы гордитесь своими успехами, а мы с удовольствием наблюдаем, как вы осваиваете будущие специальности. Много талантливых и успешных молодых людей учатся в вузах Новосибирска, и это дает уверенность в будущем нашего региона. Желаю вам успехов в учебе и дальнейшей профессиональной деятельности, и воплощения в жизнь творческих замыслов. Здоровья вам и удачи!» – сказал губернатор Новосибирской области А.А. Травников. |
В НГАСУ (Сибстрин) обсудили перспективы сотрудничества с Узбекистаном 31 мая 2019 года состоялась встреча ректора НГАСУ (Сибстрин) Ю.Л. Сколубовича с делегацией республики Узбекистан. Мероприятие прошло при посредничестве Академии КНАУФ СНГ. В состав узбекской делегации вошли директор Маргиланского строительного колледжа М.Н. Исмаилов, директор Бухарского ирригационно-мелиорационного и архитектурного колледжа Р.Е. Буронов, руководитель учебного центра «КНАУФ ГИПС Бухара» С.С. Атаев, начальник информационно-технического центра «КНАУФ ГИПС Бухара» Ш.Х. Камилов. Со стороны НГАСУ (Сибстрин) во встрече приняли участие заведующая кафедрой строительных материалов, стандартизации и сертификации О.Е. Смирнова и директор Института международной деятельности Н.В. Синеева. Компанию КНАУФ представляли руководитель Академии КНАУФ СНГ Е.В. Парикова и руководитель группы внешнего обучения Новосибирского отделения Восточной сбытовой дирекции – филиал ООО «КНАУФ ГИПС» М.Е. Михейченко. |
Успешные выпускники кафедры ГТСБЭ поделились опытом со студентами 27 мая 2019 года состоялась, ставшая уже традиционной, встреча выпускников-гидротехников кафедры ГТСБЭ, а ныне начальника отдела ГТС Управления Кировского филиала АО «Апатит» (группа «Фос Агро») Ильи Григорьевича Зеленского (1994 год выпуска) и директора ООО «Верхний бьеф» Дмитрия Вонсамовича Кима (2009 года выпуска) со студентами 3 и 4 курсов направлений «Строительство» и «Природообустройство и водопользование». В настоящее время в России более 1500 вузов, из которых гидротехников выпускает только около 10. Ежегодно выпускается всего порядка 200 человек. С другой стороны, в составе водохозяйственного комплекса Российской Федерации находится свыше 25 тысяч гидротехнических сооружений. Это – плотины, здания гидроэлектростанций, водосбросные, водоспускные и водовыпускные сооружения, тоннели, каналы, насосные станции, судоходные шлюзы, судоподъемники; сооружения, предназначенные для защиты от наводнений, разрушений берегов и дна водохранилищ, рек; сооружения (дамбы), ограждающие хранилища жидких отходов промышленных и сельскохозяйственных организаций; устройства от размывов на каналах, а также другие сооружения, предназначенные для использования водных ресурсов и предотвращения негативного воздействия вод и жидких отходов. |
www.sibstrin.ru
Урок 11. Программирование в Mathcad
Mathcad содержит встроенную среду программирования, что значительно расширяет возможности вычислительного пакета. Операторы программирования находятся в меню Математика –> Операторы и символы –> Программирование:
Этих операторов не очень много, но и они позволяют построить достаточно сложные алгоритмы. К тому же, уже ознакомившись с базовыми понятиями (операторы, переменные, константы, функции и т.д.), можно использовать Mathcad, если Вы хотите лишь начать изучать программирование.
Команды, которые мы изучим в этом уроке:
- «Программирование» – для создания программной структуры.
- «Локальное назначение» – знак «равно» для программ.
- «Оператор if»– оператор условия.
- «Оператор else»– альтернативный выбор.
- «Оператор return» – выход из программы.
- «Try / On Error» – применяется, если при выполнении программы может возникнуть ошибка.
Эти команды можно сочетать с операторами, переменными и функциями Mathcad. Например, Вы можете использовать структуру функции для ввода входных значений:
«Программирование» и «Локальное определение»
Создадим программу, которая вычисляет разницу между двумя переменными a и b.
На рисунке ниже представлена структурная диаграмма программы:
Здесь всего три элемента: вход, действие и выход. Вместо структурной диаграммы можно использовать другие способы, помогающие созданию программы, например, блок-схемы или псевдокод.
Определите ввод переменных a и b:
Нажмите оператор «Программирование» на панели Математика –> Программирование:
Нажмите [Enter] для создания второй строки:
Переместите курсор в верхний местозаполнитель, затем вставьте оператор «Локальное назначение»:
Заполните местозаполнители слева и справа от оператора:
Переместите курсор в нижний местозаполнитель и вставьте оператор «return»:
Важно! Операторы программирования return, else, if, while и т.д. следует вставлять из меню программирования. Ввод этих команд с клавиатуры не приведет к желаемому результату.
Введите переменную в местозаполнитель:
Всегда тестируйте программы, потому что при некоторых значениях могут получиться бессмысленные результаты. В некоторых случаях это могут быть отрицательные числа, ноль или бесконечность.
У операторов программирования есть свои горячие клавиши. Попробуйте запомнить их:
- «Программирование» – правая квадратная скобка ]
- «Локальное назначение» – левая фигурная скобка {
- «return»– [Ctrl+\]
Создайте предыдущую программу снова, используя горячие клавиши. Теперь это должно занять меньше минуты!
Программе не обязательно задавать входные переменные:
Оператор «return» также не обязателен – программа примет за выходное значение последнее вычисление:
В нашей второй программе (которая более полезна, чем предыдущая) мы вычислим площадь поверхности цилиндра диаметром D и высотой H. Структурная диаграмма этой программы:
Программа и некоторые выходные результаты показаны ниже. Возможно, нужно запретить отрицательные входные значения…
Заметьте, что переменные внутри программы являются локальными. Локальная переменная не определяется вне программы:
Входным значениям можно дать числа с единицами измерения:
Однако если задать единицу измерения только одной переменной, Mathcad скажет, что единицы не совместимы:
Поэтому единицы измерения следует использовать единообразно.
Булева алгебра
В программах часто используются равенства и неравенства. Операторы сравнения находятся в меню Математика –> Операторы и символы –> Операторы –> Сравнение:
Операторы сравнения дают результат 1 при истинном выражении и 0 при ложном:
Операторы сравнения можно сочетать. Пример таких сочетаний с оператором логического И:
Операторы
if и
else
Необходимо создать программу функции, которая принимает следующие значения:
Структурная диаграмма программы представлена ниже. Треугольник означает выбор между двумя или более альтернативными вариантами. Напишем программу, используя операторы if и else.
Введите имя функции и местозаполнитель для первой строки:
Нажмите if в меню программирования или с помощью горячей клавиши }. Появится вторая строка, которая относится к оператору if:
Введите критерий выбора и желаемое значение функции. Обратите внимание на серые линии справа:
Нажмите на внутреннюю серую линию (станет мигающей синей), затем вставьте оператор else. Появится еще одна строка, относящаяся к else:
Введите необходимую функцию под else. Внутренняя серая линия удлинится, что указывает на то, что операторы ifи else связаны между собой. Нажмите на нее, нажмите [Enter], затем вставьте оператор return:
Проверьте программу, построив график функции:
При работе с программой можно добавлять новые строки нажатием клавиши [Enter]. Где появится местозаполнитель, зависит от положения курсора. Выбрана внутренняя серая линия:
Курсор стоит за x2:
Усложним функцию:
На структурной диаграмме показаны различные варианты выбора. Наиболее простой способ создать программу для этой задачи – использовать три различных операторов выбора (в Mathcad нет аналога оператора case).
Здесь важно правильно задать границы независимой переменной. Если Вы введете:
,
то точки 0 и 1 будут исключены, а Mathcad выдаст некорректный результат для этих значений.
Проверим программу для некоторых входных значений:
Для значений, не имеющих смысла, Mathcad выдаст сообщение об ошибке.
Функции в программах
В Mathcad встроено множество функций, которые могут быть полезными в том числе и в программах. Рассмотрим некоторые из них.
Векторы и матрицы
Откройте Функции –> Все функции и откройте раздел Векторы и матрицы. Найдите функции last() и length(). Это функции для определения некоторых свойств вектора:
Функция length() определяет длину вектора, т.е. количество элементов в нем, а функция last() выводит индекс последнего элемента. По умолчанию в Mathcadнумерация элементов вектора начинается с нуля, поэтому у четвертого элемента массива индекс 3.
Теория чисел/комбинаторика
Наибольший общий делитель:
Наименьшее общее кратное:
Остаток от деления x на y:
Кусочно-непрерывные функции
Ступенчатая функция:
Разное
«Разное» содержит функцию time(), которая возвращает системное время момента активации функции.
Строковые функции
Строки в Mathcad заключаются в двойные кавычки:
Строки можно задавать в качестве переменных, но их нельзя использовать в вычислениях. (Строку, содержащую только числа, можно преобразовать в константу.)
Конкатенация строк:
Длина строки (включая пробелы):
Строки могут быть полезны для задания в программах сообщений об ошибках.
Усечение и округление
Наименьшее целое число, большее x:
Наибольшее целое число, меньшее x:
Округление:
Усечение:
Список функций Mathcad огромен. Два совета по ознакомлению с новыми функциями:
- Подведя указатель мыши к имени функции в списке, Вы увидите ее полное название и краткое описание.
- Если Вы вставите функцию в рабочую область, а затем нажмете [F1], Вы получите расширенное описание функции.
Try / On Error
Последняя команда, которую мы изучим в этом уроке, используется для указания, что должно быть сделано, если при выполнении программы возникает ошибка (например, деление на ноль). Если при выполнении программы в блоке tryвозникает ошибка, программа выполняет действия в блоке on error:
Ниже представлена программа с тремя операторами if внутри блока try:
При неверном вводе появится сообщение об ошибке. Таким образом, можно отследить большую часть ошибок, но не все:
Поскольку переменная abc не определена, функция не вычисляется.
Резюме
Мы изучили следующие элементы программирования:
- Входные данные – обычно вводятся как параметры функции.
- Первая строка программы – вводится с помощью ]. Больше линий – с помощью [Enter].
- Оператор локального определения – вводится с помощью {.
- В конструкциях выбора с помощью оператора ifприменяются операторы сравнения.
- If вводится с помощью }. За ifвводится логическое выражение, например x<0. Под оператором записывается алгоритм, который должен быть выполнен, если выражение после if верно.
- После if может следовать оператор else или другой оператор if.
- [Enter] добавляет новую строку в программу. Место появления новой строки зависит от позиции курсора до нажатия на [Enter].
- Вывод переменной осуществляется с помощью оператора return. Переменной может быть одиночная переменная, вектор или матрица, которые могут содержать как числовые значения, так и текст.
- Mathcadсодержит большое число встроенных функций, которые могут быть полезны при написании программ. Список функций с подсказками можно открыть по команде Функции –> Все функции.
- Используйте try / onerror, чтобы указывать на ошибки.
Другие интересные материалы
sapr-journal.ru
Программирование в MathCad
ФГБОУ ВПО «МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ ИНСТИТУТ ИМЕНИ М. Е. ЕВСЕВЬЕВА»
Факультет физико-математический
Кафедра информатики и вычислительной техники
Проект по имитационному моделированию в системах компьютерной математики на тему:
«Программирование в MathCAd»
Работу выполнила:студентка 2 курса группы МДМ-214 Д.А.Лапшина
Направление подготовки «Педагогическое образование».
Профиль подготовки «Математика. Информатика».
Работу проверила: Т.В. Кормилицына
Саранск 2015
Программирование в MathCAD
Панель инструментов Программирование
Язык программирования Mathcad
Для вставки программного кода в документы в Mathcad имеется специальная панель инструментов Программирование. Большинство кнопок этой панели выполнено в виде текстового представления операторов программирования, поэтому их смысл легко понятен.
Что такое программа?
Программа – это выражение содержащее более одного утверждения.
Основными инструментами работы в Mathcad являются математические выражения, переменные и функции.
Программирование в Mathcad имеет ряд существенных преимуществ, которые в ряде случаев делают документ более простым и читаемым:
возможность применения циклов и условных операторов дает большую гибкость построения выражений;
простота создания функций и переменных, требующих нескольких простых шагов;
возможность создания функций, содержащих закрытый для остального документа код, включая преимущества использования локальных переменных и обработку исключительных ситуаций (ошибок).
Программный модуль обозначается в Mathcad вертикальной чертой, справа от которой последовательно записываются операторы языка программирования.
Создание программы (Add Line)
Чтобы создать программный модуль:
Введите имя функции и присваивания.
Нажмите на панели Программирование кнопку Add Line (Добавить линию).
Если приблизительно известно, сколько строк кода будет содержать программа, можно создать нужное количество линий повторным нажатием кнопки Add Line (Добавить линию) соответствующее число раз (ниже показан результат трехкратного нажатия).
В появившиеся местозаполнители введите желаемый программный код, используя программные операторы.
После того как программный модуль полностью определен и ни один местозаполнитель не остался пустым, функция может использоваться обычным образом, как в численных, так и в символьных расчетах.
Не вводите с клавиатуры имена операторов. Для их вставки пользуйтесь панелью Программирование.
Начало создания программного модуля
Разработка программы
Вставить строку программного кода в уже созданную программу можно в любой момент с помощью той же самой кнопки Add Line. Для этого следует предварительно поместить на нужное место внутри программного модуля курсор ввода.
Основной принцип создания программных модулей заключается в правильном расположении строк кода. Ориентироваться в их действии довольно легко, т. к. фрагменты кода одного уровня сгруппированы в программе с помощью вертикальных линий.
Оператор локального присваивания ()
Язык программирования Mathcad позволяет создавать внутри программных модулей локальные переменные, которые «не видны» извне, из других частей документа. Присваивание значения переменной, в отличие от документов Mathcad, производится с помощью оператора Локальное присваивание, который вставляется нажатием кнопки с изображением стрелки .
Ни оператор присваивания :=, ни оператор вывода = в пределах программ не применяются.
Локальное присваивание иллюстрируется примером слева. Переменная z существует только внутри программы, выделенной вертикальной чертой. Из других мест документа получить ее значение невозможно.
Условный оператор (if, otherwise)
Сначала проверяется логическое выражение (условие) справа от него.
Если оно истинно, выполняется выражение слева от оператора if.
Если ложно, выполнение программы продолжается переходом к следующей строке.
Оператор otherwise используется совместно с оператором if и указывает на выражение, которое будет выполняться, если проверяемое условие не выполняется.
Пример. Построить график функции
Операторы цикла (for, while, break, continue)
В языке программирования Mathcad имеются два оператора цикла: for и while. Первый из них дает возможность организовать вычисления несколько раз. Второй создает цикл с выходом из него по некоторому логическому условию.
Вставка оператора цикла
При необходимости дополните программу другими строками и введите в них нужный код.
Диапазон значений переменной в условии цикла for можно задать как с помощью диапазона ранжированной переменной, так и с помощью вектора.
Оператор цикла for с ранжированной переменной
Оператор цикла for с вектором
Оператор цикла while
Оператор break
Позволяет досрочно завершить цикл при достижении некоторого условия. Управление передается на первый оператор после цикла.
Оператор break внутри цикла for
Оператор break внутри цикла while
Чтобы четче обозначить границы завершения тела цикла, в его конце может использоваться дополнительная строка с оператором continue.
Возврат значения (return)
По умолчанию программа возвращает значение, вычисленное в последней строке. Можно явно указать имя вычисляемой переменной в последней строке программного модуля. Вместе с тем, можно вернуть значение, вычисленное в любом месте программы с помощью оператора return.
Возврат значения обозначен явно в последней строке программы
Применение оператора return
Перехват ошибок (on error)
Программирование в Mathcad позволяет осуществлять дополнительную обработку ошибок. Если пользователь предполагает, что выполнение кода в каком-либо месте программного модуля способно вызвать ошибку (например деление на ноль), то эту ошибку можно перехватить с помощью оператора on error. Чтобы вставить его в программу, надо поместить курсор ввода в нужное положение и нажать кнопку с именем оператора on error . В результате появится строка с двумя местозаполнителями и оператором on error посередине.
Вставка оператора перехода по ошибке
В правом местозаполнителе следует ввести выражение, которое должно выполняться в данной строке программы. В левом — выражение, которое будет выполнено вместо правого выражения, если при выполнении последнего возникнет ошибка. Приведем пример применения оператора on error в программном модуле, который рассчитывает функцию обратного числа значению n. Соответственно, вместо выражения справа от оператора on error будет выполнено левое выражение, присваивающее функции f(n) строковое значение «user error: cannot divide by zero» (пользовательская ошибка: деление на ноль невозможно). Конечно, этой строке можно присвоить и текст на русском языке.
Перехват ошибки деления на ноль
Перехват ошибки деления на ноль
Обратите внимание, что сделанные изменения свелись к помещению текста сообщения об ошибке в аргумент функции error.
Примеры программирования
Рассмотрим два простых примера использования программных модулей в Mathcad для численных и символьных расчетов. В двух приведенных листингах используется большинство операторов, рассмотренных в данной главе.
Программирование в численных расчетах
Программирование в символьных расчетах
www.metod-kopilka.ru
Расчеты в MathCad (Файлы примеров в MathCad) | Макаров Е.Г.
Main Расчеты в MathCad (Файлы примеров в MathCad) Макаров Е.Г.Новый диск, 2008.56 примеров инженерных расчетов по различным разделам математики, сопротивления материалов, динамики и прочности машин, включая расчеты методом конечных элементов. Удобная навигация позволит мгновенно найти нужный раздел и распечатать его.
Language: russian
File: RAR, 9.79 MB
The file will be sent to selected email address. It may takes up to 1-5 minutes before you received it.
The file will be sent to your Kindle account. It may takes up to 1-5 minutes before you received it.Please note you’ve to add our email [email protected] to approved e-mail addresses. Read more.
1
2
mcad/01-statistica.mcd mcad/02-electro1.mcd mcad/03-electro2.mcd mcad/04-kulachok.mcd mcad/05-most.avi mcad/05-most.mcd mcad/05-most1a.avi mcad/05-most2.avi mcad/05-most2a.avi mcad/05-most3.avi mcad/05-most3a.avi mcad/06-Geom1.mcd mcad/07-Geom2.mcd mcad/08-Geom3.mcd mcad/09-Vnutr1.mcd mcad/10-Vnutr2.mcd mcad/11-Vnutr3.mcd mcad/12-Vnutr4.mcd mcad/13-Rast1.mcd mcad/14-Rast2.mcd mcad/15-Rast3.mcd mcad/16-Soedin.mcd mcad/17-Kruch2.mcd mcad/18-1.prn 0 1 5 22 30 111 111 132 177 321 512 833 958 958 1009 1100 1300 1700 1950 1985 2000 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 mcad/18-2.prn 9.038 14.8 26.55 19.51 33.69 14.22 30.31 18.12 11.74 13.42 38.66 12.57 9.268 15.95 18.05 4.987 13.52 1.712 23.5 15.6 26.28 28.68 16.18 13.86 25.87 23.39 29.9 18.34 7.986 25.2 11.28 20.32 0.2645 8.277 17.64 25.13 14.55 22.31 13.74 22.33 17.97 22.05 17.17 4.547 12.75 15.51 22.55 5.07 14.76 20.99 13.43 13.25 29.79 21.8 38 13.6 33.65 14.74 33.52 13.67 30.96 17.39 29.47 21.66 3.691 25.04 15.51 12.79 28.48 16.49 14.15 25.41 13.68 29.49 22.18 5.88 25.18 15.03 0.8249 17.18 15.94 25.29 19.73 25.26 3.298 9.423 8.582 4.208 25.04 18.01 7.582 0.04858 24.19 6.317 16.6 3.414 22.57 16.3 13.1 20.89 22.1 26.34 27.86 24.12 29.87 14.7 14.35 22.72 11.93 11.83 36.94 35.84 15.82 12.32 18.84 13.55 17.93 25.64 18.74 16.97 5.529 16.65 7.286 18.14 17.54 14.83 22.22 18.61 24.14 17.28 27.35 21.83 20.03 9.451 9.175 3.257 25.54 4.647 2.38 19.23 16.35 12.27 13.97 4.58 22.14 24.8 26.2 9.002 3.817 23.55 27.29 11.17 28.62 12.14 15.81 36.6 28.88 23.78 23.9 24.28 29.64 27.19 9.177 3.019 25.9 22.42 11.4 16.58 28.67 5.298 3.949 28.55 0.8353 1.678 3.949 25.93 21.65 0.4405 21.24 6.527 5.068 10.23 11.03 24.07 15.8 23.95 4.345 12.07 4.097 1.985 17.2 16.44 9.34 24.24 8.528 26.86 22.31 10.83 6.855 6.883 25.27 10.61 24.74 11.84 35.75 13.4 36.95 10.41 19.09 20.96 37.38 25.03 29.81 7.775 15.77 11.96 17.57 20.52 13.07 0.216 18.05 17.3 6.67 0.1286 2.468 25.65 24.33 20.74 15.9 4.283 21.84 0.9328 19.34 2.564 28.44 8.249 29.45 8.768 11.03 6.559 7.217 27.07 27.08 2.404 5.154 23.28 6.319 0.1133 3.422 9.335 10.16 14.68 13.61 35.56 14.87 28.37 36.27 36.64 13.52 26.09 37.29 26.36 16.66 10.51 23.86 2.109 17.72 5.93 19.33 18.13 13.24 11.9 17.77 28.48 11.75 5.56 17.23 18.82 1.489 7.806 26.86 21.85 11.81 27.12 11.64 10.61 22.36 22.18 6.005 20.41 11.04 3.282 6.092 19.64 20.63 2.387 0.8344 9.217 4.28 2.036 30.75 29.82 28.65 11.95 10.49 22.92 30.84 29.4 20.16 10.5 14.09 18.32 15.37 14.54 13.2 18.18 12.03 25.28 18.7 1.605 25.91 9.192 0.8016 11.74 0.9315 25.74 12.06 18.35 26.26 17.85 23.79 17.72 17.08 20.18 0.3069 10.25 23.13 26.1 21.77 26.82 16.07 23.4 5.922 23.92 25.46 18.86 18.51 7.52 23.64 21.42 11.45 34.66 18.22 23.19 14.76 38.85 28.43 14.22 17.25 34.17 20.14 15.98 15.95 29.13 0.6873 4.555 0.2777 19.32 12.44 2.721 20.98 19.73 16.06 1.62 7.8 25.9 2.624 21.28 25.93 8.791 19.35 24.86 26.16 27.38 13.2 10.62 12.83 0.02624 23.21 2.695 20.52 4.623 1.454 0.5575 19.43 27.42 12.95 7.278 19.62 0.6856 13.15 mcad/18-Kruch3.mcd mcad/19-Izgib1.mcd mcad/20-Izgib2.mcd mcad/21-Izgib3.mcd mcad/22-plast1.mcd mcad/23-plast2.mcd mcad/24-plast3.mcd mcad/25-slog-sopr1.mcd mcad/26-slog-sopr2.mcd mcad/27-energ1.mcd mcad/28-energ2.mcd mcad/29-energ3.mcd mcad/30-energ4.mcd mcad/31-energ5.mcd mcad/32-energ6.mcd mcad/33-ustoi1.mcd mcad/34-ustoi2.mcd mcad/35-ustoi3.mcd mcad/36-koleb1.mcd mcad/37-koleb2.avi mcad/37-koleb2.mcd mcad/38-koleb3.mcd mcad/38-выдавливание.mcd mcad/39-ustal1.mcd mcad/40-ustal2.mcd mcad/41-ustal3.mcd mcad/42-razruch.mcd mcad/43-diag.mcd mcad/44-obolochka.mcd mcad/45-optimiz1.mcd mcad/46-optimiz2.mcd mcad/47-optimiz3.mcd mcad/48-optimiz4.mcd mcad/49-optimiz5.mcd mcad/50-МКЭ-1-балка.avi mcad/50-МКЭ-1-балка.mcd mcad/51-МКЭ-2-рама.mcd mcad/52-МКЭ-3-простран.mcd mcad/52-МКЭ3-F1000 100 0 -3000 0 0 0 0 0 0 0 0 -1000 0 0 100 0 0 0 0 mcad/52-МКЭ3-FI45 90 45 90 0 90 135 90 45 0 90 90 90 0 90 90 90 0 0 90 90 90 0 90 90 90 0 34 56 90 124 34 90 90 90 0 90 0 90 0 90 90 90 90 0 90 45 45 90 135 45 0 90 90 mcad/52-МКЭ3-MI0 0 0 0 0 0 9 4 5 10 7 8 0 0 1 0 0 2 3 4 5 6 7 8 3 4 5 6 7 8 11 12 13 14 15 16 0 0 0 18 19 20 11 12 13 14 15 16 0 0 0 0 0 0 11 12 13 14 15 16 0 0 0 17 0 0 11 12 13 14 15 16 mcad/52-МКЭ3-S 56.4 7.10 16.2 8.10 8.10 40.0 7.10 16.2 8.10 8.10 20.0 7.10 16.2 8.10 8.10 72.1 7.10 16.2 8.10 8.10 40.0 7.10 16.2 8.10 8.10 56.4 7.10 16.2 8.10 8.10 mcad/53-Matr-ind.mcd mcad/53-МКЭ-4-кольцо.mcd mcad/54-МКЭ-5-Пуассон.mcd mcad/54-МКЭ5-COORD.TXTкоординаты узлов y и z 1 10 0 2 8 0 3 6 0 4 5 0 5 10 2 6 8 2 7 6 2 8 5 2 9 10 4 10 8 4 11 6 4 12 5 4 13 6 5 14 5 5 15 4 5 16 2 5 17 0 5 18 10 6 19 8 6 20 6 6 21 5 6 22 4 6 23 2 6 24 0 6 25 10 8 26 8 8 27 6 8 28 4 8 29 2 8 30 0 8 31 10 10 32 8 10 33 6 10 34 4 10 35 2 10 36 0 10 mcad/54-МКЭ5-GRAN.TXT√раничные услови¤ 1 2 3 4 8 12 14 15 16 17 24 30 36 35 34 33 32 31 25 18 9 5 mcad/54-МКЭ5-MIU.TXT mcad/55-МКЭ-6-пласт.mcd mcad/55-МКЭ6-Coord.prn 1 30-1.149e-014 2 28.5-1.091e-014 3 27-1.034e-014 4 25.5-9.763e-015 5 24-9.189e-015 6 22.5-8.614e-015 7 21-8.04e-015 8 19.5-7.466e-015 9 18-6.891e-015 10 16.5-6.317e-015 11 15-5.743e-015 12 28.53 9.271 13 27.11 8.807 14 25.68 8.343 15 24.25 7.88 16 22.83 7.416 17 21.4 6.953 18 19.97 6.489 19 18.55 6.026 20 17.12 5.562 21 15.69 5.099 22 14.27 4.635 23 24.27 17.63 24 23.06 16.75 25 21.84 15.87 26 20.63 14.99 27 19.42 14.11 28 18.2 13.23 29 16.99 12.34 30 15.78 11.46 31 14.56 10.58 32 13.35 9.698 33 12.14 8.817 34 17.63 24.27 35 16.75 23.06 36 15.87 21.84 37 14.99 20.63 38 14.11 19.42 39 13.23 18.2 40 12.34 16.99 41 11.46 15.78 42 10.58 14.56 43 9.698 13.35 44 8.817 12.14 45 9.271 28.53 46 8.807 27.11 47 8.343 25.68 48 7.88 24.25 49 7.416 22.83 50 6.953 21.4 51 6.489 19.97 52 6.026 18.55 53 5.562 17.12 54 5.099 15.69 55 4.635 14.27 56 0 30 57 0 28.5 58 0 27 59 0 25.5 60 0 24 61 0 22.5 62 0 21 63 0 19.5 64 0 18 65 0 16.5 66 0 15 mcad/55-МКЭ6-GU.prn 1 1 0 2 3 0 3 5 0 4 7 0 5 9 0 6 11 0 7 13 0 8 15 0 9 17 0 10 19 0 11 21 0 12 112 0 13 114 0 14 116 0 15 118 0 16 120 0 17 122 0 18 124 0 19 126 0 20 128 0 21 130 0 22 132 0 mcad/55-МКЭ6-Miuf.prn 13 12 1 2 13 1 14 13 2 3 14 2 15 14 3 4 15 3 16 15 4 5 16 4 17 16 5 6 17 5 18 17 6 7 18 6 19 18 7 8 19 7 20 19 8 9 20 8 21 20 9 10 21 9 22 21 10 11 22 10 24 23 12 13 24 12 25 24 13 14 25 13 26 25 14 15 26 14 27 26 15 16 27 15 28 27 16 17 28 16 29 28 17 18 29 17 30 29 18 19 30 18 31 30 19 20 31 19 32 31 20 21 32 20 33 32 21 22 33 21 35 34 23 24 35 23 36 35 24 25 36 24 37 36 25 26 37 25 38 37 26 27 38 26 39 38 27 28 39 27 40 39 28 29 40 28 41 40 29 30 41 29 42 41 30 31 42 30 43 42 31 32 43 31 44 43 32 33 44 32 46 45 34 35 46 34 47 46 35 36 47 35 48 47 36 37 48 36 49 48 37 38 49 37 50 49 38 39 50 38 51 50 39 40 51 39 52 51 40 41 52 40 53 52 41 42 53 41 54 53 42 43 54 42 55 54 43 44 55 43 57 56 45 46 57 45 58 57 46 47 58 46 59 58 47 48 59 47 60 59 48 49 60 48 61 60 49 50 61 49 62 61 50 51 62 50 63 62 51 52 63 51 64 63 52 53 64 52 65 64 53 54 65 53 66 65 54 55 66 54 mcad/56-МКЭ-7-изопарам.mcd mcad/56-МКЭ-7-изопарам.xmcd mcad/animation-1.avi mcad/animation-2.avi mcad/animation-3.avi mcad/animation-4.avi mcad/animation-5.avi mcad/animation-6.avi mcad/animation-7.avi mcad/animation.avi mcad/Animation.mcd mcad/Coord.prn 1 30-1.149e-014 2 28.5-1.091e-014 3 27-1.034e-014 4 25.5-9.763e-015 5 24-9.189e-015 6 22.5-8.614e-015 7 21-8.04e-015 8 19.5-7.466e-015 9 18-6.891e-015 10 16.5-6.317e-015 11 15-5.743e-015 12 28.53 9.271 13 27.11 8.807 14 25.68 8.343 15 24.25 7.88 16 22.83 7.416 17 21.4 6.953 18 19.97 6.489 19 18.55 6.026 20 17.12 5.562 21 15.69 5.099 22 14.27 4.635 23 24.27 17.63 24 23.06 16.75 25 21.84 15.87 26 20.63 14.99 27 19.42 14.11 28 18.2 13.23 29 16.99 12.34 30 15.78 11.46 31 14.56 10.58 32 13.35 9.698 33 12.14 8.817 34 17.63 24.27 35 16.75 23.06 36 15.87 21.84 37 14.99 20.63 38 14.11 19.42 39 13.23 18.2 40 12.34 16.99 41 11.46 15.78 42 10.58 14.56 43 9.698 13.35 44 8.817 12.14 45 9.271 28.53 46 8.807 27.11 47 8.343 25.68 48 7.88 24.25 49 7.416 22.83 50 6.953 21.4 51 6.489 19.97 52 6.026 18.55 53 5.562 17.12 54 5.099 15.69 55 4.635 14.27 56 0 30 57 0 28.5 58 0 27 59 0 25.5 60 0 24 61 0 22.5 62 0 21 63 0 19.5 64 0 18 65 0 16.5 66 0 15 mcad/Data.prn 38 15 5.5 23 51 79 105 126 144 156 164 166 162 152 137 117 93 66 mcad/find.mcd mcad/Graphic1.mcd mcad/Graphic2.mcd mcad/Graphic3.mcd mcad/Graphic4.mcd mcad/Graphic5.mcd mcad/Graphic6.mcd mcad/Graphic7.mcd mcad/GU.PRN mcad/interp.mcd mcad/interp1.mcd mcad/matrix1.mcd mcad/matrix2.mcd mcad/matrix3.mcd mcad/MC13.mcd mcad/MC14.mcd mcad/minerr.mcd mcad/minimax.mcd mcad/Miu 1 26 24 2 2 4 26 2 3 6 26 4 4 6 28 26 5 30 28 6 6 8 30 6 7 10 30 8 8 10 32 30 9 34 32 10 10 12 34 10 11 14 34 12 12 14 36 34 13 38 36 14 14 16 38 14 15 18 38 16 16 18 40 38 17 42 40 18 18 20 42 18 19 22 42 20 20 22 44 42 21 26 46 24 22 26 48 46 23 50 48 26 24 28 50 26 25 30 50 28 26 30 52 50 27 54 52 30 28 32 54 30 29 34 54 32 30 34 56 54 31 58 56 34 32 36 58 34 33 38 58 36 34 38 60 58 35 62 60 38 36 40 62 38 37 42 62 40 38 42 64 62 39 66 64 42 40 44 66 42 41 70 68 46 42 48 70 46 43 50 70 48 44 50 72 70 45 74 72 50 46 52 74 50 47 54 74 52 48 54 76 74 49 78 76 54 50 56 78 54 51 58 78 56 52 58 80 78 53 82 80 58 54 60 82 58 55 62 82 60 56 62 84 82 57 86 84 62 58 64 86 62 59 66 86 64 60 66 88 86 61 70 90 68 62 70 92 90 63 94 92 70 64 72 94 70 65 74 94 72 66 74 96 94 67 98 96 74 68 76 98 74 69 78 98 76 70 78 100 98 71 102 100 78 72 80 102 78 73 82 102 80 74 82 104 102 75 106 104 82 76 84 106 82 77 86 106 84 78 86 108 106 79 110 108 86 80 88 110 86 81 114 112 90 82 92 114 90 83 94 114 92 84 94 116 114 85 118 116 94 86 96 118 94 87 98 118 96 88 98 120 118 89 122 120 98 90 100 122 98 91 102 122 100 92 102 124 122 93 126 124 102 94 104 126 102 95 106 126 104 96 106 128 126 97 130 128 106 98 108 130 106 99 110 130 108 100 110 132 130 mcad/MIU1 1 26 24 2 2 4 26 2 3 6 26 4 4 6 28 26 5 30 28 6 6 8 30 6 7 10 30 8 mcad/Miuf.prn 13 12 1 2 13 1 14 13 2 3 14 2 15 14 3 4 15 3 16 15 4 5 16 4 17 16 5 6 17 5 18 17 6 7 18 6 19 18 7 8 19 7 20 19 8 9 20 8 21 20 9 10 21 9 22 21 10 11 22 10 24 23 12 13 24 12 25 24 13 14 25 13 26 25 14 15 26 14 27 26 15 16 27 15 28 27 16 17 28 16 29 28 17 18 29 17 30 29 18 19 30 18 31 30 19 20 31 19 32 31 20 21 32 20 33 32 21 22 33 21 35 34 23 24 35 23 36 35 24 25 36 24 37 36 25 26 37 25 38 37 26 27 38 26 39 38 27 28 39 27 40 39 28 29 40 28 41 40 29 30 41 29 42 41 30 31 42 30 43 42 31 32 43 31 44 43 32 33 44 32 46 45 34 35 46 34 47 46 35 36 47 35 48 47 36 37 48 36 49 48 37 38 49 37 50 49 38 39 50 38 51 50 39 40 51 39 52 51 40 41 52 40 53 52 41 42 53 41 54 53 42 43 54 42 55 54 43 44 55 43 57 56 45 46 57 45 58 57 46 47 58 46 59 58 47 48 59 47 60 59 48 49 60 48 61 60 49 50 61 49 62 61 50 51 62 50 63 62 51 52 63 51 64 63 52 53 64 52 65 64 53 54 65 53 66 65 54 55 66 54 mcad/Normal.mct mcad/odesolve.mcd mcad/polyroot.mcd mcad/PRIMER.PRN 1 2 3 4 5 2 3 4 5 1 3 4 5 1 2 4 5 1 2 3 5 1 5 3 4 mcad/program.mcd mcad/regress1.mcd mcad/regress2.mcd mcad/root.mcd mcad/SINCOS.AVI mcad/smooth.mcd mcad/Specfunction1.mcd mcad/Specfunction2.mcd mcad/Specfunction3.mcd mcad/Specfunction4.mcd mcad/Splash.mcd mcad/start.mcd mcad/Statistica.mcd mcad/Symbol1.mcd mcad/Symbol2.mcd mcad/Symbol3.mcd mcad/TOC- матрица.mcd mcad/TOC- программирование.mcd mcad/TOC-animation.mcd mcad/TOC-coord.mcd mcad/TOC-function1.mcd mcad/TOC-mat-fun.mcd mcad/TOC-MC13.mcd mcad/TOC-MC14.mcd mcad/TOC-original.mcd mcad/TOC-start рис.mcd mcad/TOC-start темы.mcd mcad/TOC-vozm рис.mcd mcad/TOC-vozm темы.mcd mcad/TOC-график.mcd mcad/TOC-инж-расчеты.mcd mcad/TOC-интерполяция.mcd mcad/TOC-ОДУ.mcd mcad/TOC-размерность.mcd mcad/TOC-регрессия.mcd mcad/TOC-символ.mcd mcad/TOC-статистика.mcd mcad/TOC-уравнение.mcd mcad/TOC-условие.mcd mcad/TOC-Фурье.mcd mcad/TOC-эксперимент.mcd mcad/TOC-экстремум.mcd mcad/Toc.mcd mcad/vozm.mcd mcad/адреса.csv"[email protected];[email protected]" "Mathcad;[email protected]" "Mathsoft;[email protected]" "Svetlana Ilyicheva;[email protected]" "Сайт File Exchange File Exchange;[email protected]" mcad/адреса.txt"[email protected];[email protected]" "Mathcad;[email protected]" "Mathsoft;[email protected]" "Svetlana Ilyicheva;[email protected]" "Сайт File Exchange File Exchange;[email protected]" mcad/амбар.avi mcad/горки.avi mcad/Дифур-част.mcd mcad/карта.avi mcad/Массив.xlsЛист1 1 4 0.514 1 6 0.539 1 8 0.643 1 9 0.727 1 10 0.724 2 4 0.584 2 5 0.566 Лист2 Лист3 mcad/ОДУ.mcd mcad/размерность.mcd mcad/спираль.avi mcad/торнадо.avi mcad/условие.mcd mcad/Фурье.mcd mcad.hbk Normal.mct Normal.xmctMathcad Professional 12.0 Mathsoft Engineering & Education, Inc. Mathsoft Engineering & Education, Inc. 00000000-0000-0000-0000-000000000000 3 05e9297f-9c8e-4285-8800-4633ccda82a4 1505178c-a17b-4faa-99a3-71cc204fbba6 00000000-0000-0000-0000-000000000000 h5sIAAAAAAAA/4zMuw6CMBgF4P5tuYoyOf8mLjZh5hmIk4mPQErFW0I0yODb66HgbpvTy9fm ZEIIQhyS+rPCmp/K+tLb57U+P/rODlqMY4sknis7WE9ih8SdOzb31g0TNdMm5AaLmvvXY6s/ j7fUvm+vva+W/m+BHGj+O40PpqDif/2VR0NvXVtW05PxzjmRkcSSjJKsyGjFmgxpDuABh/CQ I7jgGE6cwCWncMULuOYMHvASHvIKPpYaTfwFAAD//wMAWrX/UEMBAAA=
b-ok.org
Основы работы в математическом пакете Mathcad
MathCAD является интегрированной системой, ориентированной на проведение математических и инженерно-технических расчетов [18]. Он объединяет понятность, ясность, простоту в обращении при вычислениях и т.п. с простотой в обращении, свойственной электронным таблицам.
MathCAD может:
Использоваться как калькулятор для простых вычислений.
Определять значения выражений, заданных в символьном виде.
Производить матричные и векторные преобразования.
Решать линейные, нелинейные уравнения и системы уравнений.
Заменять справочные таблицы.
Производить дифференцирование, интегрирование, статистические расчеты и анализ данных.
Строить двумерные и трехмерные графики и т.п.
Документ MathCAD, на котором могут быть совмещены текст, графика и формулы, выглядит как страница научной статьи или учебника, при этом формулы являются «живыми» – стоит внести изменения в одну из них, как MathCAD пересчитает результаты, перерисует графики и т.д.
После запуска приложения MathCAD открывается окно, как это показано на рис. 5.1.
Главное окно оформлено стандартным для Windows-приложений образом: заголовок, главное меню, панель инструментов, окно редактирования, строка состояния.
Рис. 5.1. Рабочее окно системы MathCAD
5.1. Основные команда MathCad
Главное меню системы MathCAD представлено набором команд, общим для большинства приложений операционной системы MS Windows, а также командами, представляющими специфические возможности:
Меню File (Файл) — работа с файлами.
Меню Edit (Правка) — редактирование документов.
Меню View (Вид) — настройка элементов окна. Команды меню View представлены на рис. 5.2.
ToolBars – содержит кнопки панелей инструментов Standard, Formatting, Math. Если отсутствует какая-либо из панелей, то следует включить соответствующую опцию, например, командой ViewToolbarsMath. Status Bar – позволяет включать и отключать отображение строки состояния. Ruler – позволяет включать и отключать отображение горизонтальной линейки для точного позиционирования документов на листе. Regions – делает видимыми/невидимыми границы областей. Zoom – изменение масштаба. Refresh – обновить содержимое экрана. Animate – анимация. PlayBack – воспроизведение. Preferences – настройки. |
Рис. 5.2. Команды меню View (Вид) – редактирование документов
Меню Insert (Вставка) — позволяет помещать в MathCAD – документ графики, функции, матрицы, гиперссылки, компоненты и настраивать объекты.
Меню Format (Формат) — содержит команды, предназначенные для задания различных параметров, определяющих внешнее представление чисел, формул, текста, абзацев, колонтитулов и т.д.
Меню Math (Математика) — позволяет установить режимы и параметры вычислений.
Меню Symbolics (Символы) — реализует символьные вычисления.
Меню Window (Окно) — содержит команды для упорядочения взаимного расположения нескольких окон и позволяет активизировать одно из них.
Меню Help (Помощь) — информационный центр и справочники. Команда Help открывает окно, представленное на рис. 5.3. На вкладке «Содержание» справочные сведения распределены по темам. На вкладке «Указатель» темы представлены в алфавитном порядке. Вкладка «Поиск» позволяет находить конкретное понятие.
Рис. 5.3. Окно меню справки
studfiles.net