Тема.5. Программирование алгоритмов разветвляющейся структуры

Цели работы:Познакомить читателя со встроенными возможностями пакета MathCAD для линейного программирования, а также для разветвляющегося вычислительного процесса.

Место проведения: аудитория ___.

Ход работы.

MathCADProfessional позволяет составлять программы, которые с точки зрения программиста представляют собой подпрограммы-функции. Они могут возвращать в качестве результата число, вектор, матрицу или строку текста. Функции могут вызывать самих себя (рекурсивно определенные функции) или другие подпрограммы-функции, определенные выше в том же MathCAD-документе (или ниже, если при их определении используется оператор глобального присвоения). В этих подпрограммах-функциях можно присваивать значения локальным переменным, создавать ветвления (условные переходы), программировать циклы, производить обработку ошибок. На рис. 1 приведен пример подпрограммы-функции для нахождения вещественных корней квадратного уравнения.

 

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
Задание:

1. Написать линейную программу для вычисления заданных параметров.

2. Написать программу с разветвляющимся вычислительным процессом, для вычисления функции с условием.

Пример выполнения задания:

Задание1:

Линейный вычислительный процесс Разветвляющийся вычислительный процесс
Вычислить площадь треугольника, если заданы его стороны а=3.24, b=4.23, с=2.51
,
, иначе

1. Для программирования в MathCAD имеется панель инструментов «Программирование»:

Рассмотрим имеющиеся на ней функции.

AddLine – создает и при необходимости удлиняет жирную вертикальную линию, с право от которой записывается программный блок;

– – символ присваивания. Например: x12означает что переменной x присваивается значение 12;

if – условный оператор, записывается как: Выражениеifусловие, т.е. Выражение выполняется, если условие выполнено;

otherwise – инструкция «иначе» (в противном случае), обычно используется с оператором if, когда необходимо вернуть значение при невыполнении условия оператора if;

for – оператор цикла со счетчиком. Например: forсчетчикÎN1.. N2;

while – оператор цикла с условием. Например: whileусловие;

break – инструкция прерывания;

continue – инструкция продолжения, позволяет вернуться в точку прерывания;

return – инструкция возврата, возвращает значение оператора, указанного после нее;

onerror – инструкция обработки ошибок, позволяет обрабатывать ошибки, например: Выражение_1onerrorВыражение 2, если Выражение_1 содержит ошибку выполняется Выражение_2.

Линейной программой называется вычислительный процесс, в котором все действия выполняются последовательно один за другим.

При написании линейной программы никаких особых возможностей MathCAD не требуется.

Для нашей задачи воспользуемся формулой Герона для нахождения площади:

,

где

.

При написании линейных вычислений важно соблюдать порядок действий.

Сначала зададим стороны:

а:=3.24 b:=4.23 с:=2.51

Прежде чем вычислять сумму, сначала необходимо найти полупериметр:

а затем площадь:

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 

После того как все формулы введены, можно посмотреть результат, для этого наберем:

S=

и получим:

2. Воспользовавшись вышеуказанными операторами, сформируем функцию Z(x,y). Для этого набираем «Z(x,y):=» и выбираем инструкцию AddLine:

в верхнее поле ввода помещаем условный оператор if:

Заполняя поля условного оператора, получим:



rr;