- •Основи об’єктно-орієнтованого програмування
- •Факультету комп’ютерних наук та інформаційних технологій
- •Луцьк 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
4.1.4. Робота з додатком
Запустите створене застосування. Занесіть числові значення в елементи матриці A і переконайтеся в тому, що додаток функціонує відповідно до завдання.
4.2. Виконання індивідуального завдання
За вказівкою викладача виберіть своє індивідуальне завдання. Створіть додаток і протестуйте його роботу.
Індивідуальні завдання
1. Задана цілочисельна матриця A розміром NXM. Отримати масив B, привласнивши його к-му елемента значення 0, якщо всі елементи к-го стовпця матриці нульові, і значення 1 інакше (k=1,2.,M).
2. Задана цілочисельна матриця A розміром NXM. Отримати масив B, привласнивши його к-му елемента значення 1, якщо елементи k–й рядка матриці впорядковані по убуванню, і значення 0 інакше(k=1,2.,N).
3. Задана цілочисельна матриця A розміром NXM. Отримати масив B, привласнивши його к-му елемента значення 1, якщо к-я рядок матриці симетричний, і значення 0 інакше(k=1,2.,N)..
4. Задана цілочисельна матриця розміром NXM. Визначити k–кількість “особливих” елементів матриці, вважаючи елемент “особливим”, якщо він більше суми решти елементів свого стовпця.
5. Задана цілочисельна матриця розміром NXM. Визначити k–кількість “особливих” елементів матриці, вважаючи елемент “особливим”, якщо в його рядку зліва від нього знаходяться елементи, менші його, а справа – великі.
6. Задана символьна матриця розміром NXM. Визначити к-кількість різних елементів матриці (тобто елементи, що повторюються, рахувати один раз).
7. Дана речова матриця розміром NXM. Упорядкувати її рядки по зростанню їх перших елементів.
8. Дана речова матриця розміром NXM. Упорядкувати її рядки по зростанню суми їх елементів.
9. Дана речова матриця розміром NXM. Упорядкувати її рядки по зростанню їх найбільших елементів.
10. Визначити чи є задана квадратна матриця n-го порядку симетричною щодо побічної діагоналі.
11. Для заданої цілої матриці розміром NXM вивести на екран все її сідлові крапки. Елемент матриці називається сідловою крапкою, якщо він є найменшим в своєму рядку і одночасно найбільшим в своєму стовпці або, навпаки, є найбільшим в своєму рядку і найменшим в своєму стовпці.
12. У матриці n-го порядку переставити рядки так, щоб на головній діагоналі матриці були розташовані елементи, найбільші по абсолютній величині.
Лабораторна робота №5 програмування Алгоритмів з використанням рядків
Мета лабораторної роботи: освоїти додаток компонентів ListBox і Сombobox і створити додаток, в якому використовуються рядки.
5.1. Приклад створення додатка
Завдання: створити Windows-додаток для підрахунку кількості слів в довільному рядку. Слова в рядку розділяються будь-якою кількістю пропусків. Введення рядка закінчувати натисненням клавіші Enter. Робота додатка повинна завершуватися натисненням кнопки Close.
Один з можливих варіантів панелі інтерфейсу створюваного додатка показаний на рис.5.1.
5.1.1. Розміщення компонентів на Формі
При роботі з рядками введення і виведення інформації на екран зручно організовувати за допомогою компонентів ListBox і ComboBox.
Рис. 5.1
Компонентом ListBox є список, елементи якого вибираються за допомогою клавіатури або “миші”. Список елементів задається властивістю Items, методи Add, Delete і Insert якого використовуються для додавання, видалення і вставки рядків, відповідно. Для визначення номера виділеного елемента використовується властивість ItemIndex.
Компонент ComboBox є комбінацією списку ListBox і редактора Еdit, тому практично всі властивості запозичені у цих компонентів. Для роботи з вікном редагування використовується властивість Text як в Edit, а для роботи із списком вибору використовується властивість Items як в ListBox. Cуществует 5 модифікацій компонента, визначуваних його властивістю Style. У модифікації csSimple список завжди розкритий, в останніх він розкривається після натиснення кнопки праворуч від редактора.
Компоненти ListBox і ComboBox знаходяться на сторінці Standard Палітри Компонентів.
Компонент BitBtn розташований на сторінці Additional Палітри Компонентів і є різновидом стандартної кнопки Button. Його відмітна особливість – наявність растрового зображення на поверхні кнопки, яке визначається властивістю Glyph. Крім того, є властивість Kind, яка задає один з 11 стандартних різновидів кнопок. Натиснення будь-який з них, окрім bkCustom і bkHelp закриває модальне вікно. Кнопка bkClose закриває головне вікно і завершує роботу програми.
