Понятие модульного программирования — КиберПедия 

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...

Понятие модульного программирования

2017-11-27 154
Понятие модульного программирования 0.00 из 5.00 0 оценок
Заказать работу

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

Подпрограмма – одно из базовых понятий программирования, которое предназначено для реализации некоторой операции (алгоритма, способа обработки данных). Способ расширения множества операций, описывается как замкнутая (самостоятельная) конструкция. У неё есть:

· Имя

· Параметры (входные/выходные данные)

· Тело (набор операторов, которые реализуют алгоритм)

П/п делятся на:

· функции (всегда есть результат, как правило простого типа)

· процедуры (может не быть явного результата, м.б. результат любого типа или много результатов)

Подпрограмма-функция

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

Остальные функции вводятся в структуру программы для улучшения ее структурированности. Их выполнение инициируется прямо или косвенно вызовами из функции main. В простом случае определение функции на языке Си:

<Определение функции>::= <заголовок функции> <блок> <заголовок функции> <составной оператор>

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

<Заголовок функции>:: = < тип результата функции> <имя функции> ([ <cписок формальных параметров> ]) | void <имя функции> ([ <cписок формальных параметров> ])

В заголовке функции задается тип ее результата, если функция имеет возвращаемый результат (будем называть его основным результатом), иначе тип void. Функция с типом void является подпрограммой-процедурой.

Список формальных параметров, если он не опущен, содержит перечисленные через запятую спецификации формальных параметров. В теле функции, если она возвращает результат, обязательно должен быть хотя бы один оператор возврата в точку вызова: return <выражение>;

Выражение определяет возвращаемый (основной) результат, его тип описан в заголовке функции. Если функция не возвращает никакого значения (т.е. имеет тип void), оператор возврата может опускаться.

Обращение к функции, возвращающей основной результат, это первичное выражение вида <имя функции>(<список фактических параметров>) или <имя функции> (), если у функции нет формальных параметров. Вызов такой функции является операндом какого-либо выражения.

Способы передачи данных в подпрограмму

Одним из важных моментов при организации подпрограмм является задание данных, над которыми будут выполняться действия подпрограммы. Данные в подпрограмму можно передавать двумя способами:

1) используя для этого глобальные объекты,

2) используя формальные параметры.

Если используется только первый способ, то в определении подпрограммы (ее теле) непосредственно используются данные, определенные вне тела функции. Такие подпрограммы не имеют параметров. Пример определения функции без параметров:

int MAX ()

{

return (a > b? a: b);

}

 

Функция MAX может выполнять действия только над переменными a и b (входные данные функции). Переменные a и b должны быть определены вне функций и называются внешними или глобальными переменными. Тело функции MAX – составной оператор. Обращение к функции MAX – операнд выражения, например: x = MAX (); Переменной x будет присвоено значение функции MAX, т.е. наибольшее из значений a и b. В таких подпрограммах жестко зафиксированы объекты, над которыми выполняются действия подпрограммы. Если необходимо применить эту подпрограмму для других объектов, требуется изменение самих глобальных объектов (их имен) в теле подпрограммы.

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

 

Формальные параметры

Чтобы сделать подпрограмму более гибкой и обеспечить ее общность, данные в подпрограмму передаются через список формальных параметров. Формальные параметры не задают какие-то конкретные данные программы, а лишь условно определяют объекты подпрограммы. Это позволяет применять подпрограммы к различным объектам программы, конкретизируя при каждом обращении ее данные в списке фактических параметров. Все объекты подпрограммы можно разделить на входные данные, промежуточные и выходные. В список формальных параметров необходимо вводить только те объекты, которые изменяются при вызове подпрограммы, т.е. входные и выходные данные.

Формальные параметры в Си задаются в списке формальных параметров перечислением через запятую спецификаций отдельных пара-метров. Спецификация каждого параметра имеет вид: <спецификация типа> <имя параметра>

 


Поделиться с друзьями:

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

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

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.008 с.