Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Топ:
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Интересное:
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Лечение прогрессирующих форм рака: Одним из наиболее важных достижений экспериментальной химиотерапии опухолей, начатой в 60-х и реализованной в 70-х годах, является...
Дисциплины:
|
из
5.00
|
Заказать работу |
|
|
|
|
В основе МП лежит процесс проектирования «сверху-вниз» (декомпозиция), т. е. разбиение решаемой задачи на относительно простые и более мелкие подзадачи. К каждой из полученных задач применяется этот метод. Процесс разбиения продолжается, пока программист не получит логически ясные для себя подзадачи (нисходящее проектирование). Поддержкой этой технологии является механизм подпрограмм, который наряду с управляющими структурами является частью структурного программирования.
Подпрограмма – одно из базовых понятий программирования, которое предназначено для реализации некоторой операции (алгоритма, способа обработки данных). Способ расширения множества операций, описывается как замкнутая (самостоятельная) конструкция. У неё есть:
· Имя
· Параметры (входные/выходные данные)
· Тело (набор операторов, которые реализуют алгоритм)
П/п делятся на:
· функции (всегда есть результат, как правило простого типа)
· процедуры (может не быть явного результата, м.б. результат любого типа или много результатов)
Подпрограмма-функция
Программа на языке Си – это совокупность подпрограмм-функций (в дальнейшем просто функций), среди которых выделяется одна обязательная (главная) с именем 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 м...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!