Pascal. Принципы структурного программирования. Модульная разработка программ

Принципы структурного программирования. Модульная разработка программ


Содержание


Поиск на других ресурсах:




1. Необходимость структурирования программ. Составляющие структурного подхода к программированию

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

Структурный подход к программированию состоит из трех частей:

  • нисходящей разработки;
  • структурного программирования (кодирования)
  • сквозного контроля (тестирования).

 

2. Нисходящая разработка

При нисходящей разработке проектирование и программирование ведутся по методу «сверху-вниз». Этот метод предусматривает сначала определение задачи в общих чертах, а затем постепенное уточнение ее структуры путем пошагового внесения мелких деталей. Таким образом, исходная задача разбивается на ряд более простых подзадач.
Каждой подзадаче соответствует свой независимый от любой другой подзадачи программный модуль, который представляет собой функционально-независимую часть программы — набор нескольких операторов программы. При нисходящей разработке осуществляется последовательная детализация проекта от модулей верхнего уровня до модулей нижнего уровня. Для каждого модуля определяют алгоритм решения задачи, области допустимых и возможных исходных значений переменных.
Чаще всего модуль реализует одну функцию, а затем возвращает управление вызвавшему его модулю. Запрещается заканчивать выполнение всей программы в вызванном модуле, выбор о ее выполнении принимается только вызывающим модулем.
Основные требования к программному модулю: наличие только одного входа и одного выхода; ограниченные размеры модуля.

 

3. Структурное программирование (кодирование)

Структурное программирование – это метод написания хорошо структурированных программ произвольного размера и сложности на основе основных управляющих структур (базовых). К ним относятся следование, ветвление и цикл. Основные управляющие структуры облегчают понимание программы и ее тестирование, поскольку весь поток управления в программе направлен «сверху вниз» от структуры к структуре.

Перечень основных управляющих структур приведен ниже.

1. Процесс, следование (рисунок 1)

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

Рисунок 1. Геометрическое обозначение процесса

2. Разветвление, решение (рисунок 2). Если выполняется условие (Condition), то выполняется оператор 1 (Statement 1). Иначе выполняется оператор 2 (Statement 2).

Программирование. Разветвление. Геометрическое обозначение

Рисунок 2. Геометрическое обозначение разветвления

3. Цикл

Программирование. Управляющая структура цикл. Геометрическое обозначение

Рисунок 3. Геометрическое обозначение цикла (циклического процесса)

 

4. Тестирование

Тестирование (сквозной контроль) — это процесс поиска ошибок в программе, который планируется до начала программирования. Целесообразно проводить тестирование по методу «сверху-вниз», пытаясь достичь минимального числа контрольных примеров.
Сначала определяют цели тестирования. Ими могут быть всякого рода проверки: реакция программы на недопустимые входные данные, взаимодействие между модулями, работа программы при минимальных и максимальных входных данных.
Тестирование считается законченным, когда осуществлены все необходимые проверки на соответствие программы целям ее разработки и все найденные ошибки обезврежены на этапе отладки с использованием специальных приложений — отладчиков.

В современных системах визуальной разработки приложений спроектированы мощные средства для отладки программ. Например, в системе Lazarus для пошагового отладки программы отведено отдельный подраздел из меню Run (рисунок 4).

Команды отладки в системе Lazarus

Рисунок 4. Команды отладки в системе Lazarus: «Step Into», «Step Over», «Step Out», «Step over to Cursor»

В системе разработки программ Delphi меню команд отладки выглядит примерно так, как показано на рисунке 5.

Команды отладки системы Delphi

Рисунок 5. Команды отладки системы Delphi: «Step Over», «Trace Into», «Trace To Next Source Line», «Run To Cursor»

 


Связанные темы