в чем особенность подпрограмм функций

в чем особенность подпрограмм функций. Смотреть фото в чем особенность подпрограмм функций. Смотреть картинку в чем особенность подпрограмм функций. Картинка про в чем особенность подпрограмм функций. Фото в чем особенность подпрограмм функций в чем особенность подпрограмм функций. Смотреть фото в чем особенность подпрограмм функций. Смотреть картинку в чем особенность подпрограмм функций. Картинка про в чем особенность подпрограмм функций. Фото в чем особенность подпрограмм функций в чем особенность подпрограмм функций. Смотреть фото в чем особенность подпрограмм функций. Смотреть картинку в чем особенность подпрограмм функций. Картинка про в чем особенность подпрограмм функций. Фото в чем особенность подпрограмм функций Лекция 5. Подпрограммы: процедуры и функции.

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

Структура подпрограмм

Функции имеют такой же формат, как и процедуры, только они начинаются с заголовка function и заканчиваются типом данных возвращаемого значения:

function имя функции (параметры): тип данных;

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

— процедуры и функции имеют заголовок procedure или function, соответственно, а не program;

— процедуры и функции заканчиваются точкой с запятой (;), а не точкой (.).

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

ПАРАМЕТРЫ подпрограмм

В отличие от параметров-значений ПАРАМЕТРЫ-ПЕРЕМЕННЫЕ описываются начиная с var. Например, заголовок процедуры, вычисляющей гипотенузу, может выглядеть так:
procedure hypot(a,b: real; var c: real);

Исполнение подпрограмм

Простой пример программы можно увидеть здесь.

Подробнее о подпрограммах можно прочесть в Руководстве программиста, гл.8 «Процедуры и функции» (справочник-задачник).

Рекурсивные процедуры и фунции.

В ТПас7 и Делфи можно использовать рекурсивные подпрограммы. Использование рекурсии (там, где это возможно по условиям задачи) облегчает программирование и сокращает текст проргаммы. Однако при каждом рекурсивном вызове расходуется память (подпрограммы размещаются в стеке). Поэтому нужно не допускать переполнения стека. Объем памяти стека регулируется в настройках компилятора.
Пример программы: вычисление факториала ( рекурсия ).

Источник

Pascal | Лекция №6

Подпрограммы. Процедуры и функции

СОДЕРЖАНИЕ:

Подпрограммы (см. Рапаков стр.143-157!)

Понятие подпрограмма встречается во многих языках программирования, т.к. является основным средством структурирования языка. Очень часто в программах встречаются однотипные участки, которые выполняют одни и те же вычисления с различными данными. Такие части программ целесообразно выполнять с помощью подпрограмм.

Использование подпрограмм позволяет:

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

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

Структура подпрограмм

Структура подпрограмм почти в точности повторяет структуру всей Pascal-программы.

При описании подпрограммы в общем случае необходимо задать три основные компоненты:

Интерфейс подпрограммы содержится в заголовке и говорит о том, что именно делает подпрограмма.

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

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

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

Процедуры служат для задания последовательности действий и определения новых значений переменных в программе. Вызов процедуры играет роль оператора.

Описание процедур и функций. Формальные параметры

Описание процедур и функций в общем виде:

в чем особенность подпрограмм функций. Смотреть фото в чем особенность подпрограмм функций. Смотреть картинку в чем особенность подпрограмм функций. Картинка про в чем особенность подпрограмм функций. Фото в чем особенность подпрограмм функций

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

Здесь — имя процедуры.

Раздел описаний, как и в основной программе, может включать разделы Label, Const, Type, Var и раздел процедур и функций.

Формальные параметры представляют собой список переменных с указанием их типа, которые отделяются друг от друга «;». Эти переменные не описываются в разделе описания процедур. Допускается использование процедур без параметров.

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

Параметры процедур бывают двух типов:

Описание входных параметров процедуры в списке формальных параметров имеет также вид:

Список переменных1: тип1; список переменных2: тип2;

Соответственно описание выходных параметров выглядит следующим образом:

Var Список переменных1: тип1; Var список переменных2: тип2;

Вызов процедуры в основной программе имеет следующий вид:

(список фактических параметров);

Фактические параметры перечисляются через запятую, без указания их типа. Идентификаторы формальных параметров можно считать условными обозначениями в теле подпрограммы тех реальных, фактических параметров, с которыми будет вызвана подпрограмма. При этом должны выполняться требования:

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

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

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

Function (список формальных параметров): тип;

Функции имеют несколько отличительных особенностей:

Область действия имен

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

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

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

в чем особенность подпрограмм функций. Смотреть фото в чем особенность подпрограмм функций. Смотреть картинку в чем особенность подпрограмм функций. Картинка про в чем особенность подпрограмм функций. Фото в чем особенность подпрограмм функций

Самый внешний блок программы обозначен буквой A (имена этого блока «видны» во всех остальных блоках), B и D – подпрограммы, описанные во внешнем блоке, C – подпрограмма, описанная в блоке B (объекты этого блока известны только внутри самого блока).

При написании программ, имеющих вложенные подпрограммы, необходимо соблюдать следующие правила:

Использование процедур и функций на примере

Пример 1: вычислить площадь выпуклого четырехугольника

В результате выполнения данной программы на экран будет выведено:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *