
- •Кубанский государственный технологический университет
- •Задание на курсовое проектирование
- •Кубанский государственный технологический университет
- •Пояснительная записка
- •Реферат
- •1. Общие сведения о конечных автоматах
- •2. Создание проекта
- •2.1 Запуск Visual Studio.Net.
- •2.2. Конструирование формы
- •2.3. Создание обработчиков событий
- •2.4. Разработка программы
- •2.5. Работа программы
1. Общие сведения о конечных автоматах
Конечным автоматом (КА) называется система S={ A, Q, V, f, g }, в которой:
A={ a1, a2,.. ., am }, Q={ q1,..., qn }, V={v1,…, vk } - конечные множества (алфавиты);
f - функция переходов;
g - функция выходов.
A называется входным алфавитом, V-выходным, а Q - алфавитом состояний. Если, кроме того, в автомате S выделено одно состояние, называемое начальным (q1), то полученный автомат называется инициальным и обозначается (S, q).
Поскольку функции f и g определены на конечных множествах, их можно задавать таблицами перехода и выхода .
Обычно две таблицы сводятся в одну таблицу, называемую автоматной таблицей (1).
Пример . Таблица 1 задает функции переходов и выходов для КА с алфавитами A={a1,a2}, Q={q1,q2}, V={v1,v2}.
Таблица 1
|
a1 |
a2 |
|
q1 |
q2,v2 |
q1,v1 |
|
q2 |
q2,v1 |
q1,v2 |
Другой способ задания КА - ориентированный мультиграф, называемый графом переходов или диаграммой переходов (рисунок 1). Вершины графа соответствуют состояниям. Если f(qi, aj)=qk и g(qi, aj)=vt, то из qi в qk ведет ребро, на котором написаны aj и vt. Кратные ребра не обязательны. При этом должны быть выполнены условия корректности:
для любой входной буквы aj имеется ребро, выходящее из qi, на котором написано aj (условие полноты);
любая буква aj встречается только на одном ребре, выходящем из qi (условие непротиворечивости или детерминированности).
Поскольку алфавиты имеют по две буквы, то примем двоичный алфавит и обозначим первые буквы - 0, а вторые - 1. Таблица 1 в этом случае примет следующий вид:
Таблица 2
Q \ A |
0 |
1 |
|
0 |
1,1 |
0,0 |
|
1 |
1,0 |
0,1 |
2. Создание проекта
2.1 Запуск Visual Studio.Net.
О
ткрывается
главное окно и в меню Файл
выбрать
- Создать/Новый
проект.
Открывается окно создания нового проекта
(рис.
2),
где среди типов проектов выбрать –
Visual
C#
-Windows
и
в шаблонах Visual Studio
выбрать Приложение
Windovs Forms.
Рисунок 2 - Окно создания нового проекта
Далее ввести имя проекта КА, определить его расположение D:\TIS\Проекты_КА2 и нажать кнопку OK.
2.2. Конструирование формы
О
ткрывается
форма (рис.
3),
где поместить необходимые элементы:
три метки A
Label
Рисунок 3 - Окно Visual Studio с открытым проектом
для надписей, три текстовых поля TextBox для ввода и вывода необходимых значений, три кнопки Button для создания КА, его работы и завершения работы программы и таблица DataGridView. Для чего выполнить следующее:
a/ “перетащить” мышкой с панели элементов Toolbox текстовое поле TextBox1 и метку Label1 для ввода значения (a) входных символов конечного автомата КА и надписи Aлфавит А;
b/ аналогичную операцию проделать для текстового поля TextBox2 и метки Label2 для вывода выходных символов (v) КА и надписи Aлфавит V;
c/ текстовое поле TextBox3 и метку Label3 поместить для задания числа состояний КА и надписи Множество Q;
d/ “перетащить” мышкой с панели элементов кнопку Button1 и в открытом окне Свойства (Properties) в свойстве Text ввести надпись Синтез для создания КА;
e/ аналогичную операцию проделать для кнопку Button2 и в открытом окне Свойства (Properties) в свойстве Text ввести надпись Пуск для начала работы КА;
f/ аналогичную операцию проделать для кнопку Button3 и в открытом окне Свойства (Properties) в свойстве Text ввести надпись Стоп для завершения работы КА ;
g / “перетащить” мышкой с панели элементов таблицу DataGridView и в открытом окне Свойства (Properties) в свойстве Columns сформировать 4 столбца и ввести их обозначения q_a1, v_a1 и q_a2, v_a2.