TURBO PASCAL

Новости

Программы   

Turbo Pascal 

Игры

Документация   

Странности

FAQ

Ссылки

Форум

Гостевая книга

Рассылка

Благодарности

Об авторе

 

 

Процедурные типы 

             В стандартном  Паскале  процедуры  и функции рассматриваются
        только как части программы, которые можно выполнять с помощью вы-
        зова процедуры или функции.  В 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 не позволяет описывать функции, которые возв-
        ращают значения процедурного типа.  Результат функции должен быть
        строкового,  вещественного, целого, символьного, булевского типа,
        указателем  или иметь перечислимый тип,  определенный пользовате-
        лем.

Содержание

На первую страницу

Rambler's Top100 Rambler's Top100
PROext: Top 1000

(с)Все права защищены

По всем интересующим вопросам прошу писать на электронный адрес

Hosted by uCoz