Модуль реалізації алгоритмів на графах з візуалізацією етапів розробки
Побудова блок-схем алгоритмів програм. Створення блок схем алгоритмів за допомогою FCEditor. Експорт блок-схеми в графічний файл. Огляд програмних та апаратних засобів. Мови програмування високого рівня. Цикли та умовний оператор IF з лічильником.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | украинский |
Дата добавления | 15.12.2013 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
2.7.1 Алгоритм аналізу перевірки правильності графу
Загальних процес побудову алгоритму з допомого розробленого модуля складається з трьох основних етапів:
1. Схематичного зображення алгоритму у вигляді графу
2. Аналіз графу на виконання обмежень
3. Побудову псевдокоду алгоритму.
Аналіз графу виконується перед побудовою псевдокоду, для можливості його побудову, в разі неуспішного аналізу, буде видано повідомлення про помилку, яка виникла при аналізі і можливу причину її виникнення.
Обмеження, які не реалізовані на рівні побудови графу перевіряються на стадії аналізу графу, серед них: перевірка на наявність початкової вершини «Введення даних» та кінцевої вершини «Виведення даних», перевірка графу на наявність незавершених гілок.
Алгоритм перевірки на наявність незавершених гілок у графі, являє собою рекурсивний алгоритм обходу, в якому кожна вершина перевіряється на кількість вихідних ребер, якщо цих ребер більше нуля і вершини не вершиною виводу даних, то результат аналізу буде не успішним.
Нижче наведено код, який реалізує дану перевірку:
/// <summary>
/// Повертає признак наявності «висячих» вершин
/// </summary>
/// <param name= «startNode»>Початкова вершина графа</param>
/// <returns>true - якщо такі вершини є, інакше - false</returns>
private static bool HaveHangingNodes (GraphNode startNode)
{
bool result = false;
startNode. InnerEntrisCount++;
foreach (ILink link in startNode. Port. DestinationLinks)
{
GraphNode node = (GraphNode) link. ToNode;
if (node. IsLoop) continue;
result = HaveHangingNodes(node);
if (result) return true;
}
if (startNode. Port. DestinationLinksCount == 0)
result =! (startNode is OutputDataNode);
return result;
}
Таким чином алгоритм аналізу графу можна зобразити наступним чином:
Після успішного проходження кожного з етапів перевірки графу, аналіз буде вважатися успішним, що зробить можливим подальшу побудову псевдокоду алгоритму.
- 2.8 Вибір технології та мови програмування
- Виходячи з поставлених вимог для розробки модуля реалізації алгоритмів на графах з візуалізацією етапів розробки доцільно для розробки використати Object-технологію - інтерфейс користувача розробити в середовищі програмування Visual Studio 2008, використовуючи мову програмування Visual C# 3.0.
- Платформа Microsoft. NET надає:
- · Стійке середовище виконання CLR (Common Language Runtime), яке входить до складу даної платформи;
- · Засоби розробки додатків на будь-якій з багатьох мов програмування, що підтримуються платформою.NET;
- · Величезну бібліотеку класів NET Framework, що лежить в основі відкритої моделі програмування. Вони доступні в будь-якій мові програмування, що підтримується платформою.NET;
- · Підтримку мережевої інфраструктури, побудованої на верхньому рівні стандартів Internet, внаслідок чого забезпечується високий рівень взаємодії між додатками;
- · Підтримку нового промислового стандарту, а саме технології Web-служб. Технологія Web-служб надає новий механізм створення розподілених додатків. По суті, вона є поширенням технології створення додатків на базі компонентів і на сферу Internet;
- · Модель безпеки, що програмісти можуть легко використовувати у своїх програмах;
- · Потужні інструментальні засоби розробки.
- 3 Тестування системи
Тестування програмного забезпечення - це процес аналізу або експлуатації програмного забезпечення з метою виявлення дефектів.
Тестування передбачає «аналіз» або «експлуатацію» програмного продукту. Тестова діяльність, що пов'язана з аналізом результатів розробки програмного забезпечення, називається статичним тестуванням. Воно передбачає перевірку програмних кодів, контроль та перевірку програми без запуску на комп'ютері. Тестова діяльність, що передбачає експлуатацію програмного продукту, називається динамічним тестуванням. Динамічне та статичне тестування доповнюють одне одного.
Тестування програмного забезпечення виконує дві базові функції: верифікацію та атестацію. Верифікація забезпечує відповідність результатів конкретної фази процесу розробки вимог даної та попередньої стадії. Атестація є гарантією того, що програмний продукт задовольняє системним вимогам.
Програмний продукт є якісним, коли:
· під час роботи користувача з програмним продуктом виникає невелика кількість відмов;
· програмний продукт надійний, а це означає, що його використання рідко викликало аварійні відмови;
· програмний продукт задовольняє вимогам більшості користувачів.
Тестування проводилося на персональному комп'ютері з наступними апаратними характеристиками:
– монітор 17» W;
– процесор Intel Core 2 Duo T7250 (2.2 Ггц);
– ОЗУ 2048 Mb;
– жорсткий диск 320 Gb.
При тестуванні даного програмного комплексу було використано максимально можлива кількість вбудованих функцій в модуль.
Тестування проводилось для генерації псевдо коду із різних графів, один з графів наведено на рис.
Граф простого алгоритму з розгалуженням
В результаті генерації, був отриманий псевдокод, що відповідає зображеному на графі алгоритму:
INPUT a, b, c, d
IF (a > b) THEN
a = a + 1
ELSE
b = b + 1
IF (b > 10) THEN
b = b + 10
ELSE
b = b / 2
END IF
OUTPUT b
END IF
OUTPUT a, b
Тестування показало, що модуль виконує закладені в нього функції, які були розроблені згідно технічного завдання. Тестування аналізатора графа показало, що при побудові алгоритму виконуються всі обмеження, на утворення зв'язку між вершинами, та закінченість побудови алгоритму. Блок побудови псевдокоду відповідає покладеним на нього функціям, тобто виконує генерацію коду і виконує правильне форматування коду.
Висновки
В результаті дослідження пробудови алгоритмів та використання їх при написанні програм різного рівня складності на будь-якій мові програмування, можна зробити висновок, що відображення його в звичному вигляді (блок-схеми), в подальшому може доповнитися більш наглядними засобами, в тому числі і за допомогою графів.
Використання псевдокоду для подальшої розробки алгоритмів, можливо в недалекому майбутньому перейде на настільки високий рівень, що програми будуть описуватися за допомогою природної мови - це зробить аналіз алгоритмів, пошук помилок, та їх подальшу модернізацію настільки простими, що дозволить значно підвищити швидкість процесу впровадження алгоритму в життя.
Створений програмний модуль відповідає всім вимогам побудови алгоритмів, та генерації псевдокоду. Надає можливість редагувати псевдо код, сигналізує про наявні помилки при побудові графу, з можливими причинами їх виникнення.
При створенні програмного продукту завдання було розбито на дві частини: Створення модуля побудови графу алгоритму і модуля аналізу та побудови і форматування псевдокоду.
Науковою новизною створеного програмного комплексу є те, що для побудови алгоритму і схематичного його відображення було використано орієнтовані графи, що на мою думку, дозволяє досить наочно відобразити основні принципи алгоритму.
Список джерел
алгоритм програма мова оператор
1. Роббинс Джон. Отладка приложений для Microsoft.NET и Microsoft Windows - М. Русская Редакция, 2004. - 736 с.
2. Нортрап Тони, Вилдермьюс Шон, Райан Билл. Основы разработки приложений на платформе Microsoft.NET Framework - Питер, Русская Редакция, 2007. - 864 с.
3. Кристиан Гросс. C# 2008 и платформа.NET 3.5 Framework: от новичка до профессионала, 2-е издание - Вильямс, 2009. - 897 с.
4. Джозеф C. LINQ: язык интегрированных запросов в C# 2008 для профессионалов - Вильямс, 2008. - 560 с.
5. Трей Нэш. C# 2008: ускоренный курс для профессионалов. Язык программирования C# 3.0 для.NET 3.5 - Вильямс, 2008. - 576 с.
6. Джимми Нильссон. Применение DDD и шаблонов проектирования: проблемно-ориентированное проектирование приложений с примерами на C# и.NET - Вильямс, 2007. - 429 с.
7. Дон Бокс, Крис Селлз. Основы платформы.NET, том 1. Обще языковая исполняющая среда. - Вильямс, 2003. - 288 с.
8. Роберт Седжвик. Фундаметальные алгоритмы на С++. Часть 5. Алгоритмы на графах - ДиаСофтЮП, 2002. - 496 с.
9. Емеличев В.А., Мельников О.И., Сарванов В.И., Тышкевич Р.И. Лекции по теории графов. Изд.2, испр. - 2009. 392 с.
10. Харари Фрэнк. Теория графов - Едиториал УРСС, 2003. - 297 с.
11. Кристофидес Н. Теория графов. Алгоритмический подход. Перевод на русский язык. - Наука, 1989. 241 с.
12. Камерон П. Теория графов. Теория кодирования и блок-схемы. Перевод на русский язык. - Наука, 1980. 140 с.
13. Акимов О.Е. Дискретная математика: логика, группы, графы, фракталы. - Едиториал УРСС, 2005. - 655 с.
14. Харари Ф. Теория графов: Перевод с английского. - Едиториал УРСС, 2006. - 300 с.
15. Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн. Алгоритмы: построение и анализ. 2-е издание. - Вильямс, 2008. - 1296 с.
16. Скакунов Александр. Алгоритмы и структуры данных. - Едиториал УРСС, 1996. 357 с.
17. Уоррен Генри С. Алгоритмические трюки для программистов. - Диалектика-Вильямс, 2003. - 288 с.
Размещено на Allbest.ru
Подобные документы
Визначення поняття "алгоритми", їх властивості, метод складання. Способи подання алгоритмів: письмовий, усний, схематичний, графічний, кодований. Навчальна алгоритмічна мова. Особливості створення блок-схеми. Алгоритм поданий мовою програмування.
презентация [2,9 M], добавлен 06.05.2019Особливості використання MSVisio для зображення плакатів. Програмні коди та блок-схеми алгоритмів задач. Структура фізичного серверу та місце віртуального приватного сервера (VPN) в ньому. З’єднання VPN-шлюзу з Інтернетом за допомогою маршрутизатора.
контрольная работа [3,8 M], добавлен 23.06.2010Особливості понять "цифра" и "число". Знакова система оброки інформації комп’ютером. Файл - сукупність байтів, записана на пристрій зберігання інформації. Сутність і властивості алгоритму. Схема - графічне подання алгоритму за допомогою зв’язаних блоків.
лекция [185,0 K], добавлен 03.10.2012Алгоритми розв’язання задач у вигляді блок–схем. Використання мови програмування MS VisualBasic for Application для написання програм у ході вирішення задач на одномірний, двовимірний масив, порядок розв’язання задачі на використання символьних величин.
контрольная работа [742,9 K], добавлен 27.04.2010Використання ітерацій для обчислення приблизних значень величин. Розробка ітераційних алгоритмів з перевіркою правильності введення даних. Побудова блок-схеми і програмування мовою Turbo Pascal обчислення значення функції, розкладеної в степеневий ряд.
лабораторная работа [197,2 K], добавлен 16.12.2010Особливості зображення плакатів у MSVisio. Будування блок-схем алгоритмів згідно варіантів. Віртуальна інфраструктура сервера. Структура центра управління сіттю AltegroSky. Взаємозв’язок операційної системи, віртуальної машини та користувача комп’ютера.
задача [3,8 M], добавлен 23.06.2010Методика та порядок програмування алгоритмів циклічної структури із заданим числом повторень за допомогою мови програмування VAB. Алгоритм роботи з одновимірними масивами. Програмування алгоритмів із структурою вкладених циклів, обробка матриць.
курсовая работа [27,7 K], добавлен 03.04.2009Застосування циклічних алгоритмів для створення циклів за допомогою умовного або безумовного переходів. Цикли з параметром та умовою (приклади). Використання операторів мови програмування Паскаль для організації повторюваних послідовностей дій (циклів).
контрольная работа [435,9 K], добавлен 02.06.2012Розв'язання задач мовою програмування VBA з використанням алгоритмів лінійної, розгалуженої та ітераційної циклічної структури. Розробка блок-схеми алгоритму, таблиці ідентифікаторів та тексту програми. Створення власної панелі інструментів користувача.
практическая работа [1012,6 K], добавлен 19.02.2010Засвоєння засобів аналізу трудомісткості обчислювальних алгоритмів. Побудова графа алгоритму з отриманої блок-схеми. Мінімізація графа, його подання у вигляді стохастичної матриці. Знаходження кількості звернень до файлів за допомогою Microsoft Excel.
лабораторная работа [681,5 K], добавлен 02.06.2011