Требования к программе. Задачи на графах являются одними из наиболее трудоемких
ВВЕДЕНИЕ
Задачи на графах являются одними из наиболее трудоемких. Для многих из них не существуют достаточно эффективных алгоритмов решения. Это объясняется комбинаторным характером процесса поиска решений и сложной логикой действий на каждом его шаге. Реализация задач данного класса на ПЭВМ позволяет повысить качество их решения за счет существенного увеличения числа анализируемых вариантов. С точки зрения эффективности учебного процесса задачи на графах превосходят большинство других видов задач. Это обусловлено, с одной стороны, необходимостью разработки и проверки разветвленных и логически сложных алгоритмов, с другой стороны, потребностью в проектировании комплексных структур данных. Наконец, графовые задачи требуют интенсивного использования языковых и библиотечных средств для программирования графики. Все сказанное, в конечном счете, наилучшим образом способствует развитию логико-алгоритмической культуры обучаемого и приобретению навыков разработки и отладки графических приложений со стандартизированным интерфейсом. В данной курсовой работе решается одна из известных графовых задач – поиск раскраски вершин заданным числом цветов. На основе известного алгоритма последовательного сокращенного перебора вершин разрабатывается граф-схема алгоритма раскраски. Выполняется программирование граф-схемы на языке Object Pascal, реализуется графическое отображение и редактирование графов, их сохранение в файлах специального упакованного формата. Все указанные действия осуществляются в среде программирования Delphi 7.0. ТЕХНИЧЕСКОЕ ЗАДАНИЕ
Назначение разработки Разрабатываемая программа предназначена для нахождения раскраски заданного неориентированного графа ограниченным числом цветов с использованием алгоритма последовательного перебора.
Основание для разработки Данный программный продукт разрабатывается как курсовая работа по дисциплине «Программирование на языках высокого уровня».
Требования к программе
1.3.1 Входные данные Входными данными программы являются неориентированный граф, число вершин которого не превышает заданного ограничения, число цветов, которыми необходимо раскрасить данный граф.
1.3.2 Выходные данные К выходным данным относятся вариант раскраски графа заданным числом цветов, хроматическое число графа, сообщения о невозможности нахождения раскраски.
1.3.3 Процессы обработки Ввод исходного графа и числа цветов, сохранение графа в файле, чтение графа из файла, нахождение раскраски, отображение раскраски.
1.3.4 Требования пользователя Разрабатываемая программа, с точки зрения пользователя, должна обладать следующими свойствами: · работа в условиях визуального (графического) режима; · удобство и простота ввода графа (задание с помощью мыши, клавиатуры и меню); · обеспечение автоматического контроля правильности входной информации, вводимой пользователем (контроль параметров графа, количества цветов); · возможность сохранения и считывания сохраненных графов из файлов; · однозначность и наглядность представления результатов вычислений (цветовое выделение раскраски, выдача сообщения при невозможности раскраски).
1.3.5 Функциональные требования Программа должна удовлетворять следующим функциональным требованиям: · ввод исходного графа в графическом режиме с помощью манипуляций с мышью. Необходимо обеспечить добавление вершин и ребер, а также удаление вершин с автоматической перенумерацией оставшихся и удаление ребер при наведении и нажатии левой клавиши мыши; · отображение графа в виде матрицы смежности вершин. Требуется обеспечить возможность добавления ребер и их удаления через матрицу; · граф при необходимости сохраняется в файле специального формата (формат разрабатывается в ходе выполнения курсовой работы). Допускается открытие любого файла с ранее сохраненным графом с проверкой корректности формата файла; · обработка графа должна выполняться по матрице смежности или эквивалентному способу описания, при этом алгоритм обработки (раскраски) определяется разработчиком. При нахождении нескольких вариантов раскраски с одинаковым числом цветов, выбирается любой. Желательно, в дополнение, находить минимальную раскраску и выдавать хроматическое число графа на экран; · найденный вариант раскраски, удовлетворяющий заданному ограничению на число цветов, должен отображаться цветовым выделением вершин исходного графа. Выбор цветов определяется разработчиком; · при отсутствии возможности раскраски графа заданным числом цветов, на экране должно выводиться соответствующее сообщение, а исходный граф должен оставаться в первоначальном виде; · максимальное количество вершин графа должно быть ограничено некоторой константой, зависящей от применяемого алгоритма раскраски и быстродействия используемой ЭВМ. Количество ребер не ограничивается; · при обработке графов с большим числом вершин, а также при их сохранении и загрузке, необходимо использовать элементы управления для индикации текущего состояния процесса обработки; · программа должна содержать систему помощи, информирующую пользователя о сути решаемой задачи, порядке ввода исходных данных и вывода результатов, включая пункты меню и сочетания клавиш.
1.3.6 Требования к условиям эксплуатации · ПЭВМ класса IBM PC/AT; · операционная система Windows 2000, XP; · язык программирования Object Pascal; · среда программирования Delphi 7 и выше; · меню, сообщения и система поиска на русском языке; · разрешение экрана не менее 800x600 точек.
1.3.7 Требования к численности и квалификации персонала Для работы с программой требуется один человек, квалифицированный в области теории графов и алгоритмизации, обладающий средней квалификацией в программировании на языке Pascal. 1.3.8 Требования по сохранности информации Программа должна обеспечивать сохранение введенных графов и настроек в файлах на внешних носителях. Резервное копирование не требуется. При повреждении файлов настроек они должны заполняться значениями по умолчанию.
1.3.9 Требования по стандартизации и унификации Нотация идентификаторов и терминология комментариев во всех компонентах среды должны соответствовать терминологии, используемой в теории графов и вычислительной технике. Сценарий диалога с пользователем должен отвечать стандартам приложений ОС семейства Windows.
1.3.10 Требования к программной совместимости Код программы должен быть написан на стандартном языке Pascal с использованием стандартных компонент библиотеки VCL Delphi 7.0.
1.3.11 Результирующие компоненты изделия Результирующий программный продукт необходимо представить в виде исполнимого модуля, совокупности исходных программных модулей, снимков с экрана (скриншотов), набора тестовых примеров и эксплуатационной документации (в электронной форме и на бумажном носителе).
1.3.12 Этапы разработки программы: · проектирование структуры программы; · разработка сценария диалога с пользователем; · разработка основных алгоритмов; · проектирование формата файлов; · программирование алгоритмов и структур данных; · отладка и тестирование программы; · документирование.
1.3.13 Требования к документации Перечень представляемых документов: · задание на курсовую работу; · техническое задание на разработку; · описание структуры программы; · описание сценария диалога с пользователем; · схемы основных алгоритмов; · описание форматов данных и файлов; · контрольные примеры и результаты программы; · листинги основных программных модулей; · краткая эксплуатационная документация. Все документы оформляются на листах формата A4, на одной стороне листа, и представляются в виде пояснительной записки. Документы по содержанию должны соответствовать ГОСТ 34.201-89, 34.602-89, 19.701-90.
ВАРИАНТ ЗАДАНИЯ
Заданы граф , где V — множество вершин; E — множество ребер, и положительное целое число , где — мощность множества V. Раскрасить вершины графа K красками так, чтобы ни одно его ребро не имело соцветных концов. Если такая раскраска невозможна, выдать на экран соответствующее сообщение. Предусмотреть графическое представление исходного графа и цветовое выделение его вершин на экране.
Популярное: Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной... Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (388)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |