Программирование разветвляющихся алгоритмов 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Программирование разветвляющихся алгоритмов



В алгоритмах ветвления или условного перехода, присутствует несколько ветвей вычислительного процесса. Выбор конкретной ветви зависит от выполнения (или не выполнения) заданных условий на значения переменных алгоритма.

Для программирования разветвляющихся алгоритмов в подпрограмме-функции Mathcad можно использовать условную функцию и условный оператор if. Используя эти конструкции, можно «изменить» последовательное выполнение операторов. В MathCad реализуется две структуры условного перехода ЕСЛИ – ТО (if) и ЕСЛИ – ТО –ИНАЧЕ ( if – otherwise)/

 

Для ввода условного оператора if необходимо щелкнуть на кнопке if палитры программирование. На экране появляется конструкция с двумя полями ввода, изображенная на рис. 4.1.

 

 

 

Рис. 4.1. Структура условного оператора if «ЕСЛИ – ТО»

 

 

Поле 2 заполняется условием, если оно верно (истинно), то выполняется выражение, стоящее в Поле 1.

 

 

Пример:

Вычислить значение функции, заданной следующим образом:

 

.

 

 

Реализация ЕСЛИ – ТО (if) в MathCad:

 

 

Рис. 4.1. Реализация условного оператора if «ЕСЛИ – ТО»

 

Для получения условной структуры ЕСЛИ – ТО – ИНАЧЕ используется оператор otherwise, вводимый с палитры ПРОГРАММИРОВАНИЕ, в поле которого размещается конструкция ВЫР2, которая выполняется, если проверяемое логическое выражение принимает значение ЛОЖЬ (0) (рис. 4.2). Оператор otherwise непосредственно следует после условного оператора if.

 

 

Рис.4.2. Реализация структуры «ЕСЛИ – ТО – ИНАЧЕ»

 

 

Для ввода ВЫР2 в поле оператора otherwise необходимо:

· выделить поле, стоящее после оператора if;

· щелкнуть на кнопке otherwise палитры ПРОГРАММИРОВАНИЕ;

· в появившееся поле оператора otherwise ввести необходимую конструкцию ВЫР2.

 

Пример:

Вычислить значение функции, заданной следующим образом:

 

.

 

Реализация ЕСЛИ – ТО – ИНАЧЕ в MathCad:

 

 

 

Рис. 4.3. Реализация условного оператора if «ЕСЛИ – ТО- ИНАЧЕ»

 


Программирование циклических алгоритмов

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

· циклы типа арифметической прогрессии;

· итерационные циклы.

Программирование цикла типа арифметической прогрессии

Для программирования таких циклов используется оператор цикла for (часто называемый оператором цикла с параметром). Для ввода такого оператора необходимо выполнить следующие действия:

· щелкнуть на кнопке for палитры ПРОГРАММИРОВАНИЕ. На экране появятся поля ввода, изображенные на рис. 5.1;

 

Рис. 5.1. Поля оператора цикла for

 

· в поле ввода 1 ввести имя переменной, являющейся параметром цикла;

· в поле 2 — закон изменения параметра цикла, используя для этого описание дискретной переменной или описание массива;

· в поле 3 — операторы, составляющие тело цикла. Если одной строки недостаточно, то дополнительные поля ввода (дополнительные строки) создаются щелчком на кнопке Add line палитры ПРОГРАММИРОВАНИЕ, и тогда слева от тела цикла появляется вертикальная черта, охватывающая тело цикла.

 

Пример 5.1:

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

 

 

Рис. 5.2. Реализация цикла FOR в MathCad:

 

Пример 5.2:

 

На отрезке [-1;3] с шагом 0,3, вычислить значения функции и сформировать из этих значений вектор .

Примем - начальное значение, а - конечное значение аргумента, приращение аргументы происходит по закону , получим реализацию алгоритма for:

 

Рис. 5.3. Формирование вектора примера 5.2

 

Следует помнить, что и в тексте программы не являются элементами вектора и знаки 0 и k пишутся через десятичную точку.

Программирование итерационных циклов.

Для программирования таких циклов используется оператор цикла while. Для ввода этого оператора необходимо выполнить следующие действия:

· щелкнуть на кнопке while палитры ПРОГРАММИРОВАНИЕ. На экране появляются элементы, показанные на рис. 5.4;

 

Рис. 5.4. Структура оператора итерационного цикла

 

· в поле 1 ввести условие выполнения цикла;

· в поле 2 ввести операторы тела цикла. В теле цикла должны присутствовать операторы, которые могут изменить значение условия цикла, иначе цикл будет продолжаться бесконечно.

Оператор цикла while выполняется следующим образом: обнаружив оператор while, Mathcad проверяет указанное в операторе условие. Если оно равно 1 (т.е. выполняется), то выполняется тело цикла, и снова проверяется условие. Если условие принимает значение 0, то цикл заканчивается.

 

Пример 5.3:

Вычислять значение функции с шагом на отрезке [0.001; 3], до тех пор, пока .

 

Решение. Как видно из рисунка 5.5, функция , действительно меняет знак на отрезке [0.001; 3].

Введем следующие обозначения: а – начальное значение функции, d – приращение аргумента (шаг, с которым вычисляется значение функции ).

 

 

Рис. 5.5. График функции

 

Реализация программы итерационного цикла с использованием оператора while приведена ниже на рис. 5.6:

 

Рис. 5.5. решение задачи примера 5.3

 



Поделиться:


Последнее изменение этой страницы: 2016-09-13; просмотров: 634; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.139.238.76 (0.008 с.)