Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Модульна організація програм. Створення та використання модулів.






Модуль — це оформлена за деякими правилами сукупність визначень типів, констант, змінних та підпрограм. Спочатку складається текст модуля, потім він компілюється і записується на диск у вигляді tpu-файла. Такий файл неможливо викона­ти, як самостійну програму. Його використовують, як допоміжний файл у процесі розробки головної програми.

Виділяють два напрямки вживання модулів. Перший – зв’язаний з формуванням бібліотек під­програм повністю готових до роботи. Це зручно в рамках будь-якої технології програмування. Достатньо підключити модуль до програми і можна використовувати його елементи в цій програмі.

Другий напрямок - конструювання програм великого розміру. В зв'язку з сегментною організацією пам'яті персональних ЕОМ існують обмеження на розмір програми (не більше як 64К). Очевидно, що цього замало для розв'язання реальних виробничих задач.

Для виконання програми на Pascal в оперативній пам'яті комп’ютера виділяється місце після пам'яті зайнятої системними програмами MS-DOS. Вся доступна пам'ять розподіляється на сегменти, в кожному з яких розміщується певна інфор­мація. В кодовому сегменті розміщена головна про­грама зі своїми підпрограмами. Всі дані, описані в головній програмі, займають окремий сегмент да­них. Кожен з модулів, що підключається, також займає один сегмент (незалежно від того, чи є цe модуль системної бібліотеки Turbo.tpl чи особистої біб­ліотеки).

На етапі проектування великої програми треба розподілити всі підпрограми між головною програмою та модулями. Частіше в модуль об’єднують логічно зв'язані підпрограми, наприклад, всі додаткові процедури та функції для роботи з рядками.

Структура модуля:

 

Unit ім'я; {заголовок модуля}

Interface

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

Implementation

Тексти підпрограм

Begin

Блок ініціалізації модуля

End.

Ім'я модуля вибирається довільно, але воно по­винно бути унікальним. Зразу після заголовка розміщують словоInterface. В інтерфейсній частині модуля розміщують оператор Uses, оператори описування глобальних типів, констант, змінних, які будуть передані в програму при підключенні модуля. Також, записують заголовки всіх підпрограм, які входять до модулю.

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

В блок ініціалізації звичайно включають операто­ри визначення початкових значень, відкриття файлів, перевірки їх наявності тощо. Цей блок може бути пустим, у такому разі не пишуть слово Begin.

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

Приклад. Використання функції для обчислення ступеня.

Модуль:

 

Unit Math;

Interface

Function Step(a: real; b: real): real;

Implementation

Function Step: real;

Begin

If a< =0 then

Begin

Writeln('перевірте дані');

Halt(0);

End;

If b=0 then Step: =1 else Step: =exp(b*ln(a));

End;

Begin

End.

 

Програма:

 

Uses Math;

Var x, y, z: Real;

Begin

Readln(x: y);

Z: =Step(x, y)+Step(y, x);

Writeln(x, y, z);

End.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.