Теория языков программирования и методы трансляции. Курсовая работа. Вариант №8
Состав работы
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Необходимые программы
Работа представляет собой zip архив с файлами (распаковать онлайн), которые открываются в программах:
- Программа для просмотра текстовых файлов
- Microsoft Word
Описание
Написать программу для автоматического построения детерминированного конечного автомата (ДКА) по словесному описанию языка.
Вход программы: алфавит языка, обязательная конечная подцепочка, цепочки для распознавания.
Выход: построенный ДКА (все 5 элементов), результат проверки цепочек.
Подробно:
Язык задан своим алфавитом и обязательной конечной подцепочкой всех цепочек языка. В конечной подцепочке не должно находиться символов, не содержащихся в алфавите. В крайнем случае она может быть и пустой.
Программа должна:
1. по предложенному описанию регулярного языка строить ДКА, распознающий этот язык, в том виде, как он рассматривался в теории, раздел 2.2.2;
2. с помощью построенного ДКА проверять вводимые пользователем цепочки на их принадлежность этому языку.
ДКА должен быть полностью определённым. Функция переходов ДКА может изображаться в виде таблицы или графа, вариант вида её представления выбирается разработчиком.
Наиболее простой способ построения такого ДКА состоит в том, чтобы сначала по описанию языка построить НКА (недетерминированный конечный автомат), а затем преобразовать его согласно рассмотренному в разделе 2.2.2 алгоритму. При выборе такого способа построения ДКА промежуточный результат в виде НКА необходимо также отображать на экране по просьбе пользователя.
По желанию автора допускаются и другие способы построения ДКА.
После построения ДКА пользователь может вводить произвольные цепочки для проверки их на принадлежность исходному языку. Разбор цепочек автоматом следует поэтапно отображать на экране в виде последовательной смены конфигураций в соответствии с лабораторной работой №2.
Рассмотрим пример построения ДКА.
Задан язык: алфавит {0,1,a,b} и обязательная конечная подцепочка «01ab». Анализируем задание: язык будет состоять из цепочек любой длины, заканчивающихся на «01ab», например {1a01ab, bb01ab, ba101ab, …}. Тогда ДКА должен иметь вид M(Q,{0,1,a,b},d,q0,F), множество состояний Q и заключительные состояния F определятся в процессе построения. Разберёмся с построением функции переходов d. Очевидно, что пустая цепочка в языке не содержится (поскольку есть непустая обязательная конечная цепочка). Сначала определимся с минимальной цепочкой языка – это «01ab», и построим для неё граф переходов.
Если выбрать способ с предварительным построением НКА, то такой автомат выглядит очевидным образом. Сначала могут быть прочитаны любые символы алфавита в любом количестве, а затем конечная подцепочка:
Недетерминированность автомата вызвана тем, что из начального состояния существует два перехода по одному символу алфавита (‘0’). Преобразуем построенный автомат в детерминированный. Для этого построим таблицу переходов:
вход Исходную таблицу переходов отделим от остальной части жирной линией.
Для упрощения процесса будем создавать не все возможные новые состояния, которые могут получиться в результате сочетаний исходных состояний, а только те, которые реально возникают при построении. Сначала это единственное состояние q0q1 – занесём его в таблицу. Затем последовательно появятся q0q2, q0q3, q0q4. Все состояния исходного автомата, кроме q0, оказались недостижимыми. . Удалим их.
состояние a b c
q0 {q0,q1} {q0} {q0} {q0}
q1 – {q2} – –
q2 – – {q3} –
q3 – – – {q4}
q4 – – – –
q0q1 A {q0q1} {q0, q2} {q0} {q0}
q0q2 B {q0q1} {q0} {q0q3} {q0}
q0q3 C {q0q1} {q0} {q0} {q0, q4}
q0q4 D {q0q1} {q0} {q0} {q0}
Заключительным состоянием станут те, которые содержат q4, здесь такое состояние одно - D. Новая таблица переходов примет следующий вид:
состояние a b c
q0 {A} {q0} {q0} {q0}
A {A} {B} {q0} {q0}
B {A} {q0} {C} {q0}
C {A} {q0} {q0} {D}
D {A} {q0} {q0} {q0}
Граф переходов построен по таблице:
Q={q0,A,B,С,D }, F={D}.
ДКА построен.
Вход программы: алфавит языка, обязательная конечная подцепочка, цепочки для распознавания.
Выход: построенный ДКА (все 5 элементов), результат проверки цепочек.
Подробно:
Язык задан своим алфавитом и обязательной конечной подцепочкой всех цепочек языка. В конечной подцепочке не должно находиться символов, не содержащихся в алфавите. В крайнем случае она может быть и пустой.
Программа должна:
1. по предложенному описанию регулярного языка строить ДКА, распознающий этот язык, в том виде, как он рассматривался в теории, раздел 2.2.2;
2. с помощью построенного ДКА проверять вводимые пользователем цепочки на их принадлежность этому языку.
ДКА должен быть полностью определённым. Функция переходов ДКА может изображаться в виде таблицы или графа, вариант вида её представления выбирается разработчиком.
Наиболее простой способ построения такого ДКА состоит в том, чтобы сначала по описанию языка построить НКА (недетерминированный конечный автомат), а затем преобразовать его согласно рассмотренному в разделе 2.2.2 алгоритму. При выборе такого способа построения ДКА промежуточный результат в виде НКА необходимо также отображать на экране по просьбе пользователя.
По желанию автора допускаются и другие способы построения ДКА.
После построения ДКА пользователь может вводить произвольные цепочки для проверки их на принадлежность исходному языку. Разбор цепочек автоматом следует поэтапно отображать на экране в виде последовательной смены конфигураций в соответствии с лабораторной работой №2.
Рассмотрим пример построения ДКА.
Задан язык: алфавит {0,1,a,b} и обязательная конечная подцепочка «01ab». Анализируем задание: язык будет состоять из цепочек любой длины, заканчивающихся на «01ab», например {1a01ab, bb01ab, ba101ab, …}. Тогда ДКА должен иметь вид M(Q,{0,1,a,b},d,q0,F), множество состояний Q и заключительные состояния F определятся в процессе построения. Разберёмся с построением функции переходов d. Очевидно, что пустая цепочка в языке не содержится (поскольку есть непустая обязательная конечная цепочка). Сначала определимся с минимальной цепочкой языка – это «01ab», и построим для неё граф переходов.
Если выбрать способ с предварительным построением НКА, то такой автомат выглядит очевидным образом. Сначала могут быть прочитаны любые символы алфавита в любом количестве, а затем конечная подцепочка:
Недетерминированность автомата вызвана тем, что из начального состояния существует два перехода по одному символу алфавита (‘0’). Преобразуем построенный автомат в детерминированный. Для этого построим таблицу переходов:
вход Исходную таблицу переходов отделим от остальной части жирной линией.
Для упрощения процесса будем создавать не все возможные новые состояния, которые могут получиться в результате сочетаний исходных состояний, а только те, которые реально возникают при построении. Сначала это единственное состояние q0q1 – занесём его в таблицу. Затем последовательно появятся q0q2, q0q3, q0q4. Все состояния исходного автомата, кроме q0, оказались недостижимыми. . Удалим их.
состояние a b c
q0 {q0,q1} {q0} {q0} {q0}
q1 – {q2} – –
q2 – – {q3} –
q3 – – – {q4}
q4 – – – –
q0q1 A {q0q1} {q0, q2} {q0} {q0}
q0q2 B {q0q1} {q0} {q0q3} {q0}
q0q3 C {q0q1} {q0} {q0} {q0, q4}
q0q4 D {q0q1} {q0} {q0} {q0}
Заключительным состоянием станут те, которые содержат q4, здесь такое состояние одно - D. Новая таблица переходов примет следующий вид:
состояние a b c
q0 {A} {q0} {q0} {q0}
A {A} {B} {q0} {q0}
B {A} {q0} {C} {q0}
C {A} {q0} {q0} {D}
D {A} {q0} {q0} {q0}
Граф переходов построен по таблице:
Q={q0,A,B,С,D }, F={D}.
ДКА построен.
Дополнительная информация
- Состояние: Отлично
- СибГУТИ
- 2016 г
- СибГУТИ
- 2016 г
Похожие материалы
Курсовая работа по Теория языков программирования и методы трансляции Вариант 8
zalexz95
: 17 октября 2017
По предложенному описанию языка построить регулярное выражение, задающее этот язык, и сгенерировать с его помощью все цепочки языка в заданном диапазоне длин. Предусмотреть также возможность генерации цепочек по введённому пользователем РВ
Вход программы: алфавит, начальная и конечная подцепочки, кратность длины всех цепочек языка, 2 числа – диапазон длин для генерации цепочек.
Выход: построенное регулярное выражение, результат генерации цепочек.
Подробное описание:
Язык задан введённым алфави
800 руб.
Курсовая работа по дисциплине: Теория языков программирования и методы трансляции. Вариант №8
Roma967
: 22 мая 2016
Написать программу для автоматического построения детерминированного конечного автомата (ДКА) по словесному описанию языка.
Вход программы: алфавит языка, обязательная конечная подцепочка, цепочки для распознавания.
Выход: построенный ДКА (все 5 элементов), результат проверки цепочек.
Подробно:
Язык задан своим алфавитом и обязательной конечной подцепочкой всех цепочек языка. В конечной подцепочке не должно находиться символов, не содержащихся в алфавите. В крайнем случае она может быть и пуст
1400 руб.
Теория языков программирования и методы трансляции
Илья272
: 5 ноября 2023
Лабораторные работы основаны на лекционном материале; каждая выполняется после изучения соответствующего теоретического раздела. До выполнения лабораторной работы нужно внимательно разобраться с примерами, ответить на контрольные вопросы изученного теоретического раздела, а также решить задачи, предлагаемые в составе контрольных вопросов.
Каждая работа снабжена методическими указаниями, сопровождающими текст задания. Рекомендуется внимательно читать задание и выполнять работу в строгом соответс
1300 руб.
Теория языков программирования и методы трансляции
piligrim-24
: 11 апреля 2012
Билет No1
1) Классификация грамматик и языков по Хомскому. Проиллюстрировать на примерах (примеры должны быть свои).
2) Нисходящий распознаватель языков с возвратами. Алгоритм распознавателя с подбором альтернатив. Проиллюстрировать на примере (пример должен быть свой).
3) Построить детерминированный автомат с магазинной памятью P (с опустошением стека), допускающий язык L(P) = {a n b n c 2k k > 0, n 0}. Построить КС-грамматику для задания этого же языка.
50 руб.
Теория языков программирования и методы трансляции
piligrim-24
: 3 марта 2012
Лабораторная работа № 3
По дисциплине «Теория языков программирования и методы трансляции»
Моделирование работы МПА
Пусть контекстно-свободный язык задаётся детерминированным автоматом с магазинной памятью – ДМПА (теоретический материал раздела 3.1). Написать программу, которая будет проверять для вводимой цепочки, принадлежит ли она заданному КС-языку. В случае отрицательного ответа необходимо давать пояснение, по какой причине цепочка не принадлежит языку (аналогично лаб. раб №2) Исходный авт
50 руб.
Курсовая работа по дисциплине Теория языков программирования и методы трансляции
Некто
: 16 сентября 2018
Написать программу для автоматического построения детерминированного конечного автомата (ДКА) по словесному описанию языка.
Вход программы: алфавит языка, обязательная конечная подцепочка, цепочки для распознавания.
Выход: построенный ДКА (все 5 элементов), результат проверки цепочек.
Подробно:
Язык задан своим алфавитом, обязательной конечной цепочкой всех цепочек языка. В конечной цепочке не должно находиться символов, не содержащихся в алфавите. В край
200 руб.
Теория языков программирования и методы трансляции. Курсовая работа. Вариант 13.
Сергей442
: 13 ноября 2023
Написать программу, которая по заданной регулярной грамматике (грамматика может быть НЕ автоматного вида! ЛЛ или ПЛ) построит эквивалентный ДКА (представление функции переходов в виде таблицы). Программа должна сгенерировать по исходной грамматике несколько цепочек в заданном диапазоне длин и проверить их допустимость построенным автоматом. Процессы построения цепочек и проверки их выводимости отображать на экране (по требованию).
2500 руб.
Теория языков программирования и методы трансляции курсовая работа вариант 4
svladislav987
: 29 августа 2023
Вариант 4
Написать программу для автоматического построения детерминированного конечного автомата (ДКА), эквивалентного заданной регулярной грамматике.
Вход программы: терминальный и нетерминальный алфавиты грамматики, целевой символ, правила грамматики, цепочки для распознавания.
Выход: построенный ДКА (все 5 элементов), результат проверки цепочек.
Подробно:
Язык задан регулярной грамматикой, причём она может быть не автоматного вида. При написании программы разработчику разрешается выбрать оди
500 руб.
Другие работы
Теплотехника КНИТУ Задача ТД-9 Вариант 70
Z24
: 16 января 2026
Путем сравнительного расчета показать целесообразность применения пара высоких начальных параметров и низкого конечного давления на примере паросиловой установки, работающей по циклу Ренкина. Для этого определить предполагаемое теплопадение, термический КПД цикла и удельный расход пара для двух вариантов значений начальных и конечных параметров пара. Указать конечное значение степени сухости х2 (при давлении р2) на Ts- и hs — диаграммах.
Изобразить схему простейшей паросиловой установки и дат
250 руб.
Головка цементировочная ЦГ-Чертеж-Оборудование для бурения нефтяных и газовых скважин-Курсовая работа-Дипломная работа
leha.se92@mail.ru
: 24 января 2018
Головка цементировочная ЦГ-(Формат Компас-CDW, Autocad-DWG, Adobe-PDF, Picture-Jpeg)-Чертеж-Оборудование для бурения нефтяных и газовых скважин-Курсовая работа-Дипломная работа
368 руб.
Проект строительства наклонно направленной скважины на Фаинском месторождении с рассмотрением вопроса оптимизации смазочных свойств бурового раствора для снижения прихватоопасности
Abibok
: 17 мая 2021
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 10
1. ГЕОЛОГИЧЕСКИЙ РАЗДЕЛ 11
1.1 Общие сведения 11
1.2 Литолого-стратиграфическая характеристика разреза скважины 11
1.3 Физико-механические свойства горных пород по разрезу скважины 16
1.4 Нефтегазоводоносность по разрезу скважины 17
1.5 Возможные осложнения по разрезу скважины 18
1. ТЕХНОЛОГИЧЕСКИЙ РАЗДЕЛ 21
2.1 Обоснование и расчёт конструкции скважины 21
2.1.1 Определение числа колонн и глубины их спуска 21
2.1.2 Определение диаметров обсадных колонн и скважины под кажд
2200 руб.
Повышения уровня готовности автопарка путем реконструкции ЦРМ хозяйства , с разработкой технологии восстановления коленчатого вала и разработкой стенда для проведения сборочно-разборочных работ двигателя
Рики-Тики-Та
: 22 ноября 2017
Введение
Одним из главных условий роста производительности труда, является ус-корение темпов и повышение уровня оснащенности сельского хозяйства техникой. В последние годы в сельском хозяйстве продолжается процесс обвального падения уровня технической оснащённости. Парк основных видов сельскохозяйственной техники составляет 45-65% от нормального. Технологические нагрузки на сель-скохозяйственные машины возросли в 3 раза, а потребность в тракторах и комбай-нах в 10-20 раз.
Предприятия плохо ос
825 руб.