Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
трпп_2012.docx
Скачиваний:
63
Добавлен:
30.08.2019
Размер:
727.99 Кб
Скачать

4 Структурное программирование. Основные управляющие конструкции структурного программирования

Структурное программирование представляет собой совокупность рекомендуемых технологических приемов, охватывающих выполнение всех этапов разработки ПП и основывается на следующих принципах:

  • нисходящей разработки, рекомендующей на всех этапах вначале определять наиболее общие моменты, а затем поэтапно выполнять детализацию.

  • сквозного структурного контроля, предполагающего проведение содержательного контроля всех этапов разработки.

  • структурного программирования, рекомендующего определенные структуры алгоритмов и стиль программирования.

Базовые структуры:

  • следования или последовательности операторов;

  • ветвления или условного оператора;

  • повторения или оператора цикла.

Следование - последовательность функциональных блоков, соединённых стрелками.

Рисунок 1 - Линейная последовательность операторов (блоков)

Сложное действие, изображенное в виде одного функционального блока, может быть представлено как последовательность функциональных блоков, т.е. как следование, и наоборот, последовательность функциональных блоков может быть объединена в один функциональный блок.

Ветвление - проверка логического условия.

Рисунок 2 -. Полная форма представления блока ветвления

Проверка Р представляется предикатом, т.е. функцией, задающей логическое выражение или условие, значением которого может быть истина или ложь (рис.2). Эта структура может быть неполной, когда отсутствует действие, выполняемое при ложном значении логического выражения. В этом случае структура будет иметь следующий вид, показанный на рис.3.

Рисунок 3 - Краткая форма представление блока ветвления

Переключатель - выбор одного варианта из множества возможных альтернатив.

В зависимости от значения Р выполняется одно из действий А, В, ..., Z (рис. 4). После выбора варианта происходит переход к выполнению следующей управляющей структуры.

Рисунок 4 - Схема переключателя

Повторение - многократное выполнение фрагментов алгоритма (программы).

Рисунок 5 - Схема цикла с предусловием.

Действие А будет повторяться до тех пор, пока значение предиката Р будет оставаться истинным (рис. 5). Поэтому в действии А должны изменяться значения переменных, от которых зависит Р, в противном случае произойдет зацикливание. Вычисление предиката Р может производиться после выполнения действия А, в этом случае действие А будет выполняться хотя бы один раз (рис. 6).

Рисунок 6 - Схема цикла с постусловием.

Программы, разработанные по правилам структурного программирования, обладают следующими свойствами:

  • Имеют модульную структуру, каждый модуль содержит, как правило, одну точку входа и одну точку выхода, размер их ограничен (обычно не более 100 операторов);

  • Представляют собой композицию основных управляющих структур: последовательности (следования операторов), разветвления (разветвления путей выполнения операторов в зависимости от определенных условий), цикла (повторения группы операторов или оператора до тех пор или пока выполняется некоторое условие);

  • Содержат операторы безусловного перехода только в исключительных случаях. При этом передача управления происходит в точку программы, расположенную по тексту ниже той точки, где встречается оператор безусловного перехода. Операторы безусловного перехода допускается использовать и в том случае, когда в языке программирования отсутствуют операторы, реализующие структуры типа если-то-иначе, цикл-пока, цикл-до.

В зависимости от степени соблюдения приведенных выше условий можно выделить следующие варианты метода структурного программирования (таблица 1):

  • Классический;

  • Расширенный;

  • Модифицированный;

  • С использованием оператора безусловного перехода.

Таблица 1

Вариант метода

Допустимые управляющие структуры

Использование оператора безусловного перехода

Требования к модулям

Последовательность, если-то-иначе, цикл-пока

Цикл-до, выбор-по

выйти

Одна точка входа, одна точка выхода

Несколько точек входа

Классический

ДА

НЕТ

НЕТ

НЕТ

ДА

НЕТ

Расширенный

ДА

ДА

НЕТ

НЕТ

ДА

НЕТ

Модифицированный

ДА

ДА

ДА

НЕТ

ДА

ДА

(ограничено)

С использованием оператора безусловного перехода

ДА

ДА

ДА

ДА

(в особых случаях)

ДА

ДА

(ограничено)

Не все языки программирования могут согласовываться с правилами структурного программирования. Язык программирования считается структурным или согласованным с правилами структурного программирования, если он содержит возможности реализации принципа модульного программирования и включает операторы, реализующие основные управляющие структуры.

Основой методологии структурного программирования является процедурная декомпозиция программной системы и организация отдельных модулей в виде совокупности выполняемых процедур. (процедура представляет собой законченную последовательность действий или операций, направленных на решение отдельной задачи)

Вопросы для самопроверки:

  1. Что такое структурное программирование?

  2. Перечислите основные управляющие конструкции структурного программирования.

  3. Какими свойствами обладают программы, разработанные по правилам структурного программирования?

  4. Дайте определение понятия «алгоритм».

  5. Какие основные принципы положены в основу структурного подхода к программированию.