Лекция: Параметры-константы.

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

 

PROCEDURE<имя процедуры> (CONST <имя константы>:

<тип>; ...);

FUNCTION <имя функции> (CONST <имя константы> :

<тип>; ...):<тип результата> ;

 

Параметр-константу нельзя передавать в качестве параметра в другую подпрограмму.

 

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

Для объявления процедурного типа используется заголовок подпрограммы, в котором опускается имя процедуры (функции).

 

Например:

 

Type

TPR1= Procedure( X,Y: real; Var Z: real);

TPR2= Procedure ;

TF1= Function: string;

TF2=Function ( Var S: string): real;

 

 


Ниже приведен пример использования функции FF в качестве параметра другой функции RR.

 

Uses CRT;

Type FUN=Function (X,Y: real): real;

Var ...

Function FF (X,Y: real): real; FAR;

...

Begin… End;

Function RR (X,Y: real; F: Fun): real; FAR;

...

еще рефераты
Еще работы по информатике