Указатель (ссылочный тип) 9


НазваниеУказатель (ссылочный тип) 9
страница15/16
ТипУказатель
1   ...   8   9   10   11   12   13   14   15   16

Подпрограммы

  1. Понятие подпрограммы


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

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

Процедуры и функции являются самостоятельными фрагментами программы, связанными с основной программой лишь с помощью нескольких параметров. Структура подпрограммы повторяет структуру всей программы, но вместо заголовка программы содержит заголовок подпрограммы, который является обязательным. Формат заголовка:
FUNCTION <имя> [ (<список формальных параметров>) ] : <тип> ;

PROCEDURE <имя> [ (<список формальных параметров>) ]
Здесь: <имя> - имя подпрограммы (правильный идентификатор);

<тип> - тип возвращаемого функцией результата.
Например, FUNCTION F(a, b: Real): Real;

PROCEDURE SB (a: Real; b: Integer; c: Char);
Переменные, описанные в основной программе, являются глобальными для подпрограмм. Все переменные из списка формальных параметров подпрограмм могут использоваться в любых выражениях внутри подпрограммы и являются локальными.

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

PROCEDURE MyProcedure (var a: Real; b: Real; const c: String);
Здесь А – параметр-переменная, В – параметр-значение, а С - параметр-константа.
Так как любое имя в программе обязательно описывается перед тем, как оно появится среди исполняемых операторов, то и подпрограмма должна быть предварительно определена в разделе описаний основной программы. Описанием (определением) основной программы является её собственный текст, который содержит заголовок и тело подпрограммы.

Например,

PROGRAM A;

Var x,y: integer;

PROCEDURE REV(a,b: integer);

Begin

Writeln(b:3, a:3);

End;

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

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

Begin

REV (x,y);

REV (4,5*SQRT(x-y));

End.

Каждый раз при вызове подпрограммы вычисляются фактические параметры, которые могут быть константами (4), переменными (x,y) или выражениями (5*Sqrt(y-x)).

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


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

Реализовать функцию с именем POWER, осуществляющую возведение любого вещественного числа в любую вещественную степень.

Решение.

.В программе вводится пара чисел X и Y и выводится на экран дисплея результат возведения X сначала в степень +Y, а затем – в степень –Y. Для выхода из программы нужно ввести Ctrl-Z и Enter.
Var

X, y: Real;

{-----------}

Function Power (a, b : Real) : Real;

Begin {Power}

If a > 0 then

Power := exp (b * ln(a))

Else if a < 0 then

Power := exp (b * ln(abs(a)))

Else if b = 0 then

Power := 1

Else

Power := 0

End {Power};

{--------------}

Begin {main}

Repeat

Readln (x, y);

Writeln (Power (x, y): 12:10, Power(x, -y):15:10);

Until EOF

End {main}.
Для вызова функции POWER мы просто указали ее в качестве параметра при обращении к встроенной процедуре WRITELN. Параметры X и Y в момент обращения к функции – это фактические параметры. Они подставляются вместо формальных параметров A и B в заголовке функции и затем над ними осуществляются нужные действия. Полученный результат присваивается идентификатору функции – именно он и будет возвращен как значение функции при выходе из нее. В программе функция POWER вызывается дважды сначала с параметрами X и Y, а затем X и –Y, поэтому будут получены два разных результата.
1   ...   8   9   10   11   12   13   14   15   16

Похожие:

Указатель (ссылочный тип) 9 iconУказатель персоналий 226 Указатель имен 230 Географический указатель...
В 41 Via sensus : краеведческий тифлодайджест : вып. 13 / Свердл обл спец б–ка для слепых; сост. А. В. Щеглова; отв за вып. И. А....

Указатель (ссылочный тип) 9 iconБиблиографический указатель 1996-2009 гг
Указатель предназначен преподавателям, студентам, аспирантам и всем, кто интересуется психологией. Мы надеемся, что он принесёт несомненную...

Указатель (ссылочный тип) 9 iconГ. П. Щедровицкий «Языковое мышление» иметоды его анализа М.: Ннф...
Русаков А. В., составление, предисловие, комментарии, именной указатель, предметный указатель, библиография, 2010

Указатель (ссылочный тип) 9 iconПротокол встречи с предстваителями инициативной группы объекта южная долина, фаза 3
Все стеклопакеты двухкамерные, остекление панорамное: тип 1 высота окна 2,1 м, тип 3 высотка окна 2,56 м, тип 4 высота окна 2,645...

Указатель (ссылочный тип) 9 iconД оговор Заявка на перевозку грузов
...

Указатель (ссылочный тип) 9 iconФормат
...

Указатель (ссылочный тип) 9 iconОб утверждении формата данных сведений о застрахованных лицах
...

Указатель (ссылочный тип) 9 iconУказатель имен 374 Указатель репертуара 387 { 7} к читателю Весной...
Весной 1918 года в Советской России миновала пора «красногвардейской» атаки на капитал и наступил период относительной передышки

Указатель (ссылочный тип) 9 iconМассивы
Для обозначения компонент массива используется имя переменной-массива и так называемые индексы, которые обычно указывают желаемый...

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

Вы можете разместить ссылку на наш сайт:


Все бланки и формы на filling-form.ru




При копировании материала укажите ссылку © 2019
контакты
filling-form.ru

Поиск