Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
25
Добавлен:
07.02.2016
Размер:
282.62 Кб
Скачать

Лекція №13. Модулі.

Поняття модульного програмування. Модулі користувача. Стандартні модулі в мові Pascal.

Модуль по визначенню вважається окремою програмою, яка незалежно компілюється та зберігається окремо. В загальному вигляді модуль є сукупністю програмних ресурсів, які призначені для використання іншими модулями та програмами. Під ресурсами розуміють будь - які програмні об’єкти мови Turbo Pascal - константи, типи, змінні, підпрограми. Модуль не може виконуватися сам. Його об’єкти активізуються іншими програмними одиницями. Заголовок модуля складається з службового слова unit та ідентифікатора - ім’я модуля. Якщо заголовок програми не є суттєвим і його можна не писати в програмі, то заголовок модуля несе семантичне навантаження, тому що в іншій програмній одиниці вказується на нього при підключенні модуля.

Об’єкти модуля можна розбити на дві групи: об’єкти, яки призначені для використання іншими програмами та об’єкти, які призначені для внутрішнього використання. Тому модуль розбивається на дві частини: загальнодоступну - інтерфейс, та внутрішню, робочу - реалізація.

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

Частина реалізації починається службовим словом implementation, після якого ідуть описи робочих (прихованих) об’єктів. В цій частині модуля підпрограми описуються повністю, тільки заголовки підпрограм даються скорочено, без списку формальних параметрів.

Крім цього, в модулі може бути розділ ініціалізації, який призначено для встановлення початкових значень змінних модуля перед його використанням або для виконання деяких дій в момент підключення модулю. Він починається службовим словом begin.

Закінчується модуль службовим словом end з крапкою.

Модулі в свою чергу можуть використовувати об’єкти іншого модуля.

Для використання модуля в програмах та модулях в розділі опису треба вказати службове слово uses, за яким вказаний список модулів, які підключаються до програми. Після цього всі об’єкти модуля стають доступними програмі і їх можна використовувати.

При трансляції програми, що використовує модуль, компілятор повинен якимсь чином знайти код цього модуля. Тому ім’я модуля повинно співпадати з іменем фізичного файлу, який містить вихідний текст модуля. Компілятор поміщає код модуля, отриманого в результаті трансляції, в файл з таким же ім’ям та розширенням tpu. Трансляція модуля виконується на диск.

При трансляції програмної одиниці, яка використовує модуль, компілятор послідовно шукає файли, які містять коди модулів, які використовуються. Спочатку компілятор переглядає вміст системного бібліотечного файлу модулів turbo.tpl (Turbo Pascal Library). Якщо модуль не знайдено, то компілятор шукає відповідний .tpu - файл в поточному каталозі. Якщо і там не знайдено модуля, то компілятор продовжує пошук в альтернативних каталогах, заданих в пункті меню Options/Directories/Unit Directories (директорія компілятора /U). Якщо і після цього не знайдений код модуля, то компілятор припиняє роботу та видає повідомлення про помилку. Якщо компілятор був активізований через пункти меню Compile/Make або Compile/Build, то компілятор буде шукати вихідні тексти модулів, які будуть транслюватися перед трансляцією самої програми.

Приклад 7.1 Складемо модуль, що виконує деякі операції з двовимірними масивами: введення, виведення, знаходження суми елементів.

unit matrica;

Соседние файлы в папке конспект лекцій 1 паск