Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций.docx
Скачиваний:
10
Добавлен:
01.07.2025
Размер:
425 Кб
Скачать
    1. Структура программы. Методы разработки структуры программы. Блок - схема программы

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

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

Различают следующие структуры программ:

Линейная. Все подпрограммы выполняются последовательно.

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

Иерархическая, задачи нижнего уровня не связаны между собой и их решение управляется задачами верхнего уровня

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

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

выделение нескольких функциональных задач в общей задаче;

выделение задач отличающихся методами решения;

выделение из общей задачи главной части, обеспечивающей исходными данными решение последующих вычислений;

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

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

Например: В задаче расчета заработной платы сотрудникам можно выделить задачу поиска сотрудника в штатном расписании и задачу расчета причитающихся к выдачи сумм.

В задаче определения характеристик изделия по ее элементам можно выделить задачу определения веса и задачу определения стоимости.

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

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

Блок - схема программы графически отображает состав задач, последовательность их выполнения и потоки передачи данных.

    1. Модульное программирование. Основные характеристики модуля.

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

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

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