
- •Розгляд алгоритмів сортування
- •Алгоритм пошуку заданого значення в масиві
- •Алгоритм видачі випадкових значень різних типів
- •Аналіз користувацького інтерфейсу
- •Висновок до першого розділу
- •2.1. Блок-схема алгоритму сортування
- •2.2. Блок-схема алгоритму пошуку заданого значення в масиві
- •2.3 Висновок до другого розділу
- •3.1. Реалізація основних функцій програмного продукту
- •3.2. Реалізація користувацького інтерфейсу
- •3.3. Тестування програмного продукту сортування безтипового масиву
- •3.4. Висновок до третього розділу
- •Список інформаційних джерел
3.1. Реалізація основних функцій програмного продукту
В цій роботі потрібно було користуватися принципами ООП, тобто класова реалізація програми сортування безтипового масиву методом злиття.
Перший клас, який ми створили називається Sort. Він сортує масив і надає можливість знаходити в ньому задане значення. Методи, реалізовані в ньому:
Перевантажений метод Sort, який на вхід буде отримувати масив заданого типу (в залежності від методу), переводитиме його в масив вказівників і передаватиме в сортування злиттям.
Перевантажений метод Find, для пошуку заданого значення в масиві. На вхід він отримує масив, шуканий елемент і кількість елементів у масиві.
Методи M_Sort, Marge і MargeSort, які використовуються для сортування масиву вказівників, приводячи елементи всередині до типу, який був визначений раніше.
Метод FindEl – метод пошуку заданого значення в масиві вказівників.
Також був створений клас MyRandom. Він генерує випадкове значення певного типу. В даному класі є один перевантажений метод MyRandomRange, який в залежності від типу вхідного значення генерує випадкове значення цього типу.
Малюнок 3.1 Об’єктна модель проекту
3.2. Реалізація користувацького інтерфейсу
Користувацький інтерфейс реалізований у вигляді головної форми Sort і допоміжної Find.
Малюнок 3.2 Головне вікно програми
На головній формі наявні: поле, що використовується для вводу кількості елементів, два компоненти ChekBox-и (“Transfer in width” і “ Not transfer in width”) - для вибору подання масиву на формі, кнопка (“Set N”) - для графічної побудови масиву, кнопки (“Random integer values”, “ Random string values” і “ Random double values”) – для випадкової генерації значень вказаного типу в масиві, кнопка (“Find”) - для виклику додаткової форми пошуку заданого елемента в масиві, кнопка (“Sort”) - для сортування масиву за неспаданням, кнопка (“Cleare”) – для очищення масиву від елементів, кнопка (“Save to file”) – для збереження масиву у файл “Output.txt”, який створюється в тій самій папці, що й застосунок, компонент StringGrid – для наочності операцій з масивом.
Малюнок 3.3 Допоміжне вікно програми
Допоміжне вікно програми з’являється при натисненні кнопки “Find” на головному вікні. Воно виконує функцію пошуку заданого значення в масиві.
На формі наявні поле для введення шуканого елементу масиву, кнопка (“Find value in array”), при натисненні на яку відбувається пошук заданого елемента. Якщо елемент є в масиві, під полем для вводу шуканого елемента, виведеться рядок і стовпчик знайденого елемента і на головній формі колір комірки з цим елементом зміниться на зелений. А якщо елемент не знайдено, то під полем для вводу інформації виведеться “ This value is missing.”, що означає – заданий елемент відсутній у масиві. Також на формі є кнопка (“Cleare”) яка очищає форми від попередньо проведеного пошуку.
3.3. Тестування програмного продукту сортування безтипового масиву
Коли користувач введе кількість елементів у масиві, обере спосіб подання (в один рядок чи з перенесенням рядка по довжині форми) і натисне на кнопку “Set N” на формі з’явиться компонент StringGrid з заданою кількістю комірок.
Малюнок 3.4 Програма після графічної побудови масиву
Далі користувач має ввести дані в масив “вручну”, або ж згенерувати випадкові значення.
Після цього він може робити зі своїм масивом що завгодно: змінювати, сортувати його, шукати в ньому елементи, зберігати у файл, очищати, збільшувати або зменшувати його довжину.