Народна Освіта » Інформатика » Основи подійно-орієнтованого та об’єктно-орієнтованого програмування

НАРОДНА ОСВІТА

Основи подійно-орієнтованого та об’єктно-орієнтованого програмування

Алгоритм можна описати, використовуючи звичайну мову. Для того щоб це виконав програмно-керований автомат (комп’ютер), потрібно алгоритм подати у формі, доступній для опрацювання і виконання комп’ютером.

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

5.1. Загальний порядок розв’язування задач на комп’ютері

Алгоритм. Мова програмування. Математична модель. Компіляція програми.

Процес підготовки задач за допомогою мови програмування для їх реалізації на комп’ютері називають програмуванням. Мова програмування - це універсальний засіб, призначений для подання алгоритмів у вигляді, придатному для реалізації на комп’ютері. Кожний програміст має дотримуватися порядку і правил, які існують у певному колективі програмістів. Для початківців і учнів бажано роботу з розроблення і налагодження програм поділити на два етапи: підготовчий і виконавчий.

1. Підготовчий етап

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

І. З'ясування сутності задачі. Задача, яку потрібно запрограмувати, найчастіше формулюється словесно. Слід чітко з’ясувати її умову, визначити вхідні та вихідні дані, форму подання результатів її розв’язання і таке інше.

Наприклад, задача може бути сформульована так: “Для автобуса Київ - Рівне, що прямує через Житомир, встановлена середня швидкість руху на всьому маршруті. Автобус з Києва до Житомира рухався з однією швидкістю, а з Житомира до Рівного - з іншою. Визначити, з якою швидкістю має рухатися автобус із Житомира до Рівного, щоб він прибув до кінцевої станції своєчасно”. З’ясовуючи сутність цієї задачі, потрібно: визначити (знайти в довіднику) відстані від Києва до Житомира і від Житомира до Рівного, встановлену швидкість автобуса на всьому маршруті і реальну швидкість автобуса на шляху від Києва до Житомира.

2. Формалізація задачі. Формалізувати задачу - означає описати її

термінами певної галузі знань. Зазначений етап не є обов’язковим для всіх задач. Наприклад, етап формалізації не обов’язковий для деяких обчислювальних задач із курсів шкільної математики, фізики, хімії, позаяк самі умови задач уже формалізовані. Для сформульованої вище задачі можна позначити:S1 - відстань від Києва до Житомира; S2 - відстань від Житомира до Рівного; V - швидкість руху для всього маршруту, визначена як середнє значення (V=(S1+S2)/t, де t - час між прибуттям до кінцевого пункту і відбуттям із початкового пункту); V1 - реальна швидкість руху автобуса від Києва до Житомира; V2 - швидкість руху автобуса від Житомира до Рівного; яку потрібно визначити. Задачу можна сформулювати так: визначити швидкість V2, якщо відомі S1, S2, V і V1.

3. Розроблення математичної моделі й вибір способу її раціональної реалізації.

Розробити математичну модель - означає знайти математичну залежність між уведеними математичними величинами. Для наведеного прикладу цю модель можна записати так:(S1+S2)/V = S1/V1 + S2/V2,  тобто використати той факт, що потрібно вчасно дістатися кінцевого пункту. Вибрати раціональний спосіб реалізації моделі означає знайти варіант розв’язання отриманого рівняння. У цьому випадку можна запропонувати таку формулу:

 V2 = S2/((S1+S2)/V - S1/V1).

4. Розроблення алгоритму. Розробити алгоритм - означає визначити послідовність інструкцій (вказівок), які можна реалізувати на комп’ютері, і від виконання яких залежить правильне розв’язання задачі. Розроблення таких інструкцій називають алгоритмізацією. Ступінь деталізації вказівок може бути різним і залежить від мови програмування, за допомогою якої описуватиметься алгоритм. Для задачі, що розглядається, алгоритм, який може бути реалізований практично будь-якою мовою програмування, у словесній формі можна записати так.

1. Увести значения змінних S1, S2, V, V1

 

 

 

2. Обчислити значення виразу (загальний час руху).

 

3. Від значення, отриманого в п. 2, відняти значення

4. Значення s2 поділити на значення, отримане в п. 3.

5. Присвоїти змінній и2 значення, отримане в п. 4, і вивести його на екран.

Графічна схема цього алгоритму зображена на рис. 5.2.

Розроблення програми. Розробити програму - означає описати алгоритм відповідною мовою програмування. Зазначимо, що у комп’ютері виконуються лише програми, описані машинною мовою, тобто мовою двійкових символів Oil.

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

Отже, мова програмування високого рівня і система програмування відіграють роль посередника між людиною та комп’ютером.

Обов’язкові компоненти будь-якої мови програмування високого рівня:

- алфавіт (аналогічно алфавіту звичайної людської мови);

- символи арифметичних і логічних операцій та деякі спеціальні знаки;

- набір так званих ключових слів, які не можна змінювати (наприклад, begin, end, var, for);

- ідентифікатори - комбінації символів для позначення змінних, функцій, файлів та інших об’єктів (приклади: alfa, n32, sun_2, аі).

Мова програмування високого рівня мас строгі правила запису команд (операторів) і даних. Сукупність таких правил створює синтаксис мови, а зміст кожної команди та інших конструкцій мови -її семантику.

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

інтерфейс майбутньої програми, а потім програмний код. Зазначмо, що досвідчені програмісти після аналізу завдання одразу починають розробляти програму і вводити її в комп’ютер. Однак у навчанні потрібно дотримуватися описаного порядку.

“Чужу” програму, особливо складну, без розроблення алгоритму і без коментарів зрозуміти важко. Тому слід виробити культуру оформлення алгоритмів на прикладах простих задач.

5.1.2. Етап виконання

На цьому етапі, зазвичай, виконується послідовність дій, зображена па рис. 5.3.

1. Уведення програми. Розроблена програма, яку називають кодом (програмним кодом), уводиться в пам’ять комп’ютера найчастіше з клавіатури. У процесі введення програма відображається на екрані монітора, і помилки введення можна одразу виправляти. Для введення коду найчастіше використовується інтегроване середовище програмування. Наголосимо, що у візуальному середовищі програмування спочатку на формі створюється її інтерфейс, а потім уводиться програмний код.

2. Компіляція програми. Початковий текст програми мовою високого рівня, уведений у комп’ютер, автоматично перетворюється на машинний код за допомогою спеціальної програми -транслятора. Якщо текст програми не відповідає синтаксису мови програмування, трансляція пе буде виконала. У таких випадках транслятор видає повідомлення про синтаксичні помилки. Є два види трансляторів: компілятори та інтерпретатори.

Компілятор одразу перетворює весь текст програми на двійковий код. Спочатку отримують об’єктний код, а потім - виконуваний, який розміщується в файлі з розширенням ехе.

Виконуваний код - це завершена програма, готова до виконання па комп’ютері з відповідним процесором, що функціонує під управлінням операційної системи, для якої відкомпільовано цю програму.

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

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

Для створення програми використовується середовище програмування, обов’язковими компонентами якого є:

- текстовий редактор для введення й редагування програм;

- редактор зв’язків;

- транслятор (компілятор або інтерпретатор).

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

3. Тестування та налагодження програми. У фірмах-розробниках програм створюються спеціальні підрозділи, які займаються тестуванням програм. Успішна компіляція ще не означає, що в коді немає помилок. Програма після успішної компіляції може запрацювати, але вона може видавати неправильні результати, оскільки крім синтаксичних, у ній можуть бути логічні помилки, які допустив програміст. Наприклад, якщо у виразі у = а + Ь замість знака плюс насправді введено знак мінус, така помилка є логічною, і компілятор її не виявляє. Тому потрібно виконати тестування програм і усунути помилки. Зазвичай програма багаторазово виконується для різноманітних даних у допустимому діапазоні значень.

4. Аналіз отриманих результатів. На основі аналізу отриманих результатів робиться остаточний висновок про працездатність і надійність програми. Для навчальних задач, щоб бути впевненим, що програма розроблена правильно й у ній відсутні будь-які помилки, необхідно вручну розрахувати деякі проміжні результати і порівняти їх з результатами, які видає програма.

Перевіряємо себе

1. Які функції виконує транслятор?

2. Які компоненти мови програмування є обов’язковими?

3. Що називають синтаксисом мови програмування?

4. Які існують типи трансляторів?

5. Назвіть основні компоненти середовища програмування.

6. Які дії виконуються під час підготовки задачі для розв’язування па комп’ютері?

7. Поясніть сутність формалізації задачі.

8. Наведіть приклад математичної моделі.

9. У чому полягають переваги та недоліки компіляторів і інтерпретаторів?

10. Чому потрібне тестування й налагодження програм?

11. Які основні дії виконуються у процесі виконання програм?

12. Який код програми називають таким, що виконується?

13. Поясніть сутність тестування й налагодження.

5.2. Мови програмування

Мови програмування високого та низького рівнів. Мови візуального програмування. Процедурні мови програмування. Об’єктно-о-рієнтовані мови програмування.

Початок розвитку мов програмування (МП) сягає XIX століття. Англійський учений Чарльз Беббідж створив проект механічної обчислювальної машини. Програми для неї розробила леді Ада Лавлейс (на її честь названа мова програмування Ada).

Однак мови програмування в сучасному розумінні стали розвиватися з появою ЕОМ.

Мова програмування — це мова, призначена для запису алгоритму для його виконання комп’ютером.

Існує сотні різних мов програмування та їх модифікацій, проте лише деякі з них набули широкого визнання. На різних етапах розвитку ЕОМ були популярні такі мови програмування: Фортран, Кобол, Алгол-60, ПЛ-1, Алгол-68, Ada, С, Basic, Pascal, Prolog. Нині широковживаними є мови C++ (вимовляємо “Сі плюс плюс”), C# (вимовляємо “Сі шарп”) і Java (вимовляємо “Джава”).

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

Незалежно від того, якою мовою розроблена програма, у комп’ютері виконується лише програма машинною мовою, тобто мовою, що подається двійковими символами Oil. Для перших ЕОМ самі програмісти розробляли програми машинними мовами. Але це була досить важка робота, яка вимагала також добрих знань структури і принципів взаємодії пристроїв комп’ютера. Пізніше з’явилися мови символьного коду-вания (МСК), у яких команди програміст подавав не двійковим кодом, а символами, наприклад, ДОДАТИ А В. За цією командою до числа А додавалося число В.

Очевидно, що розроблення програм мовою МСК полегшувало роботу програміста. Перетворення символьного коду на машинні команди комп’ютер виконував автоматично.

Потім до МСК стали включати макрокоманди, які реалізуються послідовністю з кількох машинних команд. Використання макрокоманд у МСК ще більше полегшило розробку програм. Різновиди мов символьного кодування називають автокодом і мовою Асемблера (приклад фрагмента програми мовою Асемблера є на рис. 2.6).

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

Уже на перших етапах розвитку обчислювальної техніки розпочалося розроблення мов програмування, доступних для широкого кола користувачів і не зв’язаних із конкретною обчислювальною машиною. Такі мови назвали мовами високого рівня. Першою такою мовою, яка набула широкого визнання серед програмістів світу, стала мова Фортран, розроблена у 1954 році в США. Ця мова близька до звичайної мови алгебри й орієнтована на розв’язування обчислювальних задач. У 1960 році група вчених різних країн розробила мову програмування Алгол-60, яка також орієнтована на розв’язування обчислювальних задач, але її конструкції були більш наочними.

За ступенем залежності від апаратних засобів розрізняють мови низького і високого рівнів.

Із розвитком і удосконаленням обчислювальних машин розширювалися й галузі їх застосування. Удосконалювалися й розвивалися також мови програмування, як шляхом спеціалізації, так і шляхом універсалізації. Однією з перших спеціалізованих мов була мова Кобол, розроблена в 1961 році в СИТА й орієнтована на розв’язування економічних задач.

Пізніше були розроблені десятки різних спеціалізованих мов, наприклад, Симула - мова моделювання, Лісп - мова для розв’язування інформаційно-логічних задач. Рапіра - мова для розв’язування навчальних задач.

Отже, з одного боку, потреби в розв’язуванні різноманітних задач, а з іншого - удосконалення і поява нових обчислювальних машин поставили нові вимоги до мов програмування. Сутність цих вимог полягала в тому, що вони мали забезпечити успішне розв’язування різних задач людської діяльності за максимального використання можливостей, що падають ЕОМ.

Мови програмування, які тією чи іншою мірою відповідають усім зазначеним вимогам, відносять до класу універсальних мов. Найбільш відомими мовами цього класу були мова ПЛ-1, розроблена в 1964 році, і мова Алгол-65. Утім, ці мови виявилися досить складними, крім цього, мова ПЛ-1 не задовольняла вимогу надійності написання програм. Потім набула поширення універсальна мова Равсаі, розроблена спеціально для навчання програмування.

Особливою популярністю в усьому світі користувалася мова Бейсик. Вона незамінна для розв’язування простих задач, створення додатків до офісних програмних засобів.

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

Універсальні мови призначені для розв’язування широкого класу задач. До цих мов нині відносять Pascal, С, C++ та інші. Особливим класом універсальних мов є мови, реалізовані у візуальних середовищах програмування (Visual Basic, Delphi та інші).

Спеціалізовані мови програмування призначені для певного типу задач і певної предметної галузі. Існують десятки спеціалізованих мов програмування, наприклад, мови для роботи з базами даних, мови web-програмування.

За принципами програмування розрізняють процедурні, непроцедурні мови та мови об’єктно-орієптованого програмування.

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

мовами структурного програмування. Прикладами таких мов є Алгол, Равсаі, перші версії мови Вавіс, частково - Вогнал.

Непроцедурні мови ефективні для програмування пошуку даних у великих обсягах даних, а також для програмування задач, розв’язування яких неможливо точно й вичерпно описати (переклад, розпізнавання образів). У цих мовах алгоритм пошуку розв’язку вбудований у інтерпретатор мови. До непроцедурних відносять мови функціонального та логічного програмування.

Мови об’єктно-орієнтованого програмування (ООІІ) почали розвиватися наприкінці XX століття.

Сьогодні вони є основними мовами високого рівня для професійного програмування. Ці мови містять конструкції, які дають змогу описувати об’єкти і їх класи, і які мають засоби роботи з абстрактними типами даних. До таких мов відносять, зокрема, C++, Object Pascal, Java, С#.

Далі розглядатимемо середовища програмування Free Pascal і Lazarus.

Перевіряємо себе

1. Якою мовою описують програму, для того щоб вона могла бути виконана в комп’ютері?

2. Поясніть сутність мови символьного кодування.

3. Що називають макрокомандою?

4. Які мови називають мовами низького рівня?

5. Які мови називають мовами високого рівня?

6. Як класифікуються мови програмування за ознакою залежності від апаратних засобів?

7. Які мови відносять до універсальних?

8. Наведіть приклади мов програмування високого рівня.

9. Як класифікуються мови програмування за орієнтацією на клас задач?

10. Як класифікуються мови програмування за принципами програмування?

11. Наведіть приклади мов об’єктно-орієнтованого програмування.

5.3. Основні відомості про мову Free Pascal і середовища програмування

Середовище програмування Free Pascal. Обов’язкові компоненти мов програмування.

Мову програмування Равсаі розробив швейцарський учений Н. Вірт у 1971 році спеціально для навчання основ програмування. Вона названа на

честь видатного французького математика Б. Паскаля. Ця мова постійно розвивалася й удосконалювалася, у результаті чого зараз налічується десятки її версій. Нині популярною для навчання основ алгоритмізації і програмування у вищих і середніх закладах освіти є мова Free Pascal, яку розглянемо нижче. Зазначимо, що сучасна мова програмування майже завжди реалізується як система (середовище), що забезпечує весь комплекс робіт - від розроблення програм до отримання результатів її виконання. Обов’язковими складниками середовища програмування є текстовий редактор, компілятор і редактор зв’язків. Середовище Free Pascal забезпечує повний цикл розроблення й виконання програм у текстовому режимі. Мова Free Pascal підтримується також вільним інтегрованим середовищем із графічним інтерфейсом Lazarus.

Середовище програмування Lazarus забезпечує створення й виконання програм як із графічним (віконним) інтерфейсом, так і в текстовому (консольному) режимі.

Використання мови Pascal та середовищ Free Pascal і Lazarus здійснюється на основі відкритої для всіх ліцензійної угоди.

Середовище програмування Free Pascal сумісне з Borland Pascal і Object Pascal - Delphi. Компілятор Free Pascal реалізований для ОС Windows і Linux. Незважаючи на те що в професійному програмуванні найчастіше застосовуються мови C++, С#, Java, РНР та інші, мовою Pascal теж можна реалізувати сучасні складні інженерні й економічні обчислення.

Обов’язковими елементами мови Free Pascal є символи, ключові слова та ідентифікатори. У програмі застосовуються коментарі.

У програмах мовою Free Pascal дозволено використовувати такі символи:

- латинські літери А, В, С, ..., х, у, z (компілятор не відрізняє великих літер від маленьких);

- цифри 1, 2, 3, ..., 0;

- символи арифметичних і логічних операцій, синтаксичні та інші

символи: +, *, /, <, >, =, $, %, #, @, &, :, ; (, ), [, ], {, }, Л,

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

Ключові слова мають строго визначене призначення і використовуються для позначення операторів мови, типів даних тощо. Змінювати їх не можна. Таких слів налічується декілька десятків, наприклад: read, integer, writeln, const, else, case.

Ідентифікатори призначені для іменування різних об’єктів (змінних, констант, міток тощо). Вони складаються з літер, цифр і символів підкреслення і починаються з літери або символу підкреслення. При-

клади ідентифікаторів: а 1, і, beta, z. Ідентифікаторами не можуть бути службові слова.

У тексті програми застосовуються коментарі для пояснення сутності дій у програмі, що виконуються. На виконання програми вони не впливають. Є три види коментарів:

- у фігурних дужках - {коментар};

- починається двома косими лініями - //коментар;

- між символами (* і *) - (*коментар*).

Середовище програмування Free Pascal можна запустити па виконання звичайними засобами ОС Windows. Наприклад, на робочому столі слід двічі клацнути ярлик системи. Відкриється вікно компілятора, у якому слід виконати команду File—>New. У результаті відкриється головне вікно системи, зображене на рис. 5.5. У робочому полі вікна міститься код програми.

У верхньому рядку вікна містяться назва системи і три кнопки управління вікном.

Другий рядок - це головне меню системи, у якому десять пунктів. Більшість цих пунктів має призначення, аналогічне призначенню однойменних пунктів меню інших прикладних програм, наприклад, текстового редактора. Зокрема, команди пункту File забезпечують роботу з файлами програм (створення, зберігання, друкування файлів тощо), команди пункту Edit - редагування, копіювання, вставлення, видалення частин тексту програми. Пункт Windows слугує для керування вікнами, a Help - для отримання довідкової інформації.

Інші пункти меню мають таке призначення:

Search - пошук і заміна фрагментів програми.

Run - виконання програми.

Compile - компіляція програми.

Debug - налагодження програми.

Tools - використання допоміжних засобів.

Options - налаштування середовища програмування.

Під головним меню розташоване поле з назвою імені поточного файла nonameOl.pas, у яке вводиться програма. За замовчуванням файл записуватиметься до папки C:\Programs диска. У нижньому рядку перелічені функціональні клавіші та їх призначення (FI - Help, F2 - Save та інші).

Правила роботи з інтерфейсом системи Free Pascal принципово не відрізняються від правил роботи в середовищі стандартних текстових редакторів і операційної системи Windows. Активація рядка меню може здійснюватися за допомогою миші. Для переходу в головне меню слід натиснути клавішу F10, а для повернення до робочої області - клавішу Esc.

Перевіряємо себе

1. Які складники середовища програмування є обов’язковими?

2. Для чого призначене середовище програмування Lazarus?

3. Якими операційними системами підтримується компілятор Free Pascal?

4. Які основні дії виконуються у меню File середовища Free Pascal?

5. Для чого призначене меню Compile середовища Free Pascal?

6. Для чого призначені ключові слова мови програмування?

7. Сформулюйте правило запису ідентифікатора.

8. Які типи коментарів використовуються в мові Free Pascal?

5.4. Загальні відомості про середовище візуального програмування Lazarus

Головне меню Lazarus. Форма. Компоненти на формі. Редактор тексту. Об’єкт - властивості й методи. Інспектор об’єктів. Події та їх опрацювання.

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

Інтерфейс майбутньої програми будується зі спеціальних компонентів (кнопок, прапорців тощо) з різними властивостями. Компонент, перенесений на форму, стає об’єктом.

Для кожного компонента в середовищі існує програмний код, який автоматично переноситься в поле текстового редактора після розміщення на формі відповідного об'єкта.

Програмісту не потрібно його розробляти. Отже, середовище Lazarus автоматично створює значну частину програмного коду, що сприяє прискоренню розроблення програми.

У консольному режимі інтерфейс не розробляється, одразу розробляється програмний код. Дані вводяться з клавіатури, а результати виконання коду виводяться на екран монітора.

Запуск середовища Lazarus здійснюється стандартними засобами ОС Windows, наприклад, можна двічі клацнути ярлик середовища на робочому столі або виконати команду Пуск—^Програми—*Lazarus. Відкриються вікна середовища, можливий вигляд яких зображений на рис. 5.6.

На вашому комп’ютері зовнішній вигляд середовища може відрізнятися від зображеного на рис. 5.6. Наприклад, може бути відсутнє вікно форми, а інші вікна можуть розташовуватися інакше й мати різні розміри. Кожне з вікон користувач може згорнути, змінити його розміри й місце розташування за допомогою стандартних засобів роботи з вікнами ОС Windows.

Головне вікно Lazarus (рис. 5.7) складається з трьох частин: головного меню (Файл, Правка та інші), панелі інструментів (ліворуч під головним меню) і палітри компонентів на вкладках Standard, Additional та інших.

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

 

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

На панелі інструментів розташовані кнопки команд, що часто використовуються. Вони дублюють деякі команди головного меню. Назви цих кнопок з’являються після встановлення на них курсора миші.

 

Тут містяться, зокрема, кнопки Нова форма (

 

), Зберегти (

 

), Вико

 

нати (

 

). Кнопки цієї панелі призначені для зручності и прискорення

 

роботи користувача.

 

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

За замовчуванням відкриваються компоненти групи Standart (див. рис. 5.7). На початковому етані вивчення середовища Lazarus компонентів групи Standard для оформлення вистачає нескладного інтерфейсу

 

програми. Найчастіше застосовуються такі компоненти: TButton (

 

 

)>

 

TLabel (

), TEdit (

 

)■

 

Якщо компонентів групи Standard не вистачає, можна скористатися компонентами групи Additional та інших. Для розкриття компонентів інших груп потрібно клацнути назву відповідної групи.

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

 

Якщо потрібно відмовитися від перенесення на форму вибраного компонента, слід клацнути кнопкою зі стрілкою, розташованою ліворуч на вкладці ( ).

 

 

Компонент, перенесений па форму, стає об’єктом. Кожний об’єкт має властивості й методи.

 

Властивості визначають зовнішній вигляд об'єкта, наприклад його ім'я, розміри, колір.

Метод визначає поведінку об'єкта, наприклад, як він реагуватиме на натиснення кнопки миші, зміну його розміру.

Для стандартних об’єктів програміст не розробляє методи , він використовує їх під час розроблення програми. Для налагодження властивостей об’єктів застосовується Інспектор об’єктів. Значення деяких властивостей можуть змінюватися також програмно.

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

Властивості поділяються на прості й складні. Прості визначаються лише одним значенням. Наприклад, властивість Caption (Заголовок) визначається рядком символів, а властивість Height (Висота) - числом.

Складні властивості визначаються сукупністю значень. Складною є, наприклад, властивість Font (Шрифт). Ліворуч від назви складних

властивостей розташований трикутник. Якщо клацнути по світлому трикутнику (після цього він набуде темного кольору), відкриється список його значень, по темному - список згорнеться. Біля простих властивостей трикутника немає.

Активація будь-якої властивості здійснюється клацанням по ній кнопкою миші. Після активації властивості в кінці рядка можуть з’явитися кнопка з трьома точками і кнопка зі стрілкою вниз. Після клацання кнопки з трьома точками відкриється діалогове вікно для вибору відповідних значень. Наприклад, після активації такої кнопки властивості Color (див. рис. 5.8) відкриється вікно Колір. Після активації кнопки трикутника розкриється список можливих значень цієї властивості.

У вікні редактора тексту (див. рис. 5.6) розміщується програмний код. Рядки у вікні пронумеровані, що досить зручно для роботи користувача. Ключові слова виділені жирним, знаки пунктуації - червоним кольором, коментарі - синім, помилки - коричневим. У редакторі тексту наведена деяка структура майбутньої програми, процедури і функції. Її можна розглядати як деякий шаблон, що полегшує роботу програміста під час створення програми.

 

Робота в графічному режимі середовища Lazarus передбачає спочатку створення інтерфейсу програми, а потім - уведення програмного коду. Для створення графічного інтерфейсу використовуються компоненти

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

Форма - це вікно, в якому створюється інтерфейс програми користувача.

На початку роботи вікно форми порожнє (рис. 5.10) і містить лише заголовок та кнопки управління вікном. Користувач має заповнити форму необхідними компонентами з палітри компонентів для створення зовнішнього вигляду вікна програми, яку він розроблятиме.

Налагодження вікна форми виконується за допомогою елементів керування і команд, розташованих у вікні Параметри IDE (англ.: Integrated Development Environment - інтегроване середовище розробки) (рис. 5.9).

Для відкриття цього вікна слід виконати команду Інструменти—^Параметри... й у вікні, що відкриється, відкрити вкладку Редактор форм. У процесі створення нового проекту вікно редактора тексту відображається на екрані разом із формою (рис. 5.10).

За замовчуванням на передньому плані розташоване вікно редактора тексту, що закриває форму. Активувати вікно можна за допомогою клавіші F12 або команди Вигляд—^Перемкнути форму/модуль.

Для того щоб у вікні редактора тексту у процесі завантаження системи Lazarus автоматично з’являвся останній створений проект, необхідно за допомогою команди Інструменти —+ Параметри... відкрити вікно Параметри IDE, на вкладці Файли (рис. 5.11) увімкнути прапорець При старті відкрити останній проект і натиснути кнопку Гаразд.

Налагодження вікна редактора тексту виконується у вікні Параметри ГОЕ на вкладках Редактор, які перелічені ліворуч у цьому вікні (див. рис. 5.11). Зміст вікна на вкладці Загальне зображено на рис. 5.12.

Зміна шрифту тексту програмного коду виконується на вкладці Відображення. Зміст вікна на цій вкладці зображено на рис. 5.13.

Редактор тексту забезпечує роботу з шаблонами. Як відомо, шаблон -це конструкція мови програмування, яка полегшує уведення програмного коду.

Налагодження шаблонів виконується у вікні Кодові шаблони (рис. 5.14), яке відкривається за допомогою команди Інструменти — Кодові шаблони— У цьому вікні наведено перелік шаблонів, які може застосовувати користувач. Для того щоб функціонував, наприклад, шаблон begin end; необхідно клацнути по ньому кнопкою миші, увімкнути прапорець пробіл і натиснути кнопку Гаразд. Тепер після введення символу b і натиснення клавіші пробіл автоматично з’являтиметься шаблон begin end; .

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

Перевіряємо себе

1. Для чого призначене середовище Lazarus?

2. Як можна запустити середовище Lazarus?

3. Які операції можна виконувати над вікнами середовища Lazarus?

4. Як переносяться компоненти палітри компонентів середовища Lazarus на форму?

5. Для чого призначена форма?

6. Як можна викликати вікно форми на передній план?

7. Назвіть основні компоненти середовища Lazarus

8. Які вікна має середовище Lazarus?

9. Із яких частин складається головне вікно середовища Lazarus?

10. Для чого призначена палітра компонентів середовища Lazarus?

11. Для чого призначена панель інструментів головного вікна середовища Lazarus?

12. Для чого призначений редактор тексту середовища Lazarus?

13. Для чого призначений інспектор об’єктів?

14. Поясніть сутність простих і складних властивостей.

15. Як налагоджується вікно форми?

16. Як можна змінити шрифт у вікні редактора тексту?

17. Для чого призначені шаблони?

Виконуємо

1. Запустіть середовище Lazarus. Відкрийте вікно форми. Змініть розміри та місце розташування вікна форми.

2. Розмістіть вікна середовища Lazarus так, як Вам сподобається.

Перенесіть иа форму компоненти TButton і TEdit. Змініть їх розміри та місце розташування. Встановіть їх колір і назви.

3.

4.

5.

6.

 

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

У групі Standard послідовно встановіть курсор миші на всіх компонентах палітри компонентів. З’ясуйте призначення основних з

них

5.5. Основи візуального програмування в середовищі Lazarus

Візуальне програмування. Об’єкти та їх властивості. Класи і методи. Об’єктно-орієнтоване програмування. Подійне програмування.

Концепція середовища Lazarus ґрунтується на проектуванні графічного інтерфейсу користувача иа основі форми, яка є аналогом вікон Windows. Основною структурною одиницею програмування в середовищі Lazarus є компонент - об’єкт (кнопка, поля-списки, текстові поля та інші), які вибираються з палітри компонентів середовища і вставляються в форму.

Середовище Lazarus містить компоненти, які є об’єктами й можуть використовуватися для оформлення графічного інтерфейсу.

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

Інколи використовуються також компоненти групи Additional, яка містить додаткові компоненти для роботи з діалоговими вікнами. Компоненти інших груп иа цьому етапі майже не застосовуються.

Найуживанішими компонентами групи Standard є такі:

TMainMenu - меню програми;

TPopupMenu - локальне меню, що викликається за допомогою правої кнопки миші;

TButton - командна кнопка;

TLabel - поле для розміщення однорядкових написів;

TEdit - однорядковий текстовий редактор;

ТМето - багаторядковий текстовий редактор;

TScrollBar - лінійка прокручування;

ТСгоирВох - група елементів;

ТРапеї - панель для об’єднання декількох компонентів; ТАсиопЬієі - список дій.

Компоненти, вставлені в форму, і сама форма є об'єктами.

 

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

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

Середовище візуального програмування Lazarus реалізує об’ектно-о-рієптовапе програмування (ООП), а також дає змогу створювати процедури опрацювання подій.

ООП - це методика розроблення програм, яка ґрунтується на поняттях об'єкт, метод і клас.

Головна ідея ООП полягає в об’єднанні даних, з якими працює програмний код, і процедур їх опрацювання у єдине ціле. Як уже зазначалося, кожний об’єкт має ім’я і властивості. Наприклад, об’єкт “циліндр” може мати такі властивості: радіус основи, висоту, об’єм, колір.

Опрацювання даних і подій ("поведінка" об'єкта) та його взаємодія з іншими об'єктами описуються за допомогою методів, які є аналогами підпрограм процедурних мов програмування.

Клас - це сукупність способів подання даних і методів їх опрацювання.

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

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

Для цього у коді програми на кожну подію передбачається відповідний обробник подій.

Основні властивості форми

BjiacTHBicTb

Опис властивості

Caption

Заголовок форми

Color

Колір заливки форми

Cursor

Тип курсора, що з’являється на формі

Enabled

Доступність. Якщо значення цієї властивості True, то форма реагує па подію, якщо False, то не реагує. За замовчуванням форма завжди має значення True

Font

Тип, колір і розмір шрифту в об’єктах (не в заголовку форми)

Height

Висота вікна в пікселях

Left

Горизонтальна координата (X) лівого краю компоненти відносно екрана (у пікселях)

Name

Містить ім’я компонента, за яким програма здійснює звернення до нього. Кожному компоненту автоматично присвоюються імена, наприклад, Forml, Button 1. Змінювати їх не рекомендується

Position

Положення вікна на екрані; poDesigned - після запуску застосуику форма в фіксованому положенні; poDefault - форма може перебувати в довільному місці; poScreenCenter - у центрі екрана

Top

Вертикальна координата (Y) лівого верхнього кута форми відносно екрана (у пікселях)

Visible

Визначає, чи буде компонент відображатися на екрані. Якщо ця властивість має значення True, то компонент відображається, якщо False, то компонента не видно

Width

Ширина об’єкта (у пікселях)

Програмування, в якому використовуються поняття “подія” і програмний код, яким описується її опрацювання (“обробник події'), називають подійним програмуванням.

Програма в середовищі Lazarus є проектом. Проект об’єднує кілька файлів, з яких створюється єдиний файл, що виконується.

Мінімальний склад файлів проекту такий:

файл опису проекту (Лрі); файл проекту (Лрг); файл ресурсів (.lrs); модуль форми (.lfm); програмний модуль (.pas).

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

Ім’я файла збігається з іменем проекту. Користувач розробляє програмний модуль, усі інші додаються до проекту автоматично.

Програмний модуль мас таку загальну структуру: unit ім’я модуля; //заголовок модуля

interface //розділ опису (список модулів, типів, кон

стант, змінних, процедур і функцій)

implementation //розділ коду програми end. //кінець модуля

Розділ опису мас таку загальну структуру: interface

uses списокмодулів; type список типів; const списокконстант; var список змінних; procedure ім’япроцедури;

function ім’я_функції;

Заголовок модуля починається ключовим словом unit, за ним - ім’я модуля і крапка з комою. Розділ опису починається ключовим словом interface. Тут описуються компоненти програмного коду: типи, класи, процедури і функції. Розділ implementation містить програмний код опрацювання даних, який розробляє користувач.

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

Середовище Lazarus забезпечує розроблення також звичайних консольних програм.

Консольна програма має таку структуру:

program ім’я програми;

uses moduli, modul2, ..., modulN;

const опис констант;

type опис типів;

var опис змінних;

begin //далі розташовані оператори мови (тіло програми)

операторі;

оператор_2;

onepaTopN;

end. //кінець програми

Тіло програми починається ключовим словом begin. Оператори в мові Pascal відокремлюються один від одного крапкою з комою. Тіло програми закінчується словом end.

Перевіряємо себе

1. У чому полягає сутність концепції візуального програмування в середовищі Lazarus?

2. Що називають об’єктом у середовищі Lazarus?

3. Наведіть приклад об’єкта середовища Lazarus та його властивостей.

4. Чи може користувач визначити нестандартні властивості об’єкта?

5. Що називають проектом у середовищі Lazarus?

6. Яким ключовим словом починається розділ опису?

7. Яким ключовим словом починається програмний код опрацювання даних?

8. Назвіть основні поняття об’єктно-орієнтоваиого програмування.

9. У чому полягає основна ідея об’єктно-орієнтованого програмування?

10. Поясніть сутність методу об’єктно-орієнтованого програмування.

11. Поясніть сутність класу в об’єктно-орієнтованому програмуванні.

12. У чому полягає сутність подійного програмування?

13. Яке розширення мають файли, які розробляє користувач?

14. Які основні файли входять до складу проекту?

15. Яку загальну структуру має програмний модуль?

16. Яку загальну структуру має розділ опису?

17. Назвіть основні компоненти розділу опису

18. Яку загальну структуру має консольна програма?

Виконуємо

1. Розмістіть на формі з назвою Нова форма об’єкти Label 1, Buttonl і Editl. Розмістіть їх так, як зображено на рис. 5.15. Зверніть увагу, що розміри об’єктів Buttonl і Editl змінені

2. Встановіть заголовок форми Початок. Розмістіть на формі об’єкти Buttonl, Button2 і Button3. Змініть місце їх розташування та розміри. Вилучіть із форми всі об’єкти.

На формі з іменем Домашнє завдання розмістіть об’єкти Labell, Label2 і Buttonl. Встановіть раціональні, на Ваш погляд. їх розміри. Самостійно визначте для них текст і назви.

Надайте формі ім’я Мій проект. Розмістіть на формі об’єкти Memol і Buttonl. Змініть розміри об’єктів так, як зображено на рис. 5.16, а для об’єкта Buttonl встановіть властивість натисни.

На формі з іменем Спільна розмістіть об’єкти PopupMenu, CheckBox і Memo. Експериментальним шляхом спробуйте визначити їх функціональне призначення.

Виберіть із палітри компонентів необхідні для створення форми, зображеної на рис. 5.17, компоненти.

5.6. Створення проекту в режимі візуального програмування середовища Lasarus

Графічний інтерфейс. Компоненти графічного інтерфейсу. Створення проекту.

Існують різні підходи до створення проектів у візуальному режимі середовища Lazarus.

Але загальний порядок їх розроблення однаковий.

1. Створюється графічний інтерфейс програми.

2. Розробляється програмний код мовою Free Pascal, за допомогою якого будуть функціонувати елементи інтерфейсу.

3. Компілюється, зберігається і виконується проект.

Для створення інтерфейсу використовується вікно форми, а для введения коду - вікно редактора тексту. За будь-якої зміни змісту форми автоматично змінюється програмний код у вікні редактора тексту.

Оскільки ми ще не знайомі зі синтаксисом мови програмування Free Pascal, методику створення проекту розглянемо на найпростішому прикладі.

Нехай на формі розташована кнопка із написом “Натисніть”. Після натискання цієї кнопки з’являється повідомлення “Молодець”.

Дотримуватимемося такої послідовності дій:

1. Після завантаження середовища Lazarus створимо новий проект. Для цього виконаємо команду Проект —> Новий проект... . Відкриється діалогове вікно Створити новий проект (рис. 5.18).

2. Вибираємо верхній рядок із назвою Програма і натискаємо кнопку Гаразд. На екрані будуть розташовані вікна форми і редактора тексту.

3. Зберігаємо створений проект. Для цього виконуємо команду Проект —* Зберегти проект як.... Відкриється вікно Зберегти проект project 1 (*.1рі), зображене на рис. 5.19.

4. Створюємо папку, в якій зберігатимуться файли проекту. Для цього в адресне поле цього вікна можна встановити бажане місце збереження папки (у нашому прикладі для цього пропонується папка lazarus, що зберігається у кореневому каталозі диска F:). Можна вибрати інше місце, але ми не будемо змінювати запропоновану папку і стандартними засобами ОС Windows, наприклад, за допомогою кнопки Створити папку, створимо тут папку з іменем Pro 01. У цій папці зберігатимуться файли нашого проекту (нагадаємо, що проект міститиме кілька файлів).

5. Після створення папки відкриваємо її (клацанням на її імені) і зберігаємо, для чого натискаємо кнопку Зберегти: зберігається файл Project 1, який містить відомості про проект. Одразу відкриється вікно для збереження програмного коду з назвою Зберегти unitl (*.pas), зображене на рис. 5.20. У цьому вікні також натискаємо кнопку Зберегти. Отже, проект збережено. Якщо тепер відкриємо папку РгоОІ, побачимо в ній перелік файлів, потрібних для подальшої роботи.

Зокрема, тут є файл із текстом програми unitl.pas, файл unitl.If пі, що містить відомості про форму Forml, файл про параметри налагодження системи програмування - projectl.lpr, файл projectl.lpi з параметрами конфігурації проекту. Далі після будь-яких змін у проекті необхідно зберегти їх за допомогою команди Проект—>3берегти.

6. Перейдемо до візуального програмування. На цей момент маємо лише один об’єкт — Forml. Надамо формі іншу властивість, а саме -назву Приклад_01. Для цього у вікні інспектора об’єктів знаходимо властивість Caption (Заголовок). За замовчуванням вона має значення Forml. Виділяємо рядок Caption, уводимо назву Приклад_01 і натискаємо клавішу Enter. Ця назва одразу з’явиться в заголовку форми. Аналогічно можна присвоїти нові значення властивостям Height (висота) і Width (ширина). Нагадаємо, що змінити розміри вікна форми можна і стандартними засобами роботи з вікнами ОС Windows. Змінити місце розташування форми на екрані молена за допомогою властивості Position (місце форми на екрані). Після вибору цієї властивості у правому стовпці властивості з’явиться кнопка трикутника. Натиснемо на неї, в результаті чого відкриється список можливих значень цієї властивості (рис. 5.21).

 

Якщо вибрати значення властивості ровсгеепСепІег, то форма буде розташована в центрі екрана.

 

7. Розмістимо на формі кнопку. Для цього на панелі компонентів двічі клацнемо компонент ТВиИоп. У результаті об’єкт ВиИопІ з’явиться на формі (рис. 5.22).

Кнопку можна перетягнути у будь-яке місце форми. Тепер у нас є два об’єкти: форма і кнопка.

У вікні інспектора об’єктів можна змінювати значення властивостей лише вибраного (активованого) об’єкта.

Змінити ширину і висоту об’єкта ВиИопІ можна як стандартними засобами Windows, так і редагуванням значень властивостей вікна в Інспекторі об’єктів.

8. Надамо об’єкту Buttonl властивість “Клацніть мишею”. Виділяємо об’єкт, у вікні інспектора вибираємо Caption, уводимо нове значення властивості і натискаємо клавішу Enter. Цей текст одразу з’явиться всередині кнопки (рис. 5.23).

 

9. Отже, ми бажаємо, щоб після клацання цієї кнопки замість фрази “Клацніть мишею” з’явилося слово “Гаразд”. Для цього у вікні інспектора об’єктів обираємо кнопку Buttonl і вибираємо подію onclick (опрацювання клацання миші) і двічі клацаємо поле праворуч від назви onclick.

У результаті у вікні редактора тексту з'явиться текст:

procedure TForml:Buttonl Click (Sender: Tobject); begin end;

Це фрагмент програмного коду (процедури) опрацювання події Click (клацання миші). Команди, що будуть розташовані між словами begin і end, виконуватимуться як результат події.

10. Установимо курсор у рядок між словами begin і end й уведемо Buttonl.Caption :=’Гаразд’;

Ця команда означає: присвоїти властивості Caption об’єкта Buttonl значення Гаразд. Збережемо створену програму за допомогою команди Проект —> Зберегти проект.

11. Виконуємо компіляцію і запускаємо програму на виконання.

 

Це можна зробити різними способами: за

допомогою команди Виконати —> Компілювати,

Виконати —* Виконати, кнопки Викопати на панелі інструментів або натиснувши клавішу F9.

У результаті виконаних дій у папці нашого проекту буде створено exe-файл, а у вікні Повідомлення буде виведено протокол створення проекту.

Якщо в програмі буде виявлено помилки, то про них висвітляться повідомлення також у цьому вікні. Після виконання програми форма набуде вигляду, як на рис. 5.24.

На цьому створення проекту завершується. Пам’ятаймо, що після будь-яких змін у проекті потрібно виконати команду Проект—^Зберегти проект.

Перевіряємо себе

1. За допомогою якої команди створюється проект?

2. Для чого створюється папка у процесі розроблення проекту?

3. Поясніть, як надати значення властивостям форми.

4. Як можна змінити місце розташування кнопки на формі?

 

5. Якими способами можна викопати компіляцію і запуск пюогоами?

6. Яку роль виконує форма в розробленні проекту?

7. Для чого призначене вікно редактора тексту?

8. Яка інформація виводиться у вікні повідомлення?

9. Назвіть основні файли, які зберігаються в папці проекту.

10. Як можна падати значення новим властивостям кнопки?

11. Як призначаються події для об’єктів, розташованих на формі?

12. Поясніть сутність команди Button2.Caption:=’BiTaio!’;.

Виконуємо

1. Розмістити на формі об’єкти Buttonl, Editl, Labell із властивостями, зображеними на рис. 5.25.

2. Для об’єктів, зображених на рис. 5.25, розробити код, за допомогою якого після натиснення кнопки Buttonl у полі Editl з’явиться текст, уведений у поле Labell.

Розмістити на формі об’єкти Buttonl, Button2 і Editl. Розробити проект, який реалізує таке завдання: після клацання кнопки Buttonl у текстовому полі з’являється слово Вітаю, а після клацання кнопки Button2 поле стає порожнім.

Вибрати необхідні компоненти і розробити проект, у результаті виконання якого об’єкти матимуть властивості, зображені на рис. 5.26.

Розмістити на формі об’єкти Buttonl і Editl. Надати цим об’єктам властивості, зображені на рис. 5.27.

Якщо натиснути на кнопку Змінити текст, у текстовому полі з’явиться текст, уведений користувачем у текстове поле. Розробити проект, що реалізує це завдання.

Доповнити форму, зображену на рис. 5.27, об’єктами Button2 і Edit2. Самостійно сформулювати нове завдання і розробити проект, що його реалізує.

5.7. Розроблення проекту з простим кодом

Проект із програмним кодом. Змінні та команди програмного коду. Взаємодія об’єктів

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

Розробимо проект для реалізації такого завдання. Друзі з Києва і Житомира домовилися про зустріч. Вони одночасно виїхали з міст на велосипедах і рухалися по шосе назустріч із різною швидкістю. Відстань між Києвом і Житомиром -140 км. Визначити, через скільки годин вони зустрінуться.

Будемо дотримуватися такої послідовності в роботі.

1. Створимо проект. Нагадаємо, що для цього слід виконати команду Проект—>Новий проект. Відкриється вікно Створити новий проект, у якому виділяємо верхній рядок Програми і натискаємо кнопку Гаразд. Зберігаємо проект за допомогою команди Проект—^Зберегти проект як....

2. Визначаємо місце збереження проекту. Обираємо, наприклад, кореневу папку диска F:. За допомогою кнопки Створити папку створюємо тут папку з іменем, наприклад, Proba Ol. Потім відкриваємо і зберігаємо цю папку. Цим будуть збережені відомості про проект у файлі project 1 і відкриється вікно Зберегти unitl(*.pas).

3. Натискаємо кнопку Зберегти. Нагадаємо, що після цього в папці Proba 01 будуть збережені основні файли проекту. Пам’ятаємо, що після будь-яких змін у проекті необхідно виконати команду Проект —» Зберегти.

4. Надаємо властивостям форми значень, поданих у табл. 5.2.

Властивості форми

Таблиця 5.2

Назва

властивості

Позначення властивості

Значення властивості

Заголовок

Caption

 

Зустріч друзів

Висота

Height

 

250

Ширина

Width

 

420

Шрифт

Font

Назва шрифту

Times New Roman

Стиль

Звичайний

Розмір

10

5. Для створення інтерфейсу обираємо чотири компоненти TLabel, два компоненти TEdit, один компонент TButton і розміщуємо їх на формі орієнтовно так, як показано на рис. 5.28.

6. Для об’єктів типу Label встановлюємо властивості, зображені на рис. 5.29, а колір об’єкта Label 1 - clAgua. Для об’єктів типу Edit для властивості Text уводимо пробіл, а їх колір - cl Yellow.

Для об’єкта Buttonl встановлюємо властивості, які містяться в табл. 5.3.

Таблиця 5.3

Властивості об’єкта Button

Назва

властивості

Позначення

Значення

Текст па кнопці

Caption

Обчислити

Шрифт

Font 1

Назва

Times New Roman

Стиль

Жирний

Розмір

12

На цьому розроблення інтерфейсу програми завершується. Розпочинаємо розроблення програмного коду.

Уведемо в поля Editl і Edit2 значення швидкості руху велосипедистів. Для цього виділяємо на формі об’єкт Editl, в інспекторі об’єктів вибираємо рядок Text, праворуч від нього уводимо, наприклад, число 16 і натискаємо клавішу Enter. Аналогічно в поле об’єкта Edit2 вводимо число 17.

7. Для об’єкта Buttonl створимо обробник подій onclick. Для цього виділяємо цей об’єкт, у вікні інспектора об’єктів вибираємо рядок onclick і двічі клацаємо лівою кнопкою миші праворуч від цієї назви.

8. На передньому плані має бути вікно редактора тексту, а курсор встановлено між словами begin і end.

Уводимо такий програмний код:

procedure TForm.ButtonlClick (Sender:TObject);

var

vl, v2: integer; t: real; begin

vl:=StrToInt (Editl.Text); v2:=StrToInt (Edit2.Text); t=140/(vl+v2);

ЬаЬе14.Сар1іоп:=’зустрінуться через - ’+FloatToStr(t); end;

Що означає кожний рядок уведеного програмного коду.

Рядок 1 - заголовок програми.

Рядок 2 - початок розділу оголошення змінних, які будуть використовуватися в програмі.

Рядок 3 - оголошуються змінні v{ і 1?2 цілого типу (integer). У змінній и1 зберігатиметься швидкість руху велосипедистів з Києва, а у змінній v2 - з Житомира.

Рядок 4 - оголошується змінна t - час, через який зустрінуться велосипедисти.

Рядок 5 - словом begin починається блок обчислення і виведення часу зустрічі.

Рядок 6 - командою в цьому рядку виконуються складні дії, з якими ознайомимося пізніше. Спрощено будемо вважати, що команда цього рядка присвоює число в полі Editl змінній vr Фактично за допомогою цієї команди властивість Text об’єкта Editl присвоюється змінній vr

Рядок 7 - властивість Text об’єкта Edit2 присвоюється змінній v2 (інакше кажучи, число з поля Edit2 присвоюється змінній і?2).

Рядок 8 - обчислюється значення часу зустрічі й присвоюється змінній t.

Рядок 9 - обчислене значення виводиться в поле Label4.

Рядок 10 — кінець блоку програми.

9. Виконаємо компіляцію. Для цього виконуємо команду Виконати—►Компілювати. У наведеному вище коді у восьмому рядку ми навмисне допустили синтаксичну помилку (восьмий рядок - у присвоюванні значення змінній відсутній символ двокрапка “:”), щоб звернути увагу на те, що за наявності синтаксичних помилок компіляція не може бути виконана. Тоді генерується повідомлення про помилку, подане на рис. 5.30.

У програмному коді рядок, у якому допущено помилку, виділено іншим кольором. Виправляємо помилку і ще раз компілюємо програму.

На цей раз компіляція завершується успішно, про що висвічується відповідне повідомлення.

 

 

10. Запускаємо програму на виконання за допомогою команди Виконати—^Виконати. Потім натискаємо на кнопку обчислити. Отримаємо результат, зображений на рис. 5.31.

Після останніх змін зберігаємо проект за допомогою команд Проект —► Зберегти проект. Закрити проект можна за допомогою команди Проект —> Закрити проект, а відкрити - за допомогою команди Проект —» Відкрити проект....

Перевіряємо себе

1. За допомогою якої властивості формі надається назва?

2. Для чого слугує властивість Height?

3. Для чого слугує компонент TEdit?

4. Для чого слугує компонент TLabel?

5. Як обирається назва шрифту об’єктів у формі?

6. Як реагує середовище Lazarus на синтаксичні помилки?

7. Пояснити сутність команди vl:=StrToint(Editl.Text);.

8. Пояснити сутність команди t:=140/(vl+v2).

Виконуємо

1. Визначте необхідні об’єкти для створення інтерфейсу проекту обчислення площі прямокутника.

2. Створіть проект для обчислення значення виразу: у = а + Ь.

Відомі катети прямокутного трикутника. Розробіть проект для обчислення його площі.

Сторінка тексту містить 28 рядків, у кожному - 70 символів. Розробіть проект обчислення обсягу пам’яті для збереження 50 сторінок тексту.

 

Розробіть проект для перетворення значення маси в кілограмах на пуди і фунти (1 кг дорівнює 1/ пуда; 1 кг дорівнює 2,5 фунта).

 

Проаналізуйте об’єкти, зображені на рис. 5.32. Сформулюйте умову задачі, яку можна реалізувати за допомогою цього інтерфейсу. Розробіть проект, що реалізує це завдання. ^Іг

 

Завдання. На формі розмістити компоненти Buttonl і Editl. Після натиснення на кнопку Buttonl у текстовому полі з’являється повідомлення: Вас вітає Lazarus.

1. Запустити на виконання середовище Lazarus. Створити у ньому проект. Створити й зберегти папку з іменем Robota 5.

2. Надати формі ім’я Форма ї.

3. Надати значення таким властивостям форми:

розміри форми: Height - 200, Width - 300;

колір форми (властивість Color) - виберіть самостійно.

4. Розмістити на формі об’єкт Buttonl. Змінити властивість Caption. Увести, наприклад. Клацніть. Інші властивості об’єкта вибрати самостійно.

5. Розмістити на формі компонент Editl. Самостійно визначити необхідні значення його властивостей і надати їх.

 

6. Перейти у вікно інспектора об’єктів і виділити рядок Buttonl. На вкладці Подія вибрати рядок onclick і двічі клацнути кнопкою миші праворуч від цієї назви. У редакторі тексту з’явиться заголовок для введення команди, що реагує на натиснення кнопки.

7. У редакторі тексту ввести команду Editl.Text:=’Bac вітає Lazarus’;. Зберегти і виконати проект.

8. Переконатися, що отриманий результат аналогічний представленому на рис. 5.33.

9. Закрити проект. Відкрити й виконати проект ще раз . Переконатися, що програма виконується правильно. Закрити проект.

Завдання. Відомі курси долара та євро, встановлені Національним банком України. Розробити програму для визначення суми грошей у гривнях після обміну 120 доларів і 80 євро.

 

1. Визначити назви і кількість компонентів, потрібних для створення інтерфейсу програми.

2. Створити проект і зберегти його. Надати ім’я формі й значення іншим її властивостям.

3. Розмістити на формі визначені компоненти і надати значення їх властивостям.

4. У Інспекторі об’єктів для об’єкта ВиНопІ вибрати подію ОпСІіск.

б. Увести необхідні команди в редактор тексту.

6. Виконати компіляцію програми.

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

8. Зберегти і закрити проект.

Словничок

Lazarus - візуальне середовище програмування, призначене для розроблення й виконання програм у текстовому та графічному режимах Алгоритмізація - процес розроблення алгоритму

Виконуваний код - програма, готова до виконання на комп’ютері з відповідним процесором і операційною системою Клас - сукупність змінних і методів, що описує множину об’єктів Компіляція програми - процес перетворення програми на машинний код Метод - програма, що описує поведінку об’єкта

Мова програмування - алгоритмічна мова, призначена для запису алгоритму і даних для виконання на комп’ютері Об’єктно-орієнтоване програмування - методологія програмування, що ґрунтується на поданні програми у вигляді сукупності об’єктів, кожний із яких є екземпляром певного класу Подійне програмування - Програмування, у якому порядок виконання програми залежить від певних дій користувача Форма - вікно середовища Lazarus створення інтерфейсу програми

Категорія: Інформатика

Автор: admin от 21-11-2016, 09:31, Переглядів: 5323