- •Основи об’єктно-орієнтованого програмування
- •Факультету комп’ютерних наук та інформаційних технологій
- •Луцьк 2009
- •Факультету комп’ютерних наук та інформаційних технологій 1 Лабораторна робота №1 5 Програмування лінійних алгоритмів 5
- •2.1. Приклад створення додатка 14
- •9.3. Виконання індивідуального завдання 61
- •Програмування лінійних алгоритмів
- •1.1. Візуальне середовище delphi
- •1.2.1. Збереження проекта
- •1.2.2. Настройка вікон
- •1.2.3. Зміна заголовка Форми
- •1.2.4. Розміщення компонентів на Формі
- •1.2. Приклад створення додатка
- •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
3.3. Виконання індивідуального завдання
За вказівкою викладача виберіть своє індивідуальне завдання. Створіть додаток і протестуйте його роботу.
Індивідуальні завдання
У завданнях з №1
по №15 необхідно вивести на екран таблицю
значень функції Y(x) і її розкладання в
ряд S(x) для значень x від
до з кроком
.
Близькість значень S(x) і Y(x) у всьому
діапазоні значень x указує на правильність
обчислення S(x) і Y(x).
№ |
|
|
S(x) |
n |
Y(x) |
1 |
0.1 |
1 |
|
16 |
|
2 |
0.1 |
1 |
|
10 |
|
3 |
0.1 |
1 |
|
12 |
|
4 |
0.1 |
1 |
|
8 |
|
5 |
0.1 |
1 |
|
14 |
|
6 |
0.1
|
1 |
|
8 |
|
7 |
0.1 |
1 |
|
12 |
|
8 |
0.1 |
1 |
|
10 |
|
9 |
0.1 |
1 |
|
14 |
|
10 |
0.1 |
0.5 |
|
15 |
|
11 |
0.1 |
0.8 |
|
10 |
|
12 |
0.1 |
1 |
|
8 |
|
Лабораторна робота №4 Програмування алгоритмів з використанням масивів
Мета лабораторної роботи: освоїти застосування компонента StringGrid і створити додаток, в якому використовуються масиви.
4.1. Приклад створення додатка
Завдання: створити Windows-додаток для обчислення вектора x={x1,x2.,xm}, рівного p-й рядку матриці A={aij}(xj=apj, j=1,2.,m) і вектора y={y1,y2.,yn}, рівного q-му стовпцю матриці A={aij}(yi=aiq, i=1,2.,n) (n6,m8). У панелі інтерфейсу передбачити можливість управління розмірністю масивів.
Один з можливих варіантів панелі інтерфейсу створюваного застосування показаний на рис.4.1.
4.1.1. Розміщення компонентів на Формі
При роботі з масивами введення і виведення інформації на екран зручно організовувати за допомогою компонента StringGrid.
Рис. 4.1
Компонент StringGrid використовується для відображення інформації у вигляді таблиці. Таблиця містить дві зони – фіксовану і робочу. Фіксована зона служить для виведення найменувань рядків і стовпців робочої зони і управління їх розмірами за допомогою “миші”. Фіксована зона виділена іншим кольором і в неї заборонено введення інформації з клавіатури. Кількість рядків і стовпців фіксованої зони встановлюється у властивостях FixedRows і FixedCols, відповідно.
Робоча зона містить RowCount рядків і ColCount стовпців інформації, яку можна змінювати як програмно, так і за допомогою “миші” або клавіатури.
Доступ до інформації в програмі здійснюється за допомогою властивості Cells[ACol, ARow: integer]: string, де ACol-номер стовпця, а ARow – номер рядка таблиці, причому нумерація починається з нуля.
Піктограма
компонента StringGrid знаходиться на сторінці
Additional Палітри Компонентів. Оскільки в
нашому завданні для всіх компонентів
StringGrid фіксована зона не використовується,
в Інспекторові Об'єктів значення
властивостей FixedCols і FixedRows встановите
рівними 0. Відповідно до завдання
встановите граничні значення кількості
рядків n і стовпців m для компонента
StringGrid1: ColCount=8, а RowCount=6 (вісім стовпців і
шість рядків). Для компонента StringGrid2
ColCount=1, RowCount=8, а для компонента StringGrid3
ColCount=1, RowCount=6.
За умовчанням в компонент StringGrid заборонено введення інформації з клавіатури, тому для компонента StringGrid1 необхідно в Інспекторові Об'єктів двічі клацнути “мишею” на символі + властивості +Options і в списку опцій, що відкрився, встановити значення goEditing в True.
Для зручності роботи з компонентами SpinEdit встановите для компонента SpinEdit1 значення властивостей: MinValue=1, MaxValue=6, а для компонента SpinEdit2: MinValue=1, MaxValue=8.
