Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВМИП.doc
Скачиваний:
17
Добавлен:
11.07.2019
Размер:
359.94 Кб
Скачать

Структурное программирование

Любая самая сложная задача решается на ЭВМ с помощью ограниченного ряда типовых действий: присваивания, ввода и вывода данных, выбора и повторения действий. Каждому действию соответствует своя алгоритмическая конструкция и оператор алгоритмического языка. Набор базовых конструкций и правила построения из них любых алгоритмических конструкций были предложены в начале 70-х годов в теории структурного программирования, сыгравшей важную роль в развитии программирования и оказавшейся настолько жизнеспособной, что до сих пор является основной в большом количестве проектов.

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

Разработка и использование алгоритмов определяется ГОСТ 19.701-90 (Схемы алгоритмов, программ, данных и систем), который распространяется на условные обозначения и устанавливает правила выполнения схем, используемых для отображения различных видов задач обработки данных и средств их решения.

Структурирование алгоритмов и программ

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

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

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

  • Алгоритмы целесообразно строить по шагам по принципу «сверху вниз», начиная с укрупненной схемы и заканчивая детализированной.

Применение этих положений позволяет систематизировать работу программиста, получать структурированные алгоритмы и программы, которые легко читать, проверять и использовать на практике.

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

Элементарной структурной единицей алгоритма является функциональный блок, а программы – оператор. Этот блок предполагает один шаг преобразования, обработки или отображения информации. Команда функционального блока является указателем на выполнение действия, а оператор алгоритмического языка – описанием этого действия в программе.

Основные схемы базовых алгоритмических конструкций «Следование», «Выбор» и «Цикл» приведены на рисунке.

Для более полного использования возможностей алгоритмических языков набор базовых конструкций расширен. В его состав дополнительно включены разновидности указанных конструкций: «Выбор варианта», «Цикл с предусловием», «Цикл с параметром» и «Цикл с постусловием».

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

Структурирование программы выполняется по следующим правилам:

  • Каждая базовая конструкция алгоритма реализуется в программе соответствующим оператором алгоритмического языка;

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

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

  • Каждое описание данных и каждый оператор записываются в новой строке программы;

  • Продолжения описаний и операторов на новых строках сдвигаются вправо.

Такое структурное оформление текста программы обеспечивает наглядность ее представления и читабельность.