|
|||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Введение. Разветвляющая алгоритмическая структура представляет собой конструкцию, состоящую из двух или более ветвей
Разветвляющая алгоритмическая структура представляет собой конструкцию, состоящую из двух или более ветвей. Наиболее простой ее вариант – бинарное ветвление (альтернатива, структура if-else, если-то-иначе). Ее блок схема представлена на рис. 25.1 а, а псевдокод – следующим текстом: … При ее выполнении сначала вычисляется логическое выражение. Если оно имеет значение истина, то выполняется ветвь A, если же ложь, то ветвь B. Каждая ветвь может включать в себя одно или несколько элементарных действий. Если в ветвь входит несколько действий (операторов), то их необходимо объединить в одно составное действие с помощью служебных слов нач и кон (см. пример алгоритма решения квадратного уравнения). На блок-схеме бинарное ветвление изображается в виде ромбовидного графического элемента альтернатива. Направления перехода могут помечаться также 1 или да (истина) и 0 или нет (ложь). Частным случаем бинарного ветвления является обход, при котором ветвь иначе не со-держит никакого действия – пустая. … Блок-схема этой структуры приведена на рис. 25.1 б.
Рис. 25.1. Блок-схема структур «ветвление» (а) и «обход» (б) В качестве логического выражения может быть использовано может быть использовано выражение отношения (условие), в котором два выражения сравниваются знаками отношения, например, k = 0 или i<n или sin(x+π/2)>=exp(-2y)-1. В более сложных случаях в логических выражениях используются знаки логических операций: инверсии not, дизъюнкции or или конъюнкции and. Например, not(k = 0 and ((i<n) or (sin(x+π/2)>=exp(-2y)-1))). При конструировании сложных логических выражений необходимо использовать правила и законы булевой алгебры. Множественное ветвление представляет собой структуру, разветвляющуюся на более чем две ветви. С точки зрения теоретического программирования она является избыточной, так как может быть реализована с помощью бинарных ветвлений. Но практически все языки программирования имеют оператор, поддерживающий эту структуру, поэтому рассмотрим ее на примере ветвления на три ветви (блок-схема на рис. 25.2). Ветвлением управляет выражение-селектор s, которое может принимать предусмотренные значения a, b и c. Если s = a, то выполняется ветвь A, если s = b, то выполняется ветвь B, и если s = с, то выполняется ветвь С. В структуре также имеется ветвь X, которая будет выполняться, если селектор s примет непредусмотренное для исполнения предыдущих ветвей значение. На рис. 25.3 показана реализация этой структуры с помощью бинарных ветвлений. Рис. 25.2. Блок-схема множественного ветвления Рис. 25.3. Реализация множественного ветвления с помощью бинарных На псевдокоде множественное ветвление записывается следующим образом: выбор
↑ Наверх Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |