Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Так как аргументы, передаваемые в процедуру или функцию, размещаются в стеке, то в случае передачи значением массива большого размера, может произойти переполнение стека. В языке Турбо Паскаль 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;
...
Дата публикования: 2014-11-04; Прочитано: 253 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!