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

Структурное, модульное и процедурное программирование

1. 3 Структурное, модульное и процедурное программирование Программирование – это написание, корректирование и тестирование программ. Базовые понятия программирования – операции ВВЕСТИ (input, read, scanf), Вывести (print, write, printf), ПЕРЕЙТИ К (GOTO), Если. тогда. иначе. (IF. THEN. ELSE. ) операторы Циклов FOR. NEXT, DO. LOOP UNTIL. While. Присвоить. (a=3.14, у=a+b), функции (методы) – sin(), log(), exp(), Типы данных integer — целый, real — вещественный, float, array — массив и др. Структурное программирование (СП) – это проектирование, написание, тестирование программы в соответствии с заранее определённой дисциплиной (порядком, структурой). Главное в СП: v Нисходящая разработка, v Разработка отдельных структур (блоков) программы, v Сквозной структурный контроль. Существует три способа проектирования алгоритмов и программ.

Рекомендуемые материалы

Анимация «Движение котиков» (последняя ЛР в Лазарусе), все исходники (можно отредактировать под себя, 2020г

1. Восходящее проектирование, снизу вверх, синтетическое (объединяющее). § В задаче выделяются достаточно крупные подзадачи (подалгоритмы, блоки, модули, каждый из которых реализует определённые функции. Каждый модуль алгоритма или программы разрабатывается и проверяется автономно. § Затем отдельные блоки соединяются в подсистемы, которые также проверяются, § затем они объединяются в общий алгоритм или программную систему и она проверяется в комплексе. 2. Нисходящее проектирование (сверху вниз, аналитическое). Ставится задача, затем разбивается на подзадачи, они тоже разбиваются на подзадачи и т.д.до уровня элементарных задач – элементарных шагов – базовых конструкций (input, read, goto, a+b, if a>0 then. print) на каждом этапе разбиения работа алгоритма или программы проверяется, при этом вместо программ нижнего уровня ставятся программные заглушки. Заглушки содержат входные и выходные операторы и выдаёт сообщения о своём выполнении, они позволяют модулю верхнего уровня проверить взаимодействие с модулем нижнего уровня. На практике стратегия разработки алгоритма является сочетанием восходящего и нисходящего способов. 3. Сквозной структурный контроль – это средство анализа программы для обнаружения ошибок на всех этапах проектирования. В него входят ручное просчитываение программы, отладка её отдельных модулей и др. Программа на языке Turbo Pascal 7..0 имеет следующие разделы:

Читайте также:  Брелок pantera slk 625rs программирование
РАЗДЕЛ ОБЪЯВЛЕНИЙ
program Заголовок программы
Глобальные директивы компилятора
uses Подключаемые библиотеки (модули)
label Раздел объявления глобальных меток
const Раздел объявления глобальных констант
type Раздел объявления глобальных типов
var Раздел объявления глобальных переменных
РАЗДЕЛ ПРОЦЕДУР И ФУНКЦИЙ
Procedure (function) Заголовок процедуры (функции)
РАЗДЕЛ ОСНОВНОГО БЛОКА ПРОГРАММЫ
begin end. Основной блок программы

Пример Вычислить площадь круга S и длину окружности L по заданному радиусу R. Программа program KRUG; const P=3.14159 var R,S,L:Real; begin Read(R); L:=2*P*R; S:=P*SQR(R); Writeln(Длина окружности = ‘,L,’см’); Write(‘Площадь круга = ‘,S,’кв.см’); end. Ещё посмотрите лекцию «7. Автоматизация проветривания горных выработок» по этой теме. Модульное программирование – программа разбивается на несколько блоков – модулей. Один из модулей является основным, другие подключаются к нему в виде отдельных блоков – функций и подпрограмм. Например, факториал вычисляется в отдельном модуле, а из основной программы оформляется вызов этого модуля при необходимости вычисления в ней факториала какого-либо числа. процедурное программирование – основная программа состоит из нескольких подпрограмм-процедур, которые являются самостоятельными и используются для работы основной программы. Например, процедура построения осей для графика, который строит основная программа, или процедура рисования таблицы, данные для которой рассчитывает основная программа. Модульное и процедурное программирование позволяют разрабатывать сложную программу по частям – различными группами программистов. Разница между модульным и процедурным программированием заключается в том, что при модульном программировании программа разбивается на самостоятельные блоки, которые программируются отдельно. При процедурном программировании узловыми программы являются отдельные процедуры (подпрограммы), из которых собирается вся программа. Процедуры могут быть небольшими, такими, что один блок модульного программирования состоит из нескольких процедур, или крупными, когда процедура состоит из нескольких модулей — блоков модульного программирования

Источник

3 Структурное, модульное и процедурное программирование

Программирование – это написание, корректирование и тестирование программ.

Базовые понятия программирования – операции ВВЕСТИ (input, read, scanf), Вывести (print, write, printf), ПЕРЕЙТИ К (GOTO), Если. тогда. иначе. (IF. THEN. ELSE. ) операторы Циклов FOR. NEXT, DO. LOOP UNTIL. While. Присвоить. (a=3.14, у=a+b), функции (методы) – sin(), log(), exp(), Типы данных integer — целый, real — вещественный, float, array — массив и др.

Структурное программирование (СП) – это проектирование, написание, тестирование программы в соответствии с заранее определённой дисциплиной (порядком, структурой).

  • Нисходящая разработка,
  • Разработка отдельных структур (блоков) программы,
  • Сквозной структурный контроль.

Существует три способа проектирования алгоритмов и программ.

  1. Восходящее проектирование, снизу вверх, синтетическое (объединяющее).
  • В задаче выделяются достаточно крупные подзадачи (подалгоритмы, блоки, модули, каждый из которых реализует определённые функции. Каждый модуль алгоритма или программы разрабатывается и проверяется автономно.
  • Затем отдельные блоки соединяются в подсистемы, которые также проверяются,
  • затем они объединяются в общий алгоритм или программную систему и она проверяется в комплексе.

2. Нисходящее проектирование (сверху вниз, аналитическое). Ставится задача, затем разбивается на подзадачи, они тоже разбиваются на подзадачи и т.д.до уровня элементарных задач – элементарных шагов – базовых конструкций (input, read, goto, a+b, if a>0 then. print) на каждом этапе разбиения работа алгоритма или программы проверяется, при этом вместо программ нижнего уровня ставятся программные заглушки. Заглушки содержат входные и выходные операторы и выдаёт сообщения о своём выполнении, они позволяют модулю верхнего уровня проверить взаимодействие с модулем нижнего уровня.

На практике стратегия разработки алгоритма является сочетанием восходящего и нисходящего способов.

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

Программа на языке Turbo Pascal 7..0 имеет следующие разделы:

Источник

X Международная студенческая научная конференция Студенческий научный форум — 2018

Программирование в 1960-70 гг. стремительно развивалось. Появилась потребность в написании более крупных, сложных и разнообразных программ. Но чем труднее был проект, тем ниже становилось качество его работы.

Не имея четко сформулированной методологии разработки программного обеспечения, программисты столкнулись с огромной беспорядочностью и ошибками в своих программах, трудностями их чтения и понимания. Тогда и появился термин «спагетти-код». Этот код крайне сложен в обслуживании и развитии и имеет много операторов безусловного перехода go to.

Чтобы избежать этого, известный голландский специалист Эдсгер Дейкстра опубликовал статью «Доводы против оператора GO TO». Цитата из этой статьи: «Оператор go to сам по себе просто слишком примитивен; он создает слишком сильное побуждение внести путаницу в программу» [2].

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

  • Отказ от использования оператора безусловного перехода go to.
  • Состав программы только из трех главных структур: линейной (последовательной), ветвлении и циклов, которые должны иметь только один вход и выход.
  • Использование подпрограмм
  • Алгоритм и программу необходимо разрабатывать поэтапно «сверху вниз»
  • Разбитие программы на отдельные блоки

«Я считаю, что программа никогда не является самоцелью; программа предназначается для того, чтобы вызвать вычисления, а цель вычислений — получить нужный результат. Я утверждаю (хотя и не могу доказать), что легкость и гибкость таких наших суждений существенно зависит от простоты взаимосвязей между программой и вычислениями. Грубо говоря, можно считать желательным, чтобы структура программы отражалась в структуре вычислений» — из «Заметок по структурному программированию» [3].

Простой пример структурного программирования с использованием базовых конструкций:

Найдите наибольшую цифру данного натурального числа.

Источник

Оцените статью