КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Базовые управляющие структуры алгоритмовАлгоритм решения любой задачи в общем случае может быть составлен комбинацией ограниченного числа управляющих структур. Базовыми структурами являются следующие: -следование (цепочка); -разветвление (развилка); -повторение (цикл). Следование: Действие 1 Действие 2 Действие N
Указывает естественный порядок выполнения действий в той последовательности, в которой они записаны. На содержание действий, входящих в цепочку, не накладывается каких либо ограничений, в частности, допускается обращение к внешнему фрагменту алгоритма при условии возвращения в ту же точку. Разветвление: а) Если <условие> то <серия 1>иначе<серия 2>
Истина Ложь Условие
Серия 1 Серия 2
б) Если <условие> то <серия 1>
Истина Ложь Условие
Серия 1
Рис. 1. Простейшая форма разветвления Простейшая форма разветвления - альтернатива (рис. 1, а), где есть два возможных пути, и выбор одного из них зависит от того, верно или неверно некоторое логическое условие. «Серия» представляет собой цепочку действий, причем серия 2 может не содержать никаких действий (рис. 1, б). Часто приходится выбирать не из двух, а из нескольких возможностей, что приводит к задаче многозначного ветвления, которая может быть решена путем последовательного вложения структуры «если…то…иначе» в такую же структуру. Повторение. Используется для задания многократного повторения действий.Существует три разновидности циклов: а)бесконечный цикл используется в области процессов реального времени, операционных системах и т.д. Серия
Рис. 2. Бесконечный цикл б) циклы, управляемые условиями. В большинстве случаев те или иные действия должны повторяться до тех пор, пока выполняется некоторое условие, зависящее от переменных программы. На практике используются два варианта такой управляющей структуры: 1. Цикл типа «пока» 2. Цикл типа «до»
Истина Ложь Серия Условие Ложь Истина Условие Серия А) б) Рис. 3. Циклы типов «пока» (а) и «до» (б) При входе в структуру цикла типа «пока» проверяется истинность заданного логического условия, если условие истинно, выполняется серия действий, образующих тело цикла. После этого управление передается в начало структуры, процесс повторяется до тех пор, пока при очередной проверке условия оно не окажется ложным. Выполнение такого цикла может закончиться только, если в теле цикла хотя бы одно из действий серии изменяет условие таким образом, что после конечного числа повторений оно становится ложным. Если условие с самого начала является ложным, то цикл не выполнится ни разу. В цикле типа «до» проверка условия ставится после выполнения серии действий. Работа этой структуры начинается с выполнения тела цикла, после чего проверяется истинность заданного условия. Серия действий всегда выполнится хотя бы один раз. Особенностью этой структуры является то, что тело цикла выполняется до тех пор, пока условие остается ложным. Как только условие становится истинным, работа цикла прекращается. В циклах типов «пока» и «до», во избежание «зацикливания», должны выполнятся действия, изменяющие значение условия на противоположное после конечного числа повторений. Цикл с параметромв общем случае реализует повторение серии действий для всех значений параметра Х, принадлежащих некоторому упорядоченному множеству. Обычно это множество задается начальным Xn и конечным Xk значениями, а также шагом изменения Xs параметра цикла.
X= X n, X k, X s
Серия
Рис. 4. Цикл с параметром Каждое из действий может в свою очередь представлять любую управляющую структуру. Это дает возможность с помощью базовых структур описать алгоритм любой сложности.
|