Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Разветвляющиеся алгоритмы. Команда ветвления



Существует широкий круг задач, при решении которых необходимо сделать определенный выбор в зависимости от выполнения некоторых. Процесс решения таких задач описывается алгоритмом, тип которого определяется как разветвляющийся. В разветвляющихся алгоритмах принцип линейного автоматического перехода от команды к команде, от действия к действию в порядке естественного следования не является всеобщим, так как иногда возникает необходимость произвольного перехода к предписанию, то есть нарушения линейности переходов. Ветвящиеся алгоритмы допускают два способа представления — графический и словесный.

При графическом представлении алгоритма ветвление (развилка, выбор дальнейших действий) организуется с помощью логического элемента (ромб с записанным внутри условием), имеющего один вход и два выхода. Назначение логического элемента — проверка заданного условия. В зависимости от выполнения (истинности) или невыполнения (ложности) проверяемого условия возможен выход соответственно на ветвь " Да " или " Нет ". Пример:

Задача. Вычислить y = |x|.

Дано: х – значение аргумента.

Требуется: у – значение функции.

Метод решения: y =

Алгоритм решения данной задачи сначала составим в графической форме (Рис. 2).

Рис. 2


Словесная форма алгоритма.

Начало

Запросить значение переменной x

Если х > =0

то

y: = х

иначе

у: =– х

Конец ветвления

Вывести значение переменной у

Конец

Общий вид полной условной конструкции, реализующей ветвление при графическом представлении алгоритма, изображен на Рис. 3. Здесь Q — проверяемое условие; Т — действие, которое должно быть выполнено в случае истинности условия Q (положительная ветвь ветвления); Р — действие, выполняемое, если условие Q ложно (отрицательная ветвь ветвления).

Рис. 3 Рис. 4

 

При словесном представлении алгоритма полная условная конструкция реализуется командой ветвления вида:

Если Q

то

T

Иначе

P

Конец ветвления

Но возможен и другой вариант — неполная условная конструкция (Рис. 4), достаточно часто встречающаяся при решении задач.

При словесном представлении алгоритма ей отвечает команда ветвления:

Если Q

то

T

Конец ветвления

Циклические алгоритмы

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

Однако " неоднократно" не значит " до бесконечности". Организация циклов, никогда не приводящая к остановке в выполнении алгоритма (так называемое " зацикливание" ), является нарушением требования его результативности — получения результата за конечное число шагов.

Рассмотрим графическое представление циклического блока алгоритма (Рис. 5). В него входят в качестве базовых следующие структуры: логический элемент с проверкой условия Q и блок S, называемый телом цикла. Здесь тело цикла S расположено после проверки условия Q (цикл с предусловием), поэтому может случиться, что при определенных условиях блок S не выполнится ни разу. Такой вариант организации цикла, управляемый предусловием, называется цикл-пока.

Рис. 5

При словесном представлении алгоритма команда, организующая повторение в цикле-пока имеет вид:

Пока Q повторять

S

Конец цикла

Таким образом, если Q не выполняется, то предусмотрен выход из цикла на команду, записанную после строки " Конец цикла". Здесь условие Q — это условие на продолжение цикла.

Возможен другой случай, когда тело цикла S выполняется, по крайней мере, один раз и будет повторяться до тех пор, пока не выполнится условие Q (Рис. 6). Такая организация цикла, когда тело цикла, расположено перед проверкой условия Q, носит название цикла с постусловием или цикла-до. Истинность условия Q в этом случае — причина окончания цикла. Команда, организующая цикл-до, приведена ниже:

Рис. 6 Повторять S пока не Q Конец цикла  

 


Поделиться:



Популярное:

Последнее изменение этой страницы: 2016-07-14; Просмотров: 743; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.017 с.)
Главная | Случайная страница | Обратная связь