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

Вступ



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

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

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

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






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

			

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

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

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

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

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




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



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

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

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

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

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

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

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

	

	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 здійснюється візуальне її оформлення.

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

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

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

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

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

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

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

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

Після виконання усіх попередніх пунктів дану програму потрібно відкомпілювати (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

KС



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 – Інформація про програму






Висновок



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

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






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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

		Климов – Pascal 7.0

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

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

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

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