Курсовая работа: Програма візуальної демонстрації пошуку елементів у масиві

Вступ

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

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

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

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



1 Аналітичний розділ

На сьогодні існує багато навчальних програм, які за допомогою комп'ютерних засобів, допомагають краще зрозуміти різні фізичні чи математичні процеси. Більшість програм такого характеру, реалізують свою мету за допомогою кольорових зображень, анімації, ЗD – графіки. Але не зважаючи які засоби використовуються, дані програми повинні нести навчальний характер і повинні покращити розуміння того чи іншого процесу.

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

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

Для створення даної програми обрано середовище програмування Dеlрhі 7 із використанням стандартних та нестандартних бібліотек та компонентів, яке дозволяє реалізувати усі поставлені задачі до даної програми.

Delphi – це середовище швидкої розробки, у якій як мова програмування використовується мова Delphi. Мова Delphi – строго типізована об’єктно-орієнтованна мова, в основі якої лежить добре знайомий програмістам Object Pascal. А автоматизація програмування досягається завдяки можливості переносити компонент на форму з палітри компонентів і змінювати його властивості, не вносячи вручну змін до програмного коду.


2. Побудова інформаційно-математичної моделі задачі

 

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

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

На головній формі користувач зможе: обрати кількість рядків чи стовбців; створити масив зможе вручну – вводити елементи, а також зможе автоматично згенерувати.

Користувач зможе вибрати на свій розсуд буквене або цифрове заповнення масиву елементами. У цифровому масиві цифри можуть бути як додатні та і від’ємні елементи.

Також користувач може зберегти результат пошуку елементів, і може завантажити уже збереженні дані про минулий пошук.

До недоліків можна віднести те, що більше трьох елементів для пошуку вводити неможна.

Пошук здійснюється так: спочатку вводимо потрібний на елемент, якщо ви не ввели «*», або «?», то відбувається пошук простий процедурою Search, якщо ж ви ввели елемент з»?», то відбувається пошук процедурою SearchV, якщо введено елемент з «*», то пошук здійснюється процедурою SearchZ.

 

3. Алгоритм задачі

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

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

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

Блок-схема – це зображення алгоритму при допомозі геометричних фігур (блоків), кожна з яких виконує певну дію.

Існують різні алгоритми, які відображають такі обчислювальні процеси:

1)  Лінійний – операції виконуються послідовно, по черзі їх запису;

2)  Розгалужений – в цьому разі існує умова залежно від виконання якої є кілька напрямків обчислень. Якщо напрямків два то це простий розгалужений алгоритм, а якщо більше – складний. Будь який вибраний напрямок завершує обчислювальний процес.

3)  Циклічний – процес з одним або більше блоками, що повторюються.

 

4. Визначення структури даних

При написанні коду програми необхідно було використовувати безліч змінних різних типів даних: масиви, файлові змінні, записи, а також звичайні змінні.

Таблиця 1. Типи змінних та їх призначення.

Тип Призначення
Integer Цілочисельний тип діапазоном від – до
File of Використовується в типізованих файлах
Boolean Логічний тип, який має два значення: true або false
Word Цілочисельний тип діапазоном від 0 до 65838
String Рядок символів діапазоном від 1 до 255 символів
Byte Цілочисельний тип діапазоном від 0 до 255
Record Запис. Структорований тип даних
Array Масив. Скінчений набір елементів одного типу

 

Таблиця 2. Змінні та їх призначення

Змінні Тип Призначення
K1, K2, S String формує рядки
B Boolean індифікатор
F TextFile запис у файл
С, R, P Integer шукає елементи масиву
T, L Integer ознака редагування

 

5. Розробка інтерфейсу програми з користувачем

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

З появою нових різноманітних програмних виробів вдосконалюється інтерфейс роботи користувача. Інтерфейс – це механізм який допомагає пристрою або програмі взаємодіяти з користувачем.

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

Інтерфейс даної програми складається з загальної форми (рис. 4) на якій знаходяться компоненти:

Button1 – кнопка за допомогою якої можливо зайти в програму.

Button2 – кнопка за допомогою якої можливо переглянути інформацію про програму.

Button3 – кнопка за допомогою якої можливо вийти з програми.

Label1, label2 – надпис.


Рисунок 4 – Форма SerPak після встановлення компонентів

Рисунок 5 – Форма SerPak після встановлення властивостей компонентів

На формі SerPok розміщуються компоненти які зображені на рисунку 6:

Label1, label2 – надпис

StringGrid1 – таблиця у якій відображається масив.

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

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

Button1 – кнопка за допомогою якої виконується пошук.

Button2 – кнопка за допомогою якої виконується збереження роботи.

Button3 – кнопка за допомогою якої виконується загрузка даних.

Button4 – кнопка за допомогою якої можливо згенерувати масив.

RadioButton1 – перемикач заповнення масиву автоматично.

RadioButton2 – перемикач заповнення масиву в ручну.

RadioButton3 – перемикач заповнення масиву цифрами.

RadioButton4 – перемикач заповнення масиву буквами.

Edit1 – поле введення. Сюди вводяться елемент який потрібно знайти.

SpinEdit1 – задання кількість стовбців.

SpinEdit2 – задання кількість рядків.

Рисунок 6 – Форма SerPоk після встановлення компонентів


Рисунок 7 – Форма SerPоk після встановлення властивостей компонентів

На формі SeRa розміщуються компоненти які зображені на рисунку 8:

Label1. Label6 – надпис.

Button1 – кнопка за допомогою якої можливо вийти з програми.

 

Рисунок 8 – Форма SeRa після встановлення компонентів


Рисунок 9 – Форма SeRa після встановлення властивостей компонентів

 

6. Складання коду програми

 

Код програми складається за допомогою конкретної мови програмування. Так як проект написаний у візуальному середовищі Delphi 7.0, то мова яка використовується для написання програми – це Object Pascal.

Нижче буде проведено опис і характеристика основних процедур

1. Процедура ТSerPF. FillBorders виконує функцію кнопки Refresh тобто генерує елементи в масиві.

Procedure TSerPF. FillBorders;

Var C, R: Integer;

Begin

RefreshK;

SG. Cells [0,0]:='A [K, N]';

For C:=1 To KC. Value do

Begin

SG. Cells [C, 0]:='A [1,'+IntToStr(C)+']';

End;

For R:=1 To KR. Value do

Begin

SG. Cells [0, R]:='A ['+IntToStr(R)+', 1]';

End;

End;

2. Процедура TSerPF. FillData заповнює масив елементами – цифрами, які розташовуються безладно у відповідних комірках.

Procedure TSerPF. FillData;

Var C, R: Integer;

begin

Randomize;

For C:=1 To KC. Value do

Begin

For R:=1 To KR. Value do

Begin

SG. Cells [C, R]:=IntToStr (Random(1000) – 500);

End;

End;

End;

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

Procedure TSerPF. FillData2;

Var C, R: Integer; S: String;

begin

S:='АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ';

Randomize;

For C:=1 To KC. Value do

Begin

For R:=1 To KR. Value do

Begin

SG. Cells [C, R]:=S [Random(33)];

End;

End;

End;

4. Процедура TSerPF. Search виконує пошук елемента у масиві при його знаходженні виводиться повідомлення: 'Запись найдена'

Procedure TSerPF. Search;

Var C, R: Integer;

MR: TGridRect;

Begin

For C:=L To KC. Value do

Begin

For R:=T To KR. Value do

Begin

If SG. Cells [C, R]=TFS. Text then

Begin

If C=KC. Value then

Begin

L:=1;

T:=R+1;

End

else

Begin

L:=C+1;

T:=R;

End;

If (R=KR. Value) and (C=KC. Value) then

Begin

T:=1;

L:=1;

End;

MR. Left:=C;

MR. Top:=R;

MR. Right:=C;

MR. Bottom:=R;

SG. Selection:=MR;

ShowMessage ('Запись найдена');

Caption:='Top'+Inttostr(T)+'; Left'+inttostr(L)+'; C'+inttostr(C)+'; R'+inttostr(R);

break;

End;

End;

End;

End;

5. Процедура TSerPF працює таким чином, якщо тексту немає, то виконується умова, якщо немає ні '?', ні '*', то виконується процедура Search тобто простий або звичайний пошук, Якщо ж виявляється '?', то відбувається пошук з процедури SearchV, відповідно, якщо ж '*', то SearchZ, якщо '?' і '*' – SearchVZ

інакше повідомлення ShowMessage ('Введите текст котрий следует искать!');

procedure TSerPF. Button1Click (Sender: TObject);

begin

If TFS. Text<>'' then

Begin

If (Pos ('?', TFS. Text)<1) and (Pos ('*', TFS. Text)<1) then Search;

If (Pos ('?', TFS. Text)>0) then SearchV;

If (Pos ('*', TFS. Text)>0) then SearchZ;

If (Pos ('?', TFS. Text)>0) and (Pos ('*', TFS. Text)>0) then SearchVZ;

end

else

ShowMessage ('Введите текст котрый следует искать!');

end;

Лістинг програми приведений в додатку А.

 

7. Реалізація проекту у візуальному середовищі

 

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

У Delphi програмні модулі позначаються словом «Unit», кожен з цих програмних модулів містить текст програми. Усі процедури та функції головної форми описуються у модулі Unit1. Компоненти вікна форми тестової програми описуються у Unit2. Вікно форми про програму належить до Unit3. Також на формі міститься кнопка «Вихід», тобто виходу з програми.

Для вдосконалення роботи даного проекту можна внести свої змінні у функції чи процедури програми, за допомогою добавлення нових чи вдосконалення існуючих команд. У головній формі «Form» відображено інтерфейс користувача, тобто набір кнопок, полів, картинок. Кожен об’єкт має свій програмний код, який відображено в Unit. Тому можна зробити висновок, що у Unit здійснюється реалізація програми, а у Form здійснюється візуальне її оформлення.

Реалізація проекту у візуальному середовищі передбачає наступні стани:

1.  Запуск на виконання Delphi 7 для створення нового проекту (Пуск – Програми – Borland Delphi 7 – Delphi 7)

2.  Створення 3-ох форм: Form1, Form2, Form3 (Form1 створюється автоматично при завантаженні Delphi, для створення іншої форми потрібно на панелі інструментів обрати New Form, або в меню Form – New – Form).

3.  Встановлення властивостей для Form1, Form2 Form3 згідно до розділу 5 Розробка інтерфейсу роботи з користувачем.

4.  Встановлення компонентів та їх властивості для Form1, Form2, Form3.

5.  Введення програмного коду, який наведений у Додатку А.

6.  Зберегти проект (File – Save All, або за допомогою комбінації клавіш Shift+Ctrl+S), вказавши ім’я файлу проекту, для решти файлів імена при збереженні змінювати не потрібно.

7.  Після виконання усіх попередніх пунктів дану програму потрібно відкомпілювати (F9, або за допомогою меню Run – Run).

8.  Після виконання усіх попередніх пунктів дану програму потрібно відкомпілювати (F9, або за допомогою меню Run – Run).

У проекті присутні велика кількість компонентів, для їх функціонування необхідно змінити певні властивості:

Таблиця 3 – Властивості компонентів Форми SerPak

Назва копонентів Властивості назва
Button1 Caption ‘Працювати’ Працювати
Height 30
Width 110
name work
Button2 Caption Про програму
Height 30
name about
Width 130
Button3 Caption Вийти
Width 120
name exit
Height 30
Lable1 Caption Привіт
transparent true
Lable2 Caption Вас вітає програма
Aligment taCenter
transparent true

Параметри шрифту для візуальних комронентів форми SerPak, таких як:

Lable1, Button потрібно встановити наступним чином, назва шрифту =MS Sane Serif, розмір = 14. для решти компонентів цю властивість змінювати не потрібно.

Таблиця 4. Властивості компонентів форми SerPok

Назва копонентів

Властивості що

необхідно змінити

Значення
Button1 Height 30
Width 110
name OK
Lable1… Lable6 transparent true
Image1 Width 561
Height 513

 

Параметри шрифту для візуальних комронентів форми SerPak, таких як:

Lable, Button, RadioButton, GroupBox потрібно встановити наступним чином, назва шрифту =MS Sane Serif, розмір = 14. для решти компонентів цю властивість змінювати не потрібно. Також для компонентів SpinEdit, Button, в властивості Hint коротко описати функціональне призначення даного елемента, виходячи з його назви


Таблиця 5. Властивості компонентів форми SerPok (початок)

Назва компонента Властивості Значення
Label1 Caption – відповідно до рис. 13
Transparent true
Label2 Caption – відповідно до рис. 13
Transparent true
GroupBox1 Caption заповнення
RadioButton1 Caption авто
RadioButton2 Caption ручне
GroupBox2 Caption цифри / текст
RadioButton3 Caption текст
RadioButton4 Caption цифри
SpinEdit Name KR
Button1 Caption Шукати
Width 121
Height 22
Button2 Caption Зберегти
Width 121
Height 21
Button3 Caption Загрузити
Width 121
Height 22
OpenDialog Властивостей змінювати не потрібно
SeveDialog Властивостей змінювати не потрібно
Edit1 Властивостей змінювати не потрібно
SpinEdit Name

 

8. Аналіз програми

В основі даної програми лежить робота з масивом, а саме з пошуком елементів. Проект складається з трьох форм:

Головної, Про програму та форму, що відображається при завантаженні.

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

На головній формі користувач може: обрати кількість рядків чи стовбців; створити масив може вручну – вводити елементи, а може автоматично згенерувати.

Користувач може вибрати на свій розсуд буквене або цифрове заповнення масиву елементами. У цифровому масиві цифри можуть бути як додатні та і від’ємні елементи.

Також користувач може зберегти результат пошуку елементів, і може завантажити уже збереженні дані про минулий пошук.

До недоліків можна віднести те, що більше трьох елементів для пошуку вводити неможна.

9. Тестування програми

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

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


Рисунок 10 – Робота програми до початку пошуку у масиві

Рисунок 11 – Робота програми під час пошуку елемента у масиві.

 

10. Інструкція з експлуатації програми

Для забезпечення нормального функціонування даної програми, до комп'ютера висуваються такі мінімальні вимоги:

– процесор з тактовою частотою не менше 166 MHz;

– відео карта з пам’яттю не менше 8 Mb;

– операційна система Windows 95/98/2000/XP/Vista;

– Не менше 5 Мb вільного місця на жорсткому диску;

– Об’єм оперативної пам’яті не менше 32 Мb;

– Обов‘язково наявність мишки та клавіатури.

Програма не потребує інсталяції. Для того щоб вона працювала на комп’ютері, достатньо скопіювати файл ‘SerPok.exe’ та деякі текстові файли.

Запуск програми здійснюється за допомогою файлу «SerPok.exe».

При завантаженні програми для продовження роботи потрібно натиснути кнопку «Працювати», при натисканні на кнопку «Про програму», відкриється вікно котре містить інформацію про програму.

На головній формі користувач може: обрати кількість рядків чи стовбців задати у полі; натиснувши на перемикач ‘ручне’, ‘авто’ створити масив може вручну – вводити елементи, а може автоматично згенерувати.

Користувач може вибрати на свій розсуд буквене або цифрове заповнення масиву елементами при перемиканні перемикачів, ’букви’ і ‘цифри’. У цифровому масиві елементи можуть бути як додатні та і від’ємні.

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

11. Аналіз отриманих результатів

Згідно з завданням даного курсового проекту, було розроблена програма візуальної демонстрації пошуку елементів у масиві. Після чого ми можемо пересвідчитись в достовірності роботи програми на рис. 12 -14.


Рисунок 12-Програма при завантаженні

Рисунок 13 – Головна форма при завантаженні

Рисунок 14 – Інформація про програму



Висновок

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

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


Список літератури

 

1.  В. Фаронов – Система программирования Delphi;

2.  Глинський Я.М – Turbo Pascal\Delphi 6 – видання;

3.  Кэнту – Delphi для профисионалов;

4.  Краснов – Графика в проектах Delphi;

5.  Марков Є.П. – Програмированье в Delphi 7;

6.  Мозговой М. – Занимательное программирование.

7.  Григас Г. – Начала програмируванье. – М., 1987

8.  Грогоно П. – Програмируванье на языке паскаль.

9.  Спірідонов В.І. – Обчислювальна техніка і програмування.

10.  Глинський Я.М. – Основи інформатики та обчислювальної техніки.

11.  Абрамов С.А – Начала програмируванья на языке Паскаль.

12.  Фаронов В.В. – Delphi 5 учебный курс.

13.  Черняхівський В.В-Сучасна технологія візуального програмування.

14.  Немнюгин – Turbo Pascal.

15.  Климов – Pascal 7.0

16.  Юрий Гурский – Трюки и эффекты в Delphi 7.

17.  Род Стивенс – Delphi. Готовые алгоритмы.

18.  Виктор Пестриков, Артур Маслобоев – Delphi на примерах.

19.  Михаил Фленов – Программирование в Delphi глазами хакера.