Object Pascal
1. Основи мови Object Pascal
1.1. Алфавіт мови
Основними символами мови Object Pascal є:
- 26 великих і 26 малих латинських літер A, B, … Y, Z, a, b, …, y, z
- 10 арабських цифр 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
Літери українського алфавіту не входять до складу алфавіту мови. Їх використання допустиме лише у рядкових та символьних значеннях.
Немає відмінностей при використанні великих і малих букв у записі імен змінних, процедур, функцій та міток. Їхня максимальна довжина обмежена 126 символами.
1.2. Короткі відомості про структуру програми
Програма завжди починає роботу з модуля program, активізуючи функціонування одного чи кількох залежних модулів unit. Ті, у свою чергу, можуть активізувати інші модулі unit і т.д.
Вихідний програмний текст кожного модуля складається мовою Object Pascal і поміщається окремий файл, який має розширення .pas. Текст модуля program має розширення DPR.
Повний програмний текст будь-якого модуля має свою структуру, яка може включати блоки визначення констант, внутрішніх структур опису типів, тексти процедур, функцій та ін.
1.3. Лексична структура мови
Будівельним матеріалом для конструювання програмного тексту модуля є лексеми – особливі мовні конструкції, що мають самостійний зміст. Лексеми будуються символами алфавіту мови. У Object Pascal розрізняють такі основні класи лексем:
Зарезервовані (службові) слова. Цей клас складається зі слів, побудованих лише за допомогою літер алфавіту. Службові слова можна використовувати лише за прямим призначенням, т. е. оскільки їх призначення визначив розробник мови. Ні в якому іншомувигляді, наприклад як імена змінних, їх використовувати не можна.
Нижче наведено список таких слів:
Крім того, не можна використовувати такі слова, що не належать до цього класу: private, protected, public, published, automated, directives, on, virtual.
Ідентифікатори (імена). Ідентифікатори або імена призначені для позначення констант, змінних, типів, процедур, функцій, міток. Вони формуються з букв, цифр та символу "_" (підкреслення). Довжина імені може бути довільною, проте компілятор враховує імена за його першими 63 символами. Усередині імені не повинно бути прогалин.
Object Pascal в іменах не розрізняє великих і малих букв. Так такі імена будуть ідентичні:
SaveToFile, SAVETOFILE, savetofile, savetofile.
чим ідентичний йому оператор
Disk_C_DirctoryCounter: = Disk_C_DirctoryCounter +1.
Слід, проте, з великою обережністю використовувати короткі імена, оскільки це нерідко призводить до плутанини між глобальними та локальними змінними, позначеними однаковими іменами, і, як наслідок, до помилок у роботі програми. Найбільш зручним, безпечним та бажаним можна вважати локальне використання коротких імен, коли вони описані та використані всередині якоїсь порівняно невеликої за обсягом тексту процедури або функції та їх дія обмежена межами тільки цієї алгоритмічної одиниці. За підозри на плутанину, дію такої змінної легко проконтролювати візуально.
Зображення. До них відносяться константи, символьні рядки та деякі інші значення.
Знаки операцій формуються з одного або кількох символів визначення дій, пов'язаних з перетворенням даних.
Розділювачі використовуються з метою більшого структурування модуля, з тимщоб підвищити візуальне сприйняття довгих текстів. До них можна віднести ; := ( .
Коментарі. Ці лексеми використовують із пояснення окремих фрагментів тексту програми. Вони є послідовністю символів, укладеною у фігурні дужки < >або роздільники (* і *), а також послідовність символів, розташованих у рядку праворуч від двох наступних один за одним символів /.
(* Функція обчислення кількості днів між двома датами *)
Пробіл. Цей символ немає видимого зображення і служить відділення лексем друг від друга у випадках, коли це необхідно. Зазвичай використання одного або кількох пробілів, що стоять поруч, не спотворює сенс програми.
1.4. Деякі важливі поняття
Зупинимося цих поняттях у тому, щоб коротко визначити їх розуміння більшості прикладів, якими супроводжується матеріал. Ці компоненти мови мають виняткову важливість, у наступних розділах вони будуть більш докладно описані.
Значення – це стала величина чи структурний комплекс постійних величин, виражених у явному вигляді. Значення немає імені.
'Розрахунок посадки з натягом' .
Константа – це осередок, у якому завжди зберігається одне значення. Константи неможливо змінити під час виконання програми. У цьому вся сенсі константа відповідає загальноприйнятому визначенню постійної (незмінної) величини. Будь-яка константа має бути описана, тобто має бути явно вказано її значення. Значення константи неявно визначає її тип.
Слід зазначити, що у мові існують звані типізовані константи, які під час проходження програми можна змінити. Тип константи вказується у спеціальній мовної конструкції, що починається словом Type (тип).
Змінна - це комірка, в якій у кожний момент часу зберігається одне значення або не зберігається нічого. Змінна в будь-який час може бути змінена програмою. Будь-яка змінна має бути описана. тобто. має бути явно вказано її тип. Тип змінної вказується у спеціальній мовної конструкції, що починається словом Var (від англійської variable – постійна).
Тип – це структура та опис множини значень, які можуть бути присвоєні змінною.
Оператор присвоєння - це команда, призначена для зміни вмісту комірки. З його допомогою відбувається зміна значення змінної (або типизованої константи).
Синтаксис оператора присвоєння:
Тут x – змінна, y – вираз. Виразом може бути, зокрема, змінна, константа чи значення. Послідовність символів ":=" позначає операцію присвоєння, відповідно до якої спочатку обчислюється вираз y, потім результат, що вийшов у вигляді значення записується в змінну x (див. докладніше гол. 9).
2. Система типів
У мові Object Pascal усі змінні, тобто комірки пам'яті, призначені для запису, читання та зберігання значень, повинні бути попередньо описані. Це означає, що будь-яка змінна має бути явно віднесена до якогось типу.
Тип – це одночасно структура та опис множини значень, які можуть бути присвоєні такій змінній.
Мова Object Pascal має багато різноманітних типів. Більше того, він дозволяє самому користувачеві конструювати найрізноманітніші типи, які можуть бути йому необхідні. Конструювання таких типів провадиться з порівняно обмеженої кількості стандартних типів.
Типи мають власну ієрархію. На верхньому поверсі ієрархії розташовані такі типи:прості, складові, посилальні та процедурні.
3. Стандартні прості типи
Основними типами мови є стандартні прості типи та стандартні структурні типи.
Прості типи поділяються на скалярні та обмежені типи. Cкалярні типи поділяються на стандартні та перераховані. Стандартні скалярні типи поділяються на п'ять видів: