Расчётно-графическая работа
6 заданий. Теория языков программирования и методы трансляции. Информатика и вычислительная техника
в среде программирования Visual C# .NET 2019 (Вижл Си Шарп)
Программа

Среда программирования: Visual C# .NET 2019
Название работы: 6 заданий. Теория языков программирования и методы трансляции. Информатика и вычислительная техника
Тематика работы: Графы, Математика, Прочие
Объем программы: 8 (по десятибалльной шкале)
Уровень сложности: 10 (по десятибалльной шкале)
Разработчик (автор): Программист сайта kursovik.com (письмо автору)
Ключевые слова: Информатика и вычислительная техника, Теория языков программирования, методы трансляции, расчётно-графической работе, Распознавание типов формальных языков, типов формальных языков, грамматик, формальная грамматика, формальный язык, выводимость цепочек, эквивалентная грамматика, классификация Хомского, эквивалентных грамматик, Составить грамматику, конечного автомата, детерминированный конечный автомат, Преобразовать НКА, диаграмма графа, Минимизация конечных автоматов, недостижимые эквивалентные состояния автомата, минимальный конечный автомат, детерминированного конечного автомата, исключение эквивалентных состояний, граф минимального конечного автомата, Эквивалентные преобразования, контекстно-свободных грамматик, приведенная КС-грамматика, правила левой факторизации, прямую левую рекурсию, язык КС-грамматики, цепных правил, левой факторизации правил, прямой левой рекурсии, автомат с магазинной памятью, контекстно-свободной грамматике, конфигурация МП-автомата, Моделирование функционирования распознавателя, LL(1)-грамматик
Функции программы:
6 заданий. Теория языков программирования и методы трансляции.
Разработать две программы на C# и выполнить 4 задания по расчётно-графической работе.
Подробности.
Задание № 1. «Распознавание типов формальных языков и грамматик»
Цель:
- закрепить понятия «алфавит», «цепочка», «формальная грамматика» и «формальный язык», «выводимость цепочек», «эквивалентная грамматика»;
- сформировать умения и навыки распознавания типов формальных языков и грамматик по классификации Хомского, построения эквивалентных грамматик.
При выполнении задания следует реализовать следующие действия:
1. Составить грамматику, порождающую формальный язык, заданный в соответствии с вариантом.
2. Определить тип формальной грамматики и языка по классификации Хомского.
3. Разработать программное средство, распознающее тип введённой пользователем грамматики по классификации Хомского.
Вариант индивидуального задания:
L(G)={a_1 a_2…a_n a_n…a_2 a_1 |a_i{c,d}}
Задание № 2. «Построение конечного автомата по регулярной грамматике»
Цель:
- закрепить понятия «регулярная грамматика», «недетерминированный и детерминированный конечный автомат»;
- сформировать умения и навыки построения конечного автомата по регулярной грамматике и преобразования недетерминированного конечного автомата к детерминированному конечному автомату.
При выполнении задания следует реализовать следующие действия:
1. Проверить грамматику на принадлежность к классу регулярных грамматик.
2. Построить по заданной регулярной грамматике конечный автомат.
3. Преобразовать НКА к ДКА.
4. Нарисовать диаграмму графа результирующего КА.
5. Разработать программное средство, реализующее следующие функции:
а) ввод произвольной формальной грамматики с клавиатуры и проверка ее на принадлежность к классу регулярных грамматик;
б) построение по заданной регулярной грамматике конечного автомата;
в) преобразование недетерминированного конечного автомата к детерминированному конечному автомату.
G=({0, 1, ~, #, &}, {X, Y, Z, W, V}, P, X),
где P: 1) X→0Y | 1Z | ε; 2) Y→0Z | ~W | #; 3) Z→1Y | 1W | 0V; 4) W→0W | 1W | #; 5) V→&Z.
Задание № 3. «Минимизация конечных автоматов»
Цель:
- закрепить понятия «недостижимые состояния автомата», «эквивалентные состояния автомата», «минимальный конечный автомат»;
- сформировать умения и навыки минимизации детерминированного конечного автомата.
1. Устраните недостижимые состояния конечного автомата.
2. Исключите эквивалентные состояния конечного автомата.
3. Опишите граф минимального конечного автомата.
4. Разработать программное средство, реализующее следующие функции:
а) ввод исходного конечного автомата;
б) устранение недостижимых состояний конечного автомата;
в) исключение эквивалентных состояний конечного автомата;
г) вывод на экран графа минимального конечного автомата;
д) разработать серию контрольных примеров для тестирования реализованных алгоритмов.
Задание № 4.
«Эквивалентные преобразования контекстно-свободных грамматик»
Цель:
- закрепить понятия «эквивалентные грамматики», «приведенная КС-
грамматика»;
- сформировать умения и навыки эквивалентных преобразований контекст-
но-свободных грамматик.
1. Определить, к какому классу принадлежит грамматика, и проверить существования языка для неё.
2. Эквивалентными преобразованиями грамматики удалить:
а) бесполезные символы;
б) недостижимые символы;
в) ε-правила;
г) цепные правила;
д) правила левой факторизации;
е) прямую левую рекурсию.
3. Разработать программное средство, автоматизирующее процесс эквивалентного преобразования КС-грамматик. Программное средство должно выполнять следующие функции:
1) организация ввода грамматики и проверка ее на принадлежность к классу КС-грамматик;
2) проверка существования языка КС-грамматики;
3) реализация эквивалентных преобразований грамматики, направленных на удаление:
а) бесполезных символов;
б) недостижимых символов;
в) ε-правил;
г) цепных правил;
д) левой факторизации правил;
е) прямой левой рекурсии.
G=({a, b, c, d}, {Q, A, B, C, D}, P, Q),
где P: 1) Q→acA | acB | ε; 2) B→A | Cb | ε; 3) A→Aa | Ab | a; 4) C→ dCc 5) D→dc
Задание № 5.«Построение автомата с магазинной памятью по контекстно-свободной грамматике»
Цель:
- закрепить понятия «автомат с магазинной памятью (МП-автомат)», «расширенный МП-автомат», «конфигурация МП-автомата»; «строка и язык, допускаемые МП-автоматом»;
- сформировать умения и навыки построения МП-автомата и расширенного МП-автомата по КС-грамматике, разбора входной строки с помощью МП- автомата.
1. Определить принадлежность грамматики к классу КС-грамматик.
2. Построить МП-автомат по КС-грамматике.
3. Построить расширенный МП-автомат по КС-грамматике.
4. Продемонстрировать разбор некоторой входной строки с помощью построенных автоматов для случая:
а) входная строка принадлежит языку исходной КС-грамматики и допускается МП-автоматом;
б) входная строка не принадлежит языку исходной КС-грамматики и не принимается МП-автоматом.
5. Разработать программное средство, реализующее следующие функции:
а) ввод произвольной формальной грамматики и проверка её на принадлежность к классу КС-грамматик;
б) построение МП-автомата по КС-грамматике;
в) построение расширенного МП-автомата по КС-грамматике.
G=({a, b, c, d}, {Q, A, B, C, D}, P, Q),
где P: 1) Q→acA | acB | ε; 2) B→A | Cb | ε; 3) A→Aa | Ab | a; 4) C→ dCc 5) D→dc
Задание № 6. «Моделирование функционирования распознавателя для LL(1)-грамматик»
Цель:
- закрепить понятие «LL(k)-грамматика», необходимые и достаточные условия LL(k)-грамматики;
- сформировать умения и навыки построения множеств FIRST(k, α) и FOLLOW(k, α ), распознавателя для LL(1)-грамматик.
1. Построить множества FIRST(1, A) и FOLLOW(1, A) для каждого нетерминального символа грамматики.
2. Проверить необходимое и достаточное условие LL(1) для введённой КС-грамматики.
3. Разработать программное средство, автоматизирующее процесс разбора цепочек для LL(1)-грамматик. Программное средство должно выполнять следующие функции:
а) реализация ввода произвольной КС-грамматики;
б) построение множеств FIRST(1, A) и FOLLOW(1, A) для каждого нетерминального символа грамматики;
в) проверка необходимого и достаточного условия LL(1) для введенной КС-грамматики;
г) моделирование функционирования распознавателя для LL(1)-грамматик.
Составить набор контрольных примеров для случаев:
а) введенная КС-грамматика не является LL(1)-грамматикой;
б) исходная КС-грамматика является LL(1)-грамматикой, но входная строка не принадлежит языку грамматики;
в) заданная КС-грамматика является LL(1)-грамматикой и введенная строка принадлежит языку грамматики.
Разбор цепочек показать с помощью таблицы, строки вывода и дерева вывода.
G=({a, b, c, d}, {Q, A, B, C, D}, P, Q),
где P: 1) Q→acA | acB | ε; 2) B→A | Cb | ε; 3) A→Aa | Ab | a; 4) C→ dCc 5) D→dc
Описание (отчет): Есть на 24 страниц, посмотреть оглавление
Пояснения к компиляции и запуску программы:
1. Для работы с программой 1 нужно использовать файл "Z1.exe".
2. Для работы с программой 2 нужно использовать файл "Z2.exe".
3. Для работы с остальными расчетными заданиями нужно использовать файл "ТЯП.docx".
Пояснения к запуску программы:
1. Для работы с программой 1 нужно использовать файл "Z1.exe".
2. Для работы с программой 2 нужно использовать файл "Z2.exe".
3. Для работы с остальными расчетными заданиями нужно использовать файл "ТЯП.docx".
На данный момент (19 апреля 2025) на выполнении находится 36 заказов.
Количество программистов, занятых выполнением текущих заказов: 15.
В текущем месяце (апрель 2025) нами уже выполнено 27 заказов.
В текущем году (2025) нами уже выполнено 209 заказов.
В прошлом году (2024) нами было выполнено 763 заказа.
В позапрошлом году (2023) нами было выполнено 777 заказов.
Количество активных программистов на сайте: 66.
Загруженность отдела заказами: 37%.
Размер архива 172 Кб, все фaйлы прoверены aнтивирусом Кaсперского. Скачать























































































































К программе прилагается:
- 1) отчет - 24 стр.
Перед покупкой готовой работы не забудьте проверить её оригинальность. Запросить у администратора проверку текущей оригинальности работы по версии системы Антиплагиат.РУ
ВНИМАНИЕ ! Если данный отчет Вам не подходит, то Вы можете заказать написание нового отчета (согласно Вашему оглавлению) автору данной программы. Чтобы узнать цену, нажмите на эту ссылку.

Задание № 1. «Распознавание типов формальных языков и грамматик» . . . . . . . . . . . . . . .2 Задание № 2 . «Построение конечного автомата по регулярной грамматике» . . . . . . . . . .4 Задание № 3 . «Минимизация конечных автоматов» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 Задание № 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15 «Эквивалентные преобразования контекстно-свободных грамматик» . . . . . . . . . . . . . . . . .15 Задание № 5 .«Построение автомата с магазинной памятью по контекстно-свободной грамматике» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16 Задание № 6 . «Моделирование функционирования распознавателя для LL(1)-грамматик» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .