Програма візуальної демонстрації пошуку елементів у масив
Програма візуальної демонстрації пошуку елементів у масив
Вступ В наш час інформація відіграє дуже велику роль. З розвитком науки і техніки інформації стає все більше. Довгий час вона оброблялась вручну, але записи та розрахунки, що зберігалися в папках займали багато місця. Операцію пошуку даних з часом ставало все тяжкіше реалізувати, через велику кількість інформації на паперових носіях. Тому ручна обробка інформації з часом стала зовсім неефективною. Перший комп'ютер мав великі габаритні розміри і служив для виконання нескладних задач загального характеру. Поступово розміри комп'ютера зменшувались і підвищувалась його функціональність. На сьогоднішній день ми маємо персональній комп'ютер невеликих розмірів, який своєю функціональністю і простотою використання став невід'ємною частиною життя кожної людини. В наш час ПК є дуже популярною і необхідною річчю. Він забезпечує спілкування між людьми в будь-який час і на будь-якій відстані, користуватися інформаційними ресурсами зі всього світу, використовувати різноманітні комп'ютерні енциклопедії, вивчати нові науки і оволодівати знаннями за допомогою навчальних програм, залишаючись на своєму робочому місці. Отже користування різноманітними навчальними програмами значно полегшує сам процес вивчення необхідної інформації, адже в пам'яті комп'ютера можна розмістити доволі великий об'єм інформації, тобто зберігати доволі великі бібліотеки, і за допомогою спеціальних програм оперативно знаходити там потрібну інформацію. 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 | 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 - Інформація про програму Висновок Під час виконання завдання курсової роботи, було розроблено програму, яка веде облік комп'ютерів на підприємстві, з можливість створення нової, зміни та видалення старої непотрібної інформації. В процесі виконання курсової роботи, створена аналітична модель програми, процес аналізу завдання розглядається в аналітичному розділі, Побудована інформаційно-математична модель програми, де з точки зору математики було розроблено етапи роботи програми, і всі ці етапи розписані в інформаційно-математичній моделі, розроблений алгоритм програми, де описано в яких послідовностях повинні виконуватися частини програми, та з якими особливостями. Визначена структура даних, з'ясовані ті змінні, які необхідні для виконання поставленої задачі. В процесі роботи був розроблений інтерфейс користувача, який дозволяє легко та без особливих зусиль користуватися програмою. Складений код програми, відповідно до якого програма повинна виконувати всі поставлені перед нею завдання. Проведений аналіз програми, з'ясовані основні події роботи програми та процедури які їх опрацьовують, відбувалось тестування програми на наявність помилок та недоліків роботи, при тестуванні помилок та недоліків не виявлено, складена інструкція до використання програми та встановленні системні вимоги до персонального комп'ютера. Список літератури 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 глазами хакера.
|