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