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

Паскаль: область дії, модулі, структури
Тип документу: Реферат
Сторінок: 10
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 22.1
Скачувань: 950
У цих операторах, як правило, задається присвоювання початкових значень змінним, означеним у модулі (їх ініціалізація). У нашому прикладі ніякі початкові дії не задаються, і слово Begin з операторами відсутні.

Запис усього модуля з ім'ям PlaneGeo залишаємо як вправу.

Використання імен модуля в програмі або в іншому модулі називається успадкуванням, або використанням модуля й у діалекті Турбо Паскаль указується відразу після заголовка програми або слова Interface у модулі в такому вигляді:

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

Якщо програма або модуль використовує кілька інших модулів, то їх імена записуються через кому. Програма розв'язання задачі 3.21 із використанням модуля PlaneGeo стає істотно коротше:

program intriang(input, output);

uses PlaneGeo;

var x, y, {точка}

xt1, yt1, xt2, yt2, xt3, yt3, {вершини}

a1, b1, c1, a2, b2, c2,

a3, b3, c3 : real; {коефіцієнти прямих}

begin

writeln('задайте дві координати точки : ');

readln(x, y);

writeln('задайте 3 пари координат вершин трикутника : ');

readln(xt1, yt1, xt2, yt2, xt3, yt3);

normcoef(xt3, yt3, xt2, yt2, a1, b1, c1);

normcoef(xt3, yt3, xt1, yt1, a2, b2, c2);

normcoef(xt1, yt1, xt2, yt2, a3, b3, c3);

if oneside(x, y, xt1, yt1, a1, b1, c1) and

oneside(x, y, xt2, yt2, a2, b2, c2) and

oneside(x, y, xt3, yt3, a3, b3, c3)

then writeln('Так, точка всередині трикутника ')

else writeln('Ні, точка за межами трикутника ')

end.

Як бачимо, імена normcoef і oneside у програмі не означені, але використовуються завдяки тому, що на початку програми вказано використання модуля uses.

Подібно до Паскаль-програм, "Паскаль-модулі" записуються у файли з розширенням .pas. При трансляції модуля його означення транслюються в машинну мову й записуються у файл із розширенням .tpu. Спочатку треба транслювати модуль, і тільки після цього можна транслювати програми й інші модулі, що використовують його. Так, якщо модуль із прикладу 7.3 записаний у файлі з ім'ям PlaneGeo.pas, то в результаті його трансляції з'являється файл PlaneGeo.tpu. Після цього можна транслювати програму Intriang. У процесі її трансляції означення з модуля, а точніше, із файла PlaneGeo.tpu, додаються в машинну програму завдяки вказівці

uses PlaneGeo.

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

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

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