Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Разветвляющиеся алгоритмы. Команда ветвления
Существует широкий круг задач, при решении которых необходимо сделать определенный выбор в зависимости от выполнения некоторых. Процесс решения таких задач описывается алгоритмом, тип которого определяется как разветвляющийся. В разветвляющихся алгоритмах принцип линейного автоматического перехода от команды к команде, от действия к действию в порядке естественного следования не является всеобщим, так как иногда возникает необходимость произвольного перехода к предписанию, то есть нарушения линейности переходов. Ветвящиеся алгоритмы допускают два способа представления — графический и словесный. При графическом представлении алгоритма ветвление (развилка, выбор дальнейших действий) организуется с помощью логического элемента (ромб с записанным внутри условием), имеющего один вход и два выхода. Назначение логического элемента — проверка заданного условия. В зависимости от выполнения (истинности) или невыполнения (ложности) проверяемого условия возможен выход соответственно на ветвь " Да " или " Нет ". Пример: Задача. Вычислить y = |x|. Дано: х – значение аргумента. Требуется: у – значение функции. Метод решения: y = Алгоритм решения данной задачи сначала составим в графической форме (Рис. 2). Рис. 2 Словесная форма алгоритма. Начало Запросить значение переменной x Если х > =0 то y: = х иначе у: =– х Конец ветвления Вывести значение переменной у Конец Общий вид полной условной конструкции, реализующей ветвление при графическом представлении алгоритма, изображен на Рис. 3. Здесь Q — проверяемое условие; Т — действие, которое должно быть выполнено в случае истинности условия Q (положительная ветвь ветвления); Р — действие, выполняемое, если условие Q ложно (отрицательная ветвь ветвления).
При словесном представлении алгоритма полная условная конструкция реализуется командой ветвления вида: Если Q то T Иначе P Конец ветвления Но возможен и другой вариант — неполная условная конструкция (Рис. 4), достаточно часто встречающаяся при решении задач. При словесном представлении алгоритма ей отвечает команда ветвления: Если Q то T Конец ветвления Циклические алгоритмы При составлении алгоритмов решения достаточно большого круга задач нередко возникает потребность в неоднократном повторении одних и тех же команд. Алгоритм, составленный с использованием многократных повторений одних и тех же действий (циклов), называется циклическим. Однако " неоднократно" не значит " до бесконечности". Организация циклов, никогда не приводящая к остановке в выполнении алгоритма (так называемое " зацикливание" ), является нарушением требования его результативности — получения результата за конечное число шагов. Рассмотрим графическое представление циклического блока алгоритма (Рис. 5). В него входят в качестве базовых следующие структуры: логический элемент с проверкой условия Q и блок S, называемый телом цикла. Здесь тело цикла S расположено после проверки условия Q (цикл с предусловием), поэтому может случиться, что при определенных условиях блок S не выполнится ни разу. Такой вариант организации цикла, управляемый предусловием, называется цикл-пока. Рис. 5 При словесном представлении алгоритма команда, организующая повторение в цикле-пока имеет вид: Пока Q повторять S Конец цикла Таким образом, если Q не выполняется, то предусмотрен выход из цикла на команду, записанную после строки " Конец цикла". Здесь условие Q — это условие на продолжение цикла. Возможен другой случай, когда тело цикла S выполняется, по крайней мере, один раз и будет повторяться до тех пор, пока не выполнится условие Q (Рис. 6). Такая организация цикла, когда тело цикла, расположено перед проверкой условия Q, носит название цикла с постусловием или цикла-до. Истинность условия Q в этом случае — причина окончания цикла. Команда, организующая цикл-до, приведена ниже:
Популярное: |
Последнее изменение этой страницы: 2016-07-14; Просмотров: 780; Нарушение авторского права страницы