Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

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




 

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

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

 

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

 

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)).

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

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...