Delphi. Програмування з використанням підпрограм та модулів

Мета лабораторної роботи:вивчити можливості DELPHI для написання підпрограм та створення модулів. Скласти та налагодити програму, яка використовує зовнішній модуль UNIT із підпрограмою.

Підпрограма– це іменована, певним чином оформлена група операторів, яка може бути викликана будь-яку кількість разів з будь-якої точки основної програми.

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

Підпрограми поділяються на процедури та функції.

Процедура має таку структуру:

Procedure([список формальних параметрів]);

Const[опис використовуваних констант];

Type[опис використовуваних типів];

Var[опис використовуваних змінних];

На відміну від процедур функції можуть використовуватися у виразах як операнда, тому вони мають таку структуру:

Function([список формальних параметрів]): ;

Const[опис використовуваних констант];

Type[опис використовуваних типів];

Var[опис використовуваних змінних];

Result:= …; // Занесення результату обчислень у Result

Процедури та функції можуть бути використані як формальні параметри підпрограм. Для цього визначається тип:

Type= function ([список формальних параметрів]): ;

АбоType= procedure ([список формальнихпараметрів]);.

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

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

Модуль- автономно компілювана програмна одиниця, що включає процедури, функції, а також різні компоненти розділу описів. Структура модуля представлена ​​в п.1.2 і містить такі основні частини: заголовок, інтерфейсна частина, що виконується, ініціює та завершує.

ЗаголовокСкладається із зарезервованого слова Unit і наступного за ним імені модуля, яке має збігатися з ім'ям дискового файлу. Використання імені модуля в розділі Uses основної програми призводить до встановлення зв'язку модуля з основною програмою.

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

Ініціююча частинапочинається зарезервованим словом initialization і містить оператори, які виконуються до передачі керування основною програмою.

Завершальна частинаПочинається зарезервованим словом finalization і виконується в момент закінчення програми.

Ініціююча та завершальна частини модуля використовуються вкрай рідко.

Порядок виконання завдання

Завдання: написати програму виведення на екран таблиціфункції, яку оформити як процедури. Як функцію використовувати на вибір Tg(x), ch(x) і sin2(x).

Створюючи модуль, слід звернути увагу, що він повинен мати своєї форми. Система DELPHI при початковому завантаженні автоматично створює шаблон програми, що має у своєму складі форму, файл проекту і т. д. Оскільки модуль складається тільки з одного файлу, то необхідно перед його створенням знищити заготівлю файлу проекту і форму. Для цього в меню File вибрати Close All, файл проекту не зберігати.

Для створення модуля в меню File вибрати File New, а потім у репозиторії — піктограму . В результаті буде створено файл із заголовком Unit Unit1. Ім'я модуля можна змінити інше, що відповідає внутрішньому змісту модуля, наприклад Unit Matfu;. Потім необхідно зберегти файл з ім'ям, яке збігається з ім'ям заголовка модуля: Matfu. pas. Слід звернути увагу на те, що ім'я файлу має співпадати з ім'ям модуля, інакше DELPHI не зможе підключити його до іншої програми.

Щоб підключити модуль до проекту, необхідно в меню Project вибрати опцію Add to Project… і вибрати файл, що містить модуль. Після цього в розділі Uses додати ім'я модуля, що підключається – MatFu. Тепер у проекті можна використовувати функції, що містяться у модулі.

Панель діалогу матиме такий вигляд (рис. 7.1).

Тексти модуля та програми, що викликає, наведені нижче.

Function Tg(x:extended): extended; // Функція для обчислення тангенсу

Function Ch(x:extended): extended; // Функція для обчислення гіперболічного синусу

Function Sin2(x:extended): extended; // Функція обчислення квадрата синуса