Паскаль: область дії, модулі, структури, Детальна інформація

Паскаль: область дії, модулі, структури
Тип документу: Реферат
Сторінок: 10
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 22.1
Скачувань: 952
end.

2. Модуль – збірник означень

Повернемося до задач 3.19–3.22. У програмах для їх розв'язання використовуються ті самі підпрограми обчислення коефіцієнтів рівняння прямої та перевірки, чи лежать точки по один бік прямої. Ці спільні підпрограми, а також інші означення, можна вилучити з програм і зібрати в спеціальному "збірнику означень". Цьому збірнику можна дати ім'я і вказувати його в програмах замість вилучених означень, помітно скорочуючи текст програм. Стандарт мови Паскаль, правда, такої можливості не дає, але всі системи програмування її забезпечують. Збірник означень називається модулем; конкретний його синтаксис залежить від системи програмування. Розглянемо модулі на прикладі діалекту Турбо Паскаль.

Приклад 7.3. Напишемо модуль з означеннями імен normcoef і oneside – імен підпрограм обчислення коефіцієнтів нормалізованого рівняння та перевірки, чи лежать дві точки по один бік прямої (див. відповідь до задачі 3.19).

Модуль має загальний вигляд:

Unit ім'я-модуля;

Інтерфейсний розділ;

Розділ реалізації;

Розділ ініціалізації

end.

Інтерфейсний розділ починається службовим словом Interface і містить означення імен, призначених для використання за межами модуля. Проте замість підпрограм тут записуються тільки їх заголовки. У нашому прикладі цей розділ виглядає так:

Interface

procedure normcoef(x1, y1, x2, y2 : real; var a, b, c : real);

function oneside(x1, y1, x2, y2, a, b, c : real) : boolean;

Слово "інтерфейс" перекочувало з англійської. Одне з його значень – точка з'єднання, взаємодії різноманітних систем. Інше – спосіб сприйняття і виразу даних, заданий програмою. Інтерфейс програми можна розуміти як "зовнішній вигляд її виконання". Відповідно інтерфейс модуля – це "те, що в ньому видно ззовні". У даному прикладі це заголовки двох підпрограм.

Розділ реалізації починається службовим словом Implementation і містить підпрограми, вказані в інтерфейсному розділі, але зі скороченими заголовками – за словом function або procedure записується тільки ім'я. У нашому випадку вигляд цього розділу такий:

Implementation {"втілення", "реалізація"}

procedure normcoef; {скорочений заголовок}

begin ... {повний блок; див. відповідь до задачі 3.21} end;

function oneside; {скорочений заголовок}

begin ... {повний блок; див. відповідь до задачі 3.19} end;

o

th

"

o

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

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

Відзначимо, що для модуля діють ті ж самі правила дії іменувань, що і для програм.

Розділ ініціалізації задає дії, що виконуються один разів на початку виконання програми, яка використовує означення модуля. Він має вигляд:

Begin послідовність операторів

The online video editor trusted by teams to make professional video in minutes