69110

Використання модулів у Borland Pascal 7.0. Структура модуля

Лекция

Информатика, кибернетика и программирование

Структура модуля. Структура модуля 3. До складу модуля можна включати оголошення констант типів змінних а також оголошення і реалізацію процедур і функцій. Структура модуля Модуль складається із заголовка інтерфейсної реалізаційної й ініціалізаційної частин.

Украинкский

2014-09-30

55 KB

0 чел.

Лекція 19.Тема: Використання модулів у Borland Pascal 7.0.Структура модуля.

                           Компіляція і використання модулів.

План:

1. Використання модулів у Вог1аnd Раsсаl 7.0

2. Структура модуля

3. Компіляція і використання модулів

1. Використання модулів у Вог1аnd Раsсаl 7.0

Модуль у мові Раsсаl — це програмна одиниця, що автономно компілюється в окремий бінарний файл *.tpu або *.tpw. До складу модуля можна включати оголошення констант, типів, змінних, а також оголошення і реалізацію процедур і функцій. Модуль з'єднується з різними Раsсаl-програмами, що дає можливість використовувати у програмах ідентифікатори, оголошені в цьому модулі.

2. Структура модуля

Модуль складається із заголовка, інтерфейсної, реалізаційної й ініціалізаційної частин. Для оголошення модуля і перших двох його частин використовуються зарезервовані слова unit, interface, implementation, ініціалізаційна частина обмежується словами begin та end. (з крапкою). Структуру модуля наведено нижче.

unit   {----------------------- заголовок модуля -------------------------}

{$}   {директиви компілятора}

interface  {----------------------- інтерфейсна частина ---------------------}

uses   {розділ підключення модулів}

const   {розділ оголошення глобальних констант}

type   {розділ оголошення глобальних типів}

var   {розділ оголошення глобальних змінних}

procedure  {розділ оголошення глобальних процедур}

function  {розділ оголошення глобальних функцій}

implementation {----------------------- реалізаційна частина --------------------}

uses   {розділ підключення модулів }

const   {розділ оголошення локальних констант }

type   {розділ оголошення локальних типів }

var   {розділ оголошення локальних змінних}

procedure  { реалізація процедур}

function  {реалізація функцій}

begin   {----------------------- частина ініціалізації----------------------}

end.

Заголовок модуля складається із зарезервованого слова unit та імені модуля:

unit <ім’я модуля>;

Ім'я модуля має збігатися з іменем бінарного файла цього модуля. Нагадаємо, що бінарний файл модуля має розширення  tpu або tpw і створюється під час компіляції модуля. Сам модуль записується у файлі з розширенням pas.

Інтерфейсна частина

Інтерфейсна частина модуля починається із зарезервованого слова interface. В цій частині містяться оголошення глобальних констант, типів, змінних, процедур і функцій, доступних програмам та іншим модулям, що використовують даний модуль. В оголошеннях процедур і функцій присутні лише їх заголовки. Тіла процедур і функцій записуються в реалізаційній частині модуля. Використання специфікатора forward у заголовках процедур і функцій модуля не допускається.

Приклад 6.4.

Розглянемо програму ех4_6 з прикладу 4.6. Ця програма табулює значення декількох функцій на заданому відрізку. Оголошення типів, змінних і підпрограм запишемо в інтерфейсній частині модуля.

unit tabular;       {заголовок модуля}

{--------------------------------- інтерфейсна частина ---------------------------------}

interface

uses crt;

type func=function (x: real): real;    {процедурний тип}

var lower, upper, step: real;     {межі відрізка, крок}

function Polynom (x: real): real; far;

function Sinus (x: real): real; far;

procedure Print (a, b, h: real; f: func; s: string);

Реалізаційна частина

Реалізаційна частина модуля починається із зарезервованого слова  implementation і містить тіла процедур і функцій, оголошених в інтерфейсній частині. Реалізаційна частина може містити також оголошення констант, типів, змінних, процедур і функцій, що є локальними в межах модуля, тобто доступними тільки для процедур і функцій цього модуля, але недоступними для інших модулів програми, в якій використовується даний модуль. Усі підпрограми, заголовки яких наведено в інтерфейсній частині модуля, повинні бути реалізовані в його реалізаційній частині.

Приклад 6.5.

Розглянемо реалізаційну частина модуля, інтерфейсну частину якого наведено у прикладу 6.4. Зауважимо, що у разі, коли модуль не має частини ініціалізації, за реалізаційною частиною записується операторна дужка end. (з крапкою).

unit tabular;       {заголовок модуля}

{--------------------------------- інтерфейсна частина ---------------------------------}

interface

{наведено у прикладі 6.4.}

{--------------------------------- частина реалізації модуля ---------------------------------}

implementation

  function Polynom (x: real): real;

  begin

     Polynom:=sqr(x)*x-x+1;

  end;

  function Sinus (x: real): real;

  begin

  Sinus:=sin(x);

  end;

{a, b – межі відрізку, на якому табулюється  функція;

 h – крок зміни аргументу;

 f – функція, що табулюється;

 s – назва функції у текстовому вигляді}

  procedure Print (a, b, h: real; f: func; s: string);

  var x: real;

     writeln (‘------------------’);

     writeln (‘ |  x  |  ’, s);

     writeln (‘------------------’);

     x:=a;

     while x<b do

     begin

        write (x:6, ‘ | ’);

        write (f(x):10:6);

        writeln;

        x:=x+h;

     end;

  end;

end.

Ініціалізаційна частина

Ініціалізаційна частина починається з операторної дужки begin і завершується операторною дужкою end, після якої ставиться крапка. Ініціалізаційна частина модуля може містити певний фрагмент програми. Оператори з цього фрагмента виконуються до передачі керування програмі, у якій використовується модуль.

Приклад 6.6.

unit tabular;       {заголовок модуля}

{--------------------------------- інтерфейсна частина ---------------------------------}

interface

{наведено у прикладі 6.4.}

{}

implementation

{наведено у прикладі 6.5.}

{-------------------------- частина ініціалізації модуля ------------------------------}

begin

  writeln (‘Початок програми’);

end.        {кінець модуля}

3. Компіляція і використання модулів

Розроблений на мові Раsсаl модуль зберігається як раs-файл. У результаті його компіляції за допомогою команди compile меню  Сompile створюється бінарний файл із розширенням tpu (від англ. Тurbо Раsсаl Unit). Під час створення виконуваного файла програми, яка використовує модулі, або під час її запуску tpu-файли з'єднуються з її відкомпільованим кодом. В IDE Borland Раsсаl 7.0 таке з'єднання виконується командами make і build меню Сompile.

Модуль підключається до програми за допомогою директиви uses, що має бути розташована на початку програми:

uses <ім'я модуля>;

У разі використання команди make компілятор перевіряє наявність tpu-файлів для кожного з оголошених в операторі uses модулів. Якщо вхідний файл змінився, його буде перекомпільовано. Якщо в інтерфейсну частину модуля внесені зміни, то перекомпільовуються всі модулі, що звертаються до нього. Під час виконання команди build перекомпілюються всі модулі, що використовуються у програмі і згадані в операторі uses. У прикладі 6.7 показано використання модуля tabular, код якого наведено у прикладах 6.4-6.6.

Приклад 6.7.

Запишемо програму, що тричі табулює многочлен на різних відрізках і з різним кроком. Зауважимо, що під час компіляції програми модуль tabular має бути досяжним для компілятора, тобто шлях до нього необхідно вказати у полі Unit Directories, що відкривається за допомогою команди Options ► Directories.

program ex6_1;

uses tabular, crt;

var

  i: integer;

begin

  for i:=1 to 3 do

  begin

     writeln (‘ enter lower, upper bounds and step’);

     readln (lower, upper, step);

     Print (lower, upper, step, Polynom);

  end;

end.

Контрольні питання

1. Використання модулів у Вог1аnd Раsсаl 7.0

2. Структура модуля

3. Компіляція і використання модулів


 

А также другие работы, которые могут Вас заинтересовать

48095. Навчально-методичні матеріали. Земельне право 409.5 KB
  В сучасних умовах актуальність цих відносин значно підвищилась у зв’язку з проведенням земельної реформи приватизації землі прийняттям нового Земельного Кодексу України. Проблеми даної навчальної дисципліни висвітлюються на базі сучасних і нормативних документів: Конституції України Земельного кодексу України Кодексів інших галузей права указів Президента України декретів і постанов Кабінету Міністрів України відомчих нормативних актів що регулюють земельні правовідносини в державі. Джерела земельного права України і їх...
48096. НАЦІОНАЛЬНА ЕКОНОМІКА: ЗАГАЛЬНЕ ТА ОСОБЛИВЕ 2.5 MB
  Теоретичні аспекти виникнення та розвитку науки національної економіки Основоположником науки про національну економіку є німецький економіст Ф. Лістом у вказаній праці можна звести до трьох взаємопов’язаних підходів: 1 теорії продуктивних сил; 2 концепції стадійного економічного розвитку; 3 положення про активну економічну роль держави. Вона є результатом попереднього розвитку відкриттів удосконалень традицій досвіду знань. Ліст справедливо відзначає що істинні багатство і добробут нації зумовлюються не кількістю мінових...
48097. Планирование персонала на ОАО «Реал-Моторс» 240.5 KB
  Проблемы усиливается в большей мере в связи с развитием рыночной системы в России, в которой большую важность приобретает рынок трудовых ресурсов. Поэтому политика предприятия по отбору и набору персонала является приоритетной для фирмы, поскольку она играет важную роль для достижения миссии и целей организации.
48098. МЕНЕДЖМЕНТ ЯК СПЕЦИФІЧНА СФЕРА ЛЮДСЬКОЇ ДІЯЛЬНОСТІ 2.97 MB
  Сутність категорій “управління†та “менеджментâ€. Менеджмент як система наукових знань та мистецтво управління. КЛЮЧОВІ СЛОВА: менеджмент управління менеджер організація об'єкт менеджменту суб'єкт менеджменту.
48099. НТФ Комерційний відділ. Опорний конспект лекцій 508.5 KB
  В залежності від обיєкта рекламування розрізняють два види реклами: реклама товару товарна реклама; реклама з метою створення іміджу престижу фірми престижна реклама. Товарна реклама здійснює пропаганду товару інформує покупця про переваги і якості товару. Товарна Престижна Переконуюча Заохочує покупця віддати переваги саме цьому товару. Змінює сприйняття споживачем властивостей товару.
48100. Регіональна економіка 350.5 KB
  В основі вивчення регіональної економіки є дослідження розвитку продуктивних сил що являє собою розподіл за територією трудових ресурсів і засобів виробництва всіх основних компонентів соціальноекономічних відносин. Оскільки РПС розглядається як динамічний стан процесу їх розвитку у просторі і в часі форми зосередження виробничої діяльності постійно змінюються. В процесі вивчення регіонального розвитку визначаються комплексні завдання цієї науки а саме: вивчення ТПП регіонів і їх спеціалізації; вдосконалення внутрішньорегіональних та...
48101. ФІНАНСОВИЙ МЕНЕДЖМЕНТ. ОПОРНИЙ КОНСПЕКТ ЛЕКЦІЙ 1.01 MB
  З огляду на це найманого менеджера підприємства іноді розглядають як фінансового посередника. Найбільший вплив на вибір типу фінансової політики підприємства здійснює саме суб’єктивний фактор – тип фінансового менеджера. Унітарне підприємство створюється одним засновником який виділяє необхідне для того майно формує відповідно до закону статутний фонд не поділений на частки паї затверджує статут розподіляє доходи безпосередньо або через керівника який ним призначається керує підприємством і формує його трудовий колектив на засадах...
48102. Техноекологія. Опорний конспект лекцій 368.5 KB
  Контроль забруднення довкілля. Якість вимірювань складу та властивостей об'єктів довкілля та джерел їх забруднення В. Отже антропогенне забруднення атмосфери спричиняється насамперед роботою промислових сільськогосподарських підприємств а також підприємств енергетики автотранспорту тощо що може призвести до таких негативних наслідків: перевищення гранично допустимих концентрацій ГДК багатьох токсичних речовин у містах і населених пунктах; утворення смогу і кислотних дощів; поява парникового ефекту підвищення середньої...
48103. Мікроекономіки. Конспект лекцій 3.63 MB
  Варіації факторів виробництва та оптимум товаровиробника 85 Тема 8. Витрати виробництва 96 Тема 9. Ринок факторів виробництва 155 Тема 13. Він також вважав що багатство створюється в процесі виробництва а розподіл праці конкуренція продуктивність праці ринок підвищують ефективність виробництва.