Основы алгоритмизации и программирования. Часть четвертая. Файловая система Turbo Pascal. Асламова В.С - 30 стр.

UptoLike

59
Исключение составляют процедуры с директивой inline (для вставки машин-
ных кодов, т.е. ассемблерные макросы Procedure PrintScreen; inline ($
CD/0.5); соответствуют ассемблерной команде INTOS, INLINE – процедуры
и функции не могут иметь тела, всё их содержание описано кодами в дирек-
тиве inline) они могут целиком задаваться в разделе объявлений.
Недопустимы заголовки с директивами interrupt (для обработки прерываний)
и forward.
Описание всех
объектов, за исключением имён используемых моду-
лей, могут располагаться в интерфейсной части в произвольном порядке.
Перечень имён модулей должен быть размещён первым. Если используемая
процедура является внешней, то в её заголовке не указывается директива Ex-
ternal.
Если при объявлении типов, данных или подпрограмм используются
константы и типы, введённые в других модулях (библиотеках),
то эти моду-
ли должны быть перечислены в директиве USES сразу после ключевого слова
INTERFACE. В модулях директива USES может повторяться дважды. Второй
разв разделе реализации. Рекомендуется указывать в разделе объявлений
только те модули, которые необходимы. Прочие лучше подсоединить в дру-
гом месте.
Один из возможных вариантов интерфейсной части модуля Complex
может выглядеть
следующим образом:
Interface
{объявление идентификатора комплексного типа}
Type Complx = Record
Re, Im:Real;
end;
{заголовки входящих в состав модуля подпрограмм, сами
подпрограммы приводятся в исполнительной части}
Procedure Csum (a, b:Complx; Var d:Complex);
Procedure Cdiv (a, b:Complx; Var d:Complex);
Function Cmod (a:Complx):Real;
Исполнительная (реализующая) часть
Раздел реализации состоит, как правило, из тел процедур и функций,
объявленных в разделе объявлений.
60
Функции и процедуры не нуждаются более в списке параметров. Пара-
метры стоят уже в заголовках интерфейсной части, которые имеют то же
действие, что и ссылка forward. Но в интерфейсной части заголовки могут
повторяться, так что корректны обе приведенные ниже формулировки:
unit mod1;
interface
procedure p(a, b:real);
implemetation procedure p;
{список параметров процедуры р записан в
интерфейсной части}
begin
............ исполнительная часть процедуры P
end; {end для р}
end.
unit idem;
interface
procedure p(a, b:real);
implemetation
procedure p(a, b:real);
implementation
Описание констант
Описание
фу
нкции
Описание п
р
оцед
у
р
ы
Описание пе
р
еменных
Описание типов
;
;
Исключение составляют процедуры с директивой inline (для вставки машин-
ных кодов, т.е. ассемблерные макросы Procedure PrintScreen; inline ($                implementation
CD/0.5); соответствуют ассемблерной команде INTOS, INLINE – процедуры
и функции не могут иметь тела, всё их содержание описано кодами в дирек-                                     Описание констант
тиве inline) они могут целиком задаваться в разделе объявлений.
Недопустимы заголовки с директивами interrupt (для обработки прерываний)                                       Описание типов
и forward.
        Описание всех объектов, за исключением имён используемых моду-                                      Описание переменных
лей, могут располагаться в интерфейсной части в произвольном порядке.
Перечень имён модулей должен быть размещён первым. Если используемая                                         Описание процедуры
процедура является внешней, то в её заголовке не указывается директива Ex-
ternal.                                                                                                      Описание функции
        Если при объявлении типов, данных или подпрограмм используются
константы и типы, введённые в других модулях (библиотеках), то эти моду-                                              ;;
ли должны быть перечислены в директиве USES сразу после ключевого слова
INTERFACE. В модулях директива USES может повторяться дважды. Второй               Функции и процедуры не нуждаются более в списке параметров. Пара-
раз – в разделе реализации. Рекомендуется указывать в разделе объявлений     метры стоят уже в заголовках интерфейсной части, которые имеют то же
только те модули, которые необходимы. Прочие лучше подсоединить в дру-       действие, что и ссылка forward. Но в интерфейсной части заголовки могут
гом месте.                                                                   повторяться, так что корректны обе приведенные ниже формулировки:
        Один из возможных вариантов интерфейсной части модуля Complex
может выглядеть следующим образом:                                                unit mod1;
           Interface                                                              interface
                   {объявление идентификатора комплексного типа}                      procedure p(a, b:real);
           Type Complx = Record                                                   implemetation procedure p;
                     Re, Im:Real;                                                                             {список параметров процедуры р записан в
                      end;                                                   интерфейсной части}
                  {заголовки входящих в состав модуля подпрограмм, сами           begin
                  подпрограммы приводятся в исполнительной части}                 ............ исполнительная часть процедуры P
           Procedure Csum (a, b:Complx; Var d:Complex);                           end;                        {end для р}
           Procedure Cdiv (a, b:Complx; Var d:Complex);                           end.
            Function Cmod (a:Complx):Real;
                                                                                  unit idem;
      Исполнительная (реализующая) часть                                          interface
      Раздел реализации состоит, как правило, из тел процедур и функций,          procedure p(a, b:real);
объявленных в разделе объявлений.                                                 implemetation
                                                                                  procedure p(a, b:real);

                                   59                                                                           60