Воскресенье, 24.11.2024, 10:53
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Написать программу для автоматического построения детерминир
engineerklubДата: Четверг, 16.11.2023, 05:42 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 28530
Репутация: 0
Статус: Offline
Написать программу для автоматического построения детерминированного конечного автомата (ДКА) по словесному описанию языка

Тип работы: Работа Курсовая
Сдано в учебном заведении: СибГУТИ

Описание:
Курсовая работа по дисциплине: Теория языков программирования и методы трансляции. вариант 1

Язык - C#
Перед отправкой редактируйте/переделывайте работу и меняйте фио!

Задание
Написать программу для автоматического построения детерминированного конечного автомата (ДКА) по словесному описанию языка.
Вход программы: алфавит языка, обязательная начальная подцепочка, кратность длины всех цепочек языка, цепочки для распознавания.
Выход: построенный ДКА (все 5 элементов), результат проверки цепочек.
Подробно:
Язык задан своим алфавитом, обязательной начальной цепочкой и указанием кратности длины всех цепочек языка. В начальной цепочке не должно находиться символов, не содержащихся в алфавите. В крайнем случае она может быть и пустой. Кратность длины цепочек задаётся любым натуральным числом. Кратность, равная единице, равносильна отсутствию ограничений на длину цепочек.
Программа должна:
1. по предложенному описанию регулярного языка строить ДКА, распознающий этот язык, в том виде, как он рассматривался в теории, раздел 2.2.2;
2. с помощью построенного ДКА проверять вводимые пользователем цепочки на их принадлежность этому языку.
ДКА может быть полностью или неполностью определённым – по желанию разработчика. Функция переходов ДКА может изображаться в виде таблицы и графа, вариант вида отображения должен выбираться в меню.
После построения ДКА пользователь может вводить произвольные цепочки для проверки их на принадлежность исходному языку. Разбор цепочек автоматом следует поэтапно отображать на экране в виде последовательной смены конфигураций в соответствии с лабораторной работой №2. 

Решение:

Алгоритм решения задачи:
1 Построение таблицы ДКА:
1.1 Символы алфавита добавляются в таблицу в качестве столбцов;
1.2 Вычисляется количество состояний как сумма количества символов обязательной начальной подцепочки и кратности длины всех цепочек языка;
1.3. Состояния добавляются в качестве строк;
1.4 Устанавливаются переходы таблицы в соответствии с обязательной начальной подцепочкой и кратным переходам;
1.5 Если порядковый номер текущего состояния кратно величине кратности длины всех цепочек языка, то текущее состояние добавляется во множество конечных состояний.

СКАЧАТЬ
 
  • Страница 1 из 1
  • 1
Поиск:

Рейтинг@Mail.ru