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

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

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

Ход работы.

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

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

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

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

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

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

Задание1:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

где

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

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

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

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

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

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

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

Изм.
Лист
№ докум.
Подпись
Дата
Лист
 
Тема.5. Программирование алгоритмов разветвляющейся структуры - student2.ru

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

S=

и получим:

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

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

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

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

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

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

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

Наши рекомендации