- •Основи об’єктно-орієнтованого програмування
- •Факультету комп’ютерних наук та інформаційних технологій
- •Луцьк 2009
- •Факультету комп’ютерних наук та інформаційних технологій 1 Лабораторна робота №1 5 Програмування лінійних алгоритмів 5
- •2.1. Приклад створення додатка 14
- •9.3. Виконання індивідуального завдання 61
- •Програмування лінійних алгоритмів
- •1.1. Візуальне середовище delphi
- •1.2. Приклад створення додатка
- •1.2.1. Збереження проекта
- •1.2.2. Настройка вікон
- •1.2.3. Зміна заголовка Форми
- •1.2.4. Розміщення компонентів на Формі
- •1.2.5. Написання процедури обробки події створення Форми (FormCreate)
- •1.2.6. Написання процедури обробки події натиснення кнопки Button1 (Button1Click)
- •1.2.7. Текст модуля UnLinAlg
- •X,y,z,a,b,c,u : extended; // оголошення локальних змінних
- •1.2.8. Робота з додатком
- •1.3. Виконання індивідуального завдання
- •Індивідуальні завдання
- •Лабораторна робота №2 Програмування алгоритмів, що розгалужуються
- •2.1. Приклад створення додатка
- •2.1.1. Розміщення компонентів на Формі
- •2.1.2. Створення процедур обробки подій FormСreate і Button1Сlick
- •2.1.3. Текст модуля UnRazvAlg
- •2.1.4. Робота з додатком
- •2.2. Виконання індивідуального завдання
- •Індивідуальні завдання
- •Лабораторна робота №3 Програмування циклічних алгоритмів
- •3.1. Відладка модулів проекта
- •3.1.1. Відладка синтаксичних помилок
- •3.1.2. Відладка логічних помилок
- •3.2. Приклад створення додатка
- •3.2.1. Розміщення компонентів на Формі
- •3.2.2. Текст модуля UnCiklAlg
- •3.3. Виконання індивідуального завдання
- •Індивідуальні завдання
- •Лабораторна робота №4 Програмування алгоритмів з використанням масивів
- •4.1. Приклад створення додатка
- •4.1.1. Розміщення компонентів на Формі
- •4.1.2. Створення процедур обробки подій SpinEdit1Change і SpinEdit2Change
- •4.1.3. Текст модуля UnMas
- •4.1.4. Робота з додатком
- •4.2. Виконання індивідуального завдання
- •Індивідуальні завдання
- •Лабораторна робота №5 програмування Алгоритмів з використанням рядків
- •5.1. Приклад створення додатка
- •5.1.1. Розміщення компонентів на Формі
- •5.1.2. Створення процедур обробки подій
- •5.1.3. Текст модуля UnStr
- •Індивідуальні завдання
- •Лабораторна робота №6 Програмування алгоритмів з використанням записів
- •6.1. Приклад створення застосування
- •6.1.1. Розміщення компонентів на Формі
- •6.1.2. Створення процедур обробки подій FormCreate і Button1Click
- •6.1.3. Текст модуля UnZap
- •6.2. Виконання індивідуального завдання
- •Індивідуальні завдання
- •Лабораторна робота №7 Програмування алгоритмів з використанням файлів
- •7.1. Приклад створення застосування
- •7.1.1. Розміщення компонентів на Формі
- •7.1.2. Створення процедур обробки подій
- •7.1.3. Текст модуля UnFile
- •7.1.4. Робота із застосуванням
- •7.2. Індивідуальні завдання
- •Лабораторна робота №8 Програмування алгоритмів з використанням функцій і процедур. Створення модулів
- •8.1. Приклад створення додатка
- •8.1.1. Розміщення компонентів на Формі
- •8.1.2. Створення модуля і підключення його до проекта
- •8.1.3. Текст модуля UnFuncProc
- •8.1.4. Текст модуля UnModul
- •8.2. Виконання індивідуального завдання
- •Індивідуальні завдання
- •Лабораторна робота №9 Програмування алгоритмів з використанням динамічних структур даних
- •Приклади створення застосувань
- •9.1. Використання динамічних масивів
- •9.1.1. Розміщення компонентів на Формі
- •9.1.2. Створення процедур обробки подій FormCreate і Button1Click
- •9.1.3. Текст модуля UnDinMas
- •9.2. Використання динамічних списків
- •9.2.1. Розміщення компонентів на Формі
- •9.2.2. Створення процедур обробки подій FormCreate і Button1Click
- •9.2.3. Текст модуля UnStek
- •9.3. Виконання індивідуального завдання
- •Навчально-методичне видання
- •43018, М. Луцьк, вул. Львівська, 75
6.2. Виконання індивідуального завдання
За вказівкою викладача виберіть своє індивідуальне завдання. Створіть застосування і протестуйте його роботу.
Індивідуальні завдання
1. Поля шахівниці характеризуються записом
Type
Pole=record
Ver: 1..8; {вертикальні координати}
Hor: (а,b,c,d,e,f,g,h); {горизонтальні координати}
end;
Вивести шахівницю, помітивши хрестиками всі поля, які «б'є» ферзь, що стоїть на полі з координатами Veri і Hori, і нулями решта всіх полів.
2. Поля шахівниці характеризуються записом (див. завдання 1)
Var Figura:Pole;
Вивести повідомлення чи може кінь за один хід перейти з поля Figurai на полі Figuraj.
3. Type
Karta=record
m: (piki,trefi,bubni,chervi); {масть}
d:(shest,sem,vosem,devjat,desjat,valet,dama,korol,tuz); {значення}
end;
Var k1,k2:Karta;
Вивести повідомлення чи «б'є» карта k1, карту k2, з урахуванням того, що масть mi є козирем.
4. У магазині формується список осіб, що записалися на покупку товару підвищеного попиту. Кожен запис цього списку містить: порядковий номер, Ф.І.О., домашню адресу покупця і дату постановки на облік. Видалити із списку всі повторні записи, перевіряючи Ф.І.О. і домашня адреса.
Лабораторна робота №7 Програмування алгоритмів з використанням файлів
Мета лабораторної роботи: освоїти застосування компонентів OpenDialog і SaveDialog і створити застосування, в якому використовуються файли.
7.1. Приклад створення застосування
Завдання: створити Windows-додаток для запису у файл і читання з файлу відомості про успішність учнів в кількості 10 чоловік. Кожен запис файлу повинен містити прізвище, ініціали, а також оцінки по фізиці, математиці і твору. Вивести список учнів, відсортований в алфавітному порядку і записати цю інформацію в текстовій файл.
Один з можливих варіантів панелі інтерфейсу створюваного застосування показаний на рис.7.1.
7.1.1. Розміщення компонентів на Формі
При роботі з файлами читання і запис інформації зручно організовувати за допомогою компонентів OpenDialog і SaveDialog.
Компоненти
OpenDialog та SaveDialog знаходяться на сторінці
Dialogs. Всі компоненти цієї сторінки є
невізуальними, тобто не видимі в момент
виконання додатка. Тому їх можна
розмістити в будь-якому зручному місці
Форми. Обидва компоненти, які розглядаються,
мають ідентичні властивості та
відрізняються тільки зовнішнім виглядом.
BitBtn
Рис. 7.1
Для установки
компонентів OpenDialog і SaveDialog на Форму
необхідно на сторінці Dialogs Палітри
Компонентів клацнути “мишею” відповідно
до піктограми
або
і розмістити її в будь-якому вільному
місці Форми. При виконанні застосування
у момент виклику компонента з'являється
діалогове вікно, за допомогою якого
користувач вибирає ім'я файлу і маршрут
до нього. У разі успішного завершення
діалога ім'я вибраного файлу і маршрут
пошуку міститься у властивості FileName.
Користувач
має можливість набудувати параметри
вікна діалога на свій розсуд. Зокрема,
змінити заголовок вікна можна за
допомогою властивості Title. У властивості
DefaultExt можна вказати розширення файлу,
якщо воно не задане користувачем.
Властивість Filter використовується для
пошуку (фільтрації) файлів, що відображаються
у вікні. Установка фільтру проводиться
таким чином. Виділивши відповідний
компонент, необхідно двічі клацнути по
правій (білою) частині властивості
Filter Інспектора Об'єктів. У вікні редактора
фильтра-Filter Editor, що з'явилося, необхідно
в колонці Filter Name набрати текст, що
характеризує відповідний фільтр, а в
колонці Filter–маску. Для компонента
OpenDialog1 встановимо значення масок як
показано на рис. 7.2.
Ріс.7.2
Маска *.dat означає що, будуть видні файли даних з будь-яким ім'ям і з розширенням dat, а маска *.* - що будуть видні всі файли (з будь-яким ім'ям і з будь-яким розширенням).
Для того, щоб файл автоматично записувався з розширенням dat у властивості DefaultExt запишемо необхідне розширення - dat.
Аналогічним чином набудуємо компонент SaveDialog1 для текстового файлу (розширення txt).
