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

UptoLike

61
{список параметров может повторяться, но он должен совпадать с ука-
занным в интерфейсной части}
begin
......
end; {end для р}
end.
В разделе реализации могут быть введены свои типы, константы и пе-
ременные. Они будут считаться глобальными по отношению к
подпрограммам этого раздела, а также операторам раздела инициализации
(если последний имеется). В программе
, подключающей модуль, объявлен-
ные при реализации данные и типы недоступны!
Если в телах процедур или при задании типов либо переменных необ-
ходимо что-либо, объявленное в других модулях, и эти модули не попали в
директиву USES раздела объявлений, то их надо перечислить в директиве
USES сразу после слова IMPLEMENTATION.
Приведём текст модуля Complex, включающий
заголовок, интерфейс-
ную и исполнительную части.
{заголовок}
unit Complex;
{интерфейсная часть }
interface
type Complex=record
Re, Im:real;
еnd;
procedure Csum (a, b:Complx; var d:Complex);
procedure Cdif (a, b:Complx; var d:Complex);
procedure Cmult (a, b:Complx; var d:Complex);
procedure Cdiv (a, b:Complx; var d:Complex);
function Cmod (a:Complx):real;
{исполнительная часть}
intermentation
procedure Csum;
begin
d.Re:= a.Re + b.Re;
d.Im:= a.Im + b.Im;
end;
procedure Cdif;
begin
d.Re:= a.Re - b.Re;
62
d.Im:= a.Im - b.Im;
end;
procedure Cmult;
begin
d.Re:= a.Re * b.Re - a.Im * b.Im;
d.Im:= a.Re * b.Im + a.Im * b.Re;
end;
procedure Cdiv;
var m:real;
begin
m:=sqr(b.re)+sqr(b.im);
d.Re:= (a.Re * b.Re -a.Im * b.Im)/m;
d.Im:= (-a.Re * b.Im + a.Im * b.Re)/m;
end;
function Cmod;
begin
Cmod:= Sqrt(Sqr(a.Re)+Sqr(a.Im));
end;
end.
В исполнительной части могут перечисляться имена модулей, объекты
которых не используются в интерфейсной части. Имена модулей,
указанные
в исполнительной части, нельзя использовать в интерфейсной части.
Инициализирующая часть
Перед началом выполнения подпрограмм модуля может потребоваться
установить некоторые параметры, например, открыть файл, содержащий
массивы используемых в модуле данных. Эти операции можно выполнить в
разделе инициализации, который выполняется один раз в самом начале про-
граммы, использующей данный модуль.
В разделе реализации могут описываться подпрограммы, участвующие
в работе объявленных процедур и функций
, но сами не являющиеся объяв-
ленными.
Структура инициализирующей части:
begin
Опе
р
ато
р
end
;
     {список параметров может повторяться, но он должен совпадать с ука-                    d.Im:= a.Im - b.Im;
     занным в интерфейсной части}                                                     end;
     begin                                                                           procedure Cmult;
                                                                                      begin
     ......                                                                                 d.Re:= a.Re * b.Re - a.Im * b.Im;
     end;                  {end для р}                                                      d.Im:= a.Re * b.Im + a.Im * b.Re;
     end.                                                                             end;
                                                                                     procedure Cdiv;
      В разделе реализации могут быть введены свои типы, константы и пе-              var m:real;
                                                                                      begin
ременные. Они будут считаться глобальными по отношению к                                    m:=sqr(b.re)+sqr(b.im);
подпрограммам этого раздела, а также операторам раздела инициализации                       d.Re:= (a.Re * b.Re -a.Im * b.Im)/m;
(если последний имеется). В программе, подключающей модуль, объявлен-                       d.Im:= (-a.Re * b.Im + a.Im * b.Re)/m;
ные при реализации данные и типы недоступны!                                          end;
      Если в телах процедур или при задании типов либо переменных необ-              function Cmod;
                                                                                      begin
ходимо что-либо, объявленное в других модулях, и эти модули не попали в                     Cmod:= Sqrt(Sqr(a.Re)+Sqr(a.Im));
директиву USES раздела объявлений, то их надо перечислить в директиве                 end;
USES сразу после слова IMPLEMENTATION.                                              end.
      Приведём текст модуля Complex, включающий заголовок, интерфейс-
ную и исполнительную части.                                                      В исполнительной части могут перечисляться имена модулей, объекты
         {заголовок}                                                       которых не используются в интерфейсной части. Имена модулей, указанные
         unit Complex;                                                     в исполнительной части, нельзя использовать в интерфейсной части.
                                    {интерфейсная часть }                        Инициализирующая часть
         interface                                                               Перед началом выполнения подпрограмм модуля может потребоваться
          type Complex=record                                              установить некоторые параметры, например, открыть файл, содержащий
                 Re, Im:real;
                еnd;                                                       массивы используемых в модуле данных. Эти операции можно выполнить в
         procedure Csum (a, b:Complx; var d:Complex);                      разделе инициализации, который выполняется один раз в самом начале про-
         procedure Cdif (a, b:Complx; var d:Complex);                      граммы, использующей данный модуль.
         procedure Cmult (a, b:Complx; var d:Complex);                           В разделе реализации могут описываться подпрограммы, участвующие
         procedure Cdiv (a, b:Complx; var d:Complex);                      в работе объявленных процедур и функций, но сами не являющиеся объяв-
         function Cmod (a:Complx):real;
         {исполнительная часть}                                            ленными.
         intermentation                                                          Структура инициализирующей части:
          procedure Csum;
           begin
                 d.Re:= a.Re + b.Re;                                                      begin             Оператор                 end
                  d.Im:= a.Im + b.Im;
           end;
          procedure Cdif;                                                                                        ;
           begin
                 d.Re:= a.Re - b.Re;

                                  61                                                                             62