
- •Анотація
- •1 Техніко-економічне обґрунтування технічного завдання на курсову роботу
- •1.1 Вимоги користувача
- •1.2 Аналіз предметної області
- •1.3 Вибір методу вирішення основної задачі
- •2 Розробка алгоритмів розв’язку задачі
- •2.1 Алгоритм побудови робочого поля
- •2.2 Покроковий алгоритм
- •2.3 Розробка меню
- •3 Програмна реалізація
- •3.1 Вибір мови програмування
- •3.2 Програмування інтерфейсу
- •3.3 Розробка програми
- •4 Тестування, перевірка правильності роботи
- •4.1 Готування тестування
- •4.2 Аналіз результатів роботи
- •Висновки
- •Перелік посилань
- •Література
- •Додаток а – Лістінг
2 Розробка алгоритмів розв’язку задачі
2.1 Алгоритм побудови робочого поля
Як уже було зазначено, програма буде реалізована мовою програмування C# версії 4.0. Інтерфейс у програмі буде нейтральної кольорової гамми, що підійде для більшості користувачів. Планується використовувати суміш переважно сірого та білого кольору.
Після запуску програми з’являтиметься вікно привітання, де буде вказано тему та призначення програми, а також її розробника. На цьому ж віні планується розмістити таймер приблизно на 10 секунд, після спрацьовування якого автоматично з’являтиметься головне вікно а вікно привітання ховатиметься. Планується, що головне вікно відразу після запуску розгортатиметься на весь екран і програма функціонуватиме в повноекранному режимі.
На головному вікні будуть доступні основні елементи керування, що можуть знадобитися в процесі використання програми. Передбачаються такі кнопки:
Кнопка відкриття/закриття таблиці, де користувач зможе вводити дані.
Кнопка розмітки зв’язків між усіма об’єктами на формі.
Кнопка обрахування найкоротшого шляху.
В головному меню будуть такі розділи, як «Файл», «Налаштування», «Довідка». В них планується розмістити пукни що дозволяють згортати програму, виходити та перезапускати програму, пункт «Про програму», та пункт, що викликає операцію створення картинок на формі.
Саме за кнопкою обрахування найкоротшого шляху, по події натиснення, буде закріплено виконання алгоритму Дейкстри. Якщо користувач натисне цю кнопку, тоді створяться тимчасові змінні, які міститимуть усі необхідні дані для виконання алгоритму (наприклад, двовимірний масив, що міститиме у собі зібрану з таблиці інформацію про час переливання між посудинами).
2.2 Покроковий алгоритм
Рисунок 2.1 – Блок-схема основного алгоритму
На рисунку 2.1 зображена блок-схема алгоритму.
2.3 Розробка меню
Меню (англ. menu) — список варіантів (режимів, команд, відповідей тощо), що виводяться на екран дисплею і пропонуються користувачу для вибору. [3]
Меню являє собою набір таких елементів:
рядок меню (англ. menu bar) - основна частина меню, яка постійно знаходиться у вікні програми (рідше, ховається і з'являється при певних діях користувача). Цей рядок є так званим головним меню вікна (англ. main menu) або меню верхнього рівня (англ. top-level menu);
спливаюче меню (англ. popup menu) або підменю (англ. submenu). Вибір елемента головного меню зазвичай призводить до виклику з'являється під головним підменю, яке в свою чергу може містити підменю;
пункт меню - окремі опції програми.
Пункти спливаючих меню можуть бути відзначені (англ. checked), при цьому для ідентифікації того, що пункт вибрано, використовуються або спеціальні позначки, або зміни колірної гами кого-небудь елементу пункту меню (в основному застосовується для нестандартних графічних меню).
Пункти меню в головному і спливаючих меню можуть бути включені (англ. enabled), виключені (англ. disabled) або недоступні (англ. grayed). Іноді замість слів «включено» і «виключене» використовують слова «активно» (англ. active) і «неактивно» (англ. inactive). Зазвичай пункти, позначені як включені або виключені, для користувача виглядають однаково, а недоступний пункт меню виводиться кілька затемненим, зокрема сірим кольором.
Таким чином меню утворює ієрархічну структуру функціональних можливостей програми.
Розрізняють такі типи меню [3]:
текстове;
графічне;
головне меню програми;
спливаюче меню;
контекстне меню;
- системне меню.
У програму планується наявність основного меню, в якому знаходитимуться основні базові операції по роботі програми, налаштування та сервісу. Спливаючі меню не плануються, так як вони зайві. Тому основна панель управління, що пришвидшить доступ до обов’язкових функцій програми, буде розміщена внизу вікна, і займатиме приблизна його восьму частину по висоті і розтягнуте по ширині головного вікна.
За допомогою вказівника користувач зможе взаємодіяти з об’єктами на сцені, наприклад: відповідним меню створювати об’єкт та перемістивши вказівник у бажане місце і натиснувши ліву кнопку миші розмістити створений об’єкт у заданому місці. Натиснення лівої кнопки миші при наведеному вказівнику на попередньо створений об’єкт дасть змогу видалити його з форми.
Планується, що на панелі управління будуть кнопки, які показуватимуть усі можливі зв’язки між ємкостями на полотні.