TURBO PASCAL |
Новости
|
Процедурные типыВ стандартном Паскале процедуры и функции рассматриваются только как части программы, которые можно выполнять с помощью вы- зова процедуры или функции. В Borland Pascal процедуры и функции трактуются гораздо шире: здесь допускается интерпретация процедур и функций, как объектов, которые можно присваивать переменным и передавать в качестве параметров. Такие действия можно выполнять с помощью процедурных типов. В описании процедурного типа задаются параметры, а для функ- ции - результат функции. процедурный тип │ │ ┌─────────┐ └┬>│procedure├─┬───────────────────────────────────────────────> │ └─────────┘ │ ┌────────────────────────────┐ ^ ^ │ └─>│список формальных параметров├─┘ │ ┌┘ └────────────────────────────┘ └─┐ │ ┌────────┐ ┌───┐ ┌─────────┐│ └>│function├┬────────────────────────────────>│ : ├>│результат├┘ └────────┘│ ┌────────────────────────────┐^ └───┘ └─────────┘ └>│список формальных параметров├┘ └────────────────────────────┘ Характерно, что синтаксис записи процедурного типа в точнос- ти совпадает с записью заголовка процедуры или функции, только опускается идентификатор после ключевого слова procedure или function. Приведем некоторые примеры описаний процедурного типа: type Proc = procedure; SwapProc = procedure(var X, Y: Integer); StrProc = procedure(S: String); MathFunc = function(X: Real): Real; DeviceFunc = function(var F: text): Integer; MaxFunc = function(A, B: Real; F: MathFunc): Real; Имена параметров в описании процедурного типа играют чисто декоративную роль - на смысл описание они не влияют. Borland Pascal не позволяет описывать функции, которые возв- ращают значения процедурного типа. Результат функции должен быть строкового, вещественного, целого, символьного, булевского типа, указателем или иметь перечислимый тип, определенный пользовате- лем. |
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |