Основная идея структурного программирования заключаются в том, что существует только четыре структурных оператора. Используя эти структурные операторы, можно построить сколь угодно сложную программу.
Первый структурный оператор называется линейная цепочка операторов. Любая задача может быть разбита на несколько подзадач. Выполнение подзадач может быть поручено подпрограмме, в названии которой можно (и нужно) отразить подзадачу, которую должна решать эта подпрограмма. На момент написания алгоритма (и программы) верхнего уровня нас не интересует, поэтому вместо настоящей подпрограммы поставим подпрограмму-заглушку.
Второй структурный оператор называется условный оператор. Достаточно часто одна или другая задачи должны исполняться в зависимости от определённого условия, которое зависит от результатов выполнения предыдущей программы или от внешних устройств. Каждая из таких задач называется плечом условного оператора.
Условный оператор может использоваться в неполном варианте, когда одно из плеч алгоритма отсутствует:
Третий структурный оператор - это оператор цикла с проверкой условия после тела цикла. Такой оператор легко реализуется на языке программирования ассемблер при помощи команды условного или безусловного перехода. Отличие от условного оператора заключается в том, что передача управления осуществляется не вперёд, а назад. На языках программирования высокого уровня такой оператор входит в состав языка (оператор do..while в языке программирования C или оператор repeat..until в языке программирования PASCAL).
Четвёртый структурный оператор - это оператор цикла с проверкой условия до тела цикла. В отличие от предыдущего оператора тело цикла в этом операторе может ни разу не выполниться, если условие цикла сразу же выполнено. Этот оператор, как и условный оператор, невозможно реализовать на одной машинной команде.
Типы управляющей структуры
|
Применение управляющей структуры
|
Последовательность
Действие 1
Действие 2
Конец
|
Последовательность включает фиксированный перечень действий (операторов). Каждое очередное действие обрабатывается после завершения предыдущего без дополнительных условий.
Для изменения порядка обработки блоков редактируется последовательность выполняемых
|
Альтернатива (условие выбора)
Начало
Да Условие Нет
Альтернатива1 Альтернатива2
Конец
|
В блоке Условие содержится условие выбора альтернативы обработки. Каждая альтернатива выполняется 1 раз; выполнение одной из двух альтернатив - обязательно.
Развитие данного типа структуры является множественная альтернатива, когда последовательно проверяются условия выполнения определенных альтернатив. Если очередное условие истинно, обрабатывается соответствующая ему альтернатива, после чего происходит выход. В противном случае - переход к проверке условия следующей альтернативы.
Если ни одно из условий не выполнилось, происходит выход.
|
Цикл ("пока")
Начало
Условие
Нет Да
Тело цикла
Конец
|
В блоке Условие задается условие тела цикла - определенной обработки. Если условие не выполняется, цикл прерывается и осуществляется выход.
Условие может содержать счетчик повторений тела цикла либо логическое условие.
Тело цикла - произвольная последовательность блоков (операторов) обработки
|
Достарыңызбен бөлісу: |