Автор: Пользователь скрыл имя, 10 Мая 2013 в 00:46, курсовая работа
В 1936 г. английский математик Алан Тьюринг опубликовал в трудах Лондонского математического общества статью «О вычислимых числах в приложении к проблеме разрешения», которая наравне с работами Поста и Черча лежит в основе современной теории алгоритмов. Тьюрингом в качестве математической модели для описания алгоритмов было предложено абстрактное вычислительное устройство, которое впоследствии было названо машина Тьюринга (МТ).
А2.1: Система выводит сообщение «Неверный формат ввода!».
А3: Введены значения, превышающие размерность ленты.
А3.1: Система выводит сообщение «Недостаточно места на ленте!».
Постусловия. При успешном завершении на экране – главное окно приложения с заполненной лентой.
1.5.2 Диаграмма классов
Диаграмма классов служит для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования. Диаграмма классов может отражать, в частности, различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описывает их внутреннюю структуру и типы отношений. Диаграмма классов является дальнейшим развитием концептуальной модели проектируемой системы [12].
На рисунке 8 приведена диаграмма граничных классов разработанной системы.
Класс главной формы содержит информацию об алфавите и трассе и реализует методы работы с алгоритмом, лентой, трассой. Зависимыми от класса главной формы являются классы форма о разработчиках, форма добавления строки, форма трассы, форма добавления символа.
Рисунок 8 – Диаграмма классов
1.5.3 Диаграмма деятельности
Диаграммы деятельности используются для моделирования процесса выполнения операций. Каждое состояние на диаграмме деятельности соответствует выполнению некоторой элементарной операции, а переход в следующее состояние срабатывает только при завершении этой операции в предыдущем состоянии. Графически диаграмма деятельности представляется в форме графа деятельности, вершинами которого являются состояния действия, а дугами – переходы от одного состояния действия к другому. Основным направлением использования диаграмм деятельности является визуализация особенностей реализации операций классов, когда необходимо представить алгоритмы их выполнения. На диаграмме деятельности отображается логика или последовательность перехода от одной деятельности к другой, при этом внимание фокусируется на результате деятельности. Сам же результат может привести к изменению состояния системы или возвращению некоторого значения [12].
На рисунке 9 изображена диаграмма деятельности системы для трех вариантов использования: «Загрузить алгоритм», «Задать дополнительный символ алфавита», «Задать операнды в десятичной форме».
5.4 Диаграмма последовательности
Для моделирования взаимодействия объектов в языке UML используются соответствующие диаграммы взаимодействия. Так, взаимодействия объектов можно рассматривать во времени, и тогда для представления временных особенностей передачи и приема сообщений между объектами используется диаграмма последовательности.
На диаграмме
На рисунке 10 представлена диаграмма последовательности варианта использования «Задать дополнительный символ алфавита». При нажатии кнопки «+» на главной форме, активизируется форма добавления имени символа. Пользователь вводит новый символ и нажимает кнопку «Ок», по которой осуществляется проверка корректности введенных данных. Если данные неверные, то формируется форма ошибки и выводится сообщение об ошибке. Если проверка завершилась успешно, то форма добавления символа закрывается и активизируется главная форма с обновленным алфавитом и новым символом в таблице алгоритма.
На рисунке 11 представлена диаграмма
последовательности варианта использования
«Загрузить алгоритм из файла». На главной
форме пользователь выбирает команду
«Загрузить алгоритм», после чего отрывается
форма OpenDialog со списком имен файлов. Пользователь
выбирает один из файлов, при этом выполняется
проверка корректности данных, записанных
в файле. Если данные некорректны, то формируется
форма ошибки и выводится сообщение об
ошибке. Иначе, активизируется главная
форма с заполненной таблицей алгоритма.
На рисунке 12 представлена диаграмма
последовательности варианта использования
«Задать операнды в десятичной форме».
На главной форме пользователь активизирует
два текстовых поля, поставив галочку
в поле «Задать в десятичной форме». Пользователь
последовательно задает значения операндов
и нажимает кнопку « >> ». Происходит
проверка корректности введенных значений.
Если данные некорректны, то формируется
форма ошибки и выводится сообщение об
ошибке. Если значения операндов заданы
корректно, то происходит заполнение ленты.
Рисунок 9 – Диаграмма деятельности системы для вариантов использования: «Загрузить алгоритм», «Задать дополнительный символ алфавита», «Задать операнды в десятичной форме».
Рисунок 10 – Диаграмма последовательности
варианта использования
«Задать дополнительный символ алфавита»
Рисунок 11 – Диаграмма последовательности
варианта использования
«Загрузить алгоритм из файла»
Рисунок 12 – Диаграмма последовательности
варианта использования
«Задать операнды в десятичной форме»
1.6 Разработка и описание алгоритмов обработки данных
Алгоритм – заранее определённая последовательность действий (команд), приводящая к решению за конечное число шагов [13].
Алгоритм функционирования данной системы строится на принципах работы МТ, описанных в пункте 1.1.1. Схема алгоритма представлена на рисунке 13.
Рассмотрим работу данного алгоритма.
Алгоритм начинает работу со считывания значения из ячейки ленты.
В соответствии с полученным значением и текущим состоянием в таблице выбирается ячейка, содержащая правило перехода. Происходит выполнение правила. Действия повторяются до тех пор, пока новое состояние не станет равно нулю.
Если новое состояние равно нулю, то алгоритм завершает свою работу.
1.7 Выбор и обоснование комплекса программных средств
1.7.1 Выбор языка программирования и среды программирования
Для разработки проекта
была выбрана среда Microsoft Visual Studio 2008. Она представляет богатые
возможности по ускоренному созданию
пользовательского
Рисунок 13 – Схема алгоритма работы МТ
интерфейса, обладает всем необходимым набором функций, таких как автоматическое выделение цветом синтаксических конструкций, поиск методов, проверка синтаксиса и типов, оптимизация кода, отладка с возможностью пошагового выполнения и многое другое.
Среда Visual Studio поддерживает выбранный нами язык программирования C#.
Язык программирования C# является полнофункциональным объектно-ориентированным языком, который поддерживает все три «столпа» объектно-ориентированного программирования: инкапсуляцию, наследование и полиморфизм. Он имеет прекрасную поддержку компонентов, надежен и устойчив благодаря использованию «сборки мусора», обработки исключений, безопасности типов [14].
1.7.2 Выбор операционной системы
В настоящее время Microsoft Windows установлена более чем на 89 % персональных компьютеров и рабочих станций. По данным компании Net Applications, на март 2011 года рыночная доля Windows составляла 89,69 % [15]. Поэтому выбор операционной системы был сделан в пользу Windows. Программная система “Машина Тьюринга” может быть запущена как из под WindowsXP, так и других, более поздних версий.
ОС Windows представляет программистам все необходимые средства для создания пользовательского интерфейса, поэтому программисты пользуются ими, а не изобретают аналогичные собственные средства.
2 КОНСТРУКТОРСКО-
2.1 Разработка и описание
Интерфейс – это внешняя оболочка приложения вместе с программами управления доступом и другими скрытыми от пользователя механизмами управления, дающая возможность работать с документами, данными и другой информацией, хранящейся в компьютере или за его пределами. При разработке интерфейса необходимо учитывать следующее:
2.1.1 Разработка и описание
При запуске программы открывается главное окно программы, где пользователь может начать работу с МТ, открыть справку, посмотреть информацию о проекте или выйти из системы (см. рисунок 14).
Рисунок 14 – Главное окно программы
В меню «Файл» находятся команды создания, сохранения и загрузки алгоритма. Чтобы выйти из системы, пользователю нужно выбрать пункт меню «Файл» - «Выход» (см. рисунок 15).
Рисунок 15 – Интерфейс ПС. Вкладка меню «Файл»
Пункт меню «Трасса» позволяет посмотреть и сохранить трассу (см. рисунок 16).
Рисунок 16 – Интерфейс ПС. Вкладка меню «Трасса»
Пункт меню «Алгоритм» дает возможность загрузить один из базовых алгоритмов (см. рисунок 17).
Рисунок 17 – Интерфейс ПС. Вкладка меню «Алгоритм»
В пункте меню «Справка» пользователь может посмотреть информацию о программе и о проекте (см. рисунок 18).
Рисунок 18 – Интерфейс ПС. Вкладка меню «Справка»
В левой верхней части главной формы располагаются кнопки, являющиеся аналогами команд, описанных в пункте меню «Файл».
В правой части находятся элементы, служащие для запуска алгоритма и демонстрации его работы.
2.1.2 Описание тестового примера
В качестве тестового примера возьмем
выполнение базового алгоритма «Сложение»
в режиме демонстрации «с задержкой» и
заданием операндов в десятичной системе
(см. рисунок 19).
Рисунок 19 – Интерфейс ПС. Тестовый пример
После запуска программы, открывается главное окно приложения. В пункте меню «Алгоритм» выбираем «Сложение», в результате чего таблица заполняется соответствующим алгоритмом.
Ставим галочку в поле «Задать значения в десятичной форме» и вводим операнды в текстовые поля. По нажатию кнопки «>>» происходит проверка корректности введенных значений. Если введенные значения некорректны, то выводится сообщение об ошибке. Возможны три случая возникновения ошибки:
Выбираем режим демонстрации «с задержкой» и устанавливаем необходимую величину задержки, перемещая ползунок.
Запускаем алгоритм, нажав кнопку «Запуск». Выполнение работы алгоритма заканчивается сообщением «Алгоритм закончил свою работу». Также демонстрацию работы можно прервать, нажав кнопку «Стоп».
Рисунок 20 – Возможные ошибки при задании операндов в десятичной форме
2.2 Реализация классов и структур данных
На этапе 1.5.2 была разработана диаграмма классов, которая показывает отношение классов между собой. Основываясь на этой диаграмме и структуре, разработанной для каждого из классов на языке C# в среде Visual Studio 2008 были написаны следующие классы (см. рисунок 21).
2.3 Диаграмма компонентов
Диаграмма компонентов — статическая структурная диаграмма, показывает разбиение программной системы на структурные компоненты и связи (зависимости) между компонентами. В качестве физических компонент могут выступать файлы, библиотеки, модули, исполняемые файлы, пакеты и т. п [12].
При реализации данной системы были
разработаны следующие
Рисунок 21 – Диаграмма классов
Файл алгоритма имеет
Рисунок 22 – Диаграмма компонентов системы
2.4 Выбор и обоснование комплекса технических средств
2.4.1 Расчет объема занимаемой памяти
Для нормального функционирования данной программы под управлением OC Windows XP необходимы:
1) Объем оперативной памяти не менее 128 Mб:
- для нормальной работы системы – 64 Мб;
- для исполняемого файла – 6 Мб;
- для файла справки – 1 Мб.
2) Объем свободного дискового пространства не менее 1,6 Гб:
- 1,4 Мб на программную систему;
- 700 Кб на файл справки;
- не менее 10 Кб на текстовые файлы подсистемы;
- 1,5 Гб для работы операционной системы.
Информация о работе Система моделирования работы машины Тьюринга