
ТюттеринЯков.Контрольнаяработа (1)
.pdf
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ федеральное государственное автономное образовательное учреждение высшего образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА ПРИКЛАДНОЙ ИНФОРМАТИКИ
ОЦЕНКА
ПРЕПОДАВАТЕЛЬ
Ст. преподаватель |
|
|
|
Григорьева Н. Н. |
|
|
|
|
|
должность, уч. степень, звание |
|
подпись, дата |
|
инициалы, фамилия |
ПРОВЕРОЧНАЯ РАБОТА
по дисциплине: Теория автоматов и формальных языков
Вариант 10
РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ гр. |
Z1411 |
|
Тюттерин Я. Н. |
||
|
|
|
подпись, дата |
|
инициалы, фамилия |
Санкт-Петербург,2023
1. Пусть грамматика Хомского определяется правилами: S→aA | aBB
A→aaA | ε B→bB | bbC C→B | DdA E→CE
К какому классу грамматик Хомского она относится? Постройте несколько терминальных цепочек языка, порождаемого этой грамматикой. Попробуйте сформулировать более
простую (узкую) эквивалентную грамматику для порождения этого языка.
Отобразите данную грамматику с помощью иного метода задания (БНФ-нотации, язык синтаксических диаграмм, грамматики с рассеянным контекстом)
Данная грамматика относится к классу грамматик типа 2 (КС-грамматики).
S→aA
A→aaA | ε
После упрощения получим:
S→aA | ε
Грамматика в БНФ-нотации:
S ::= aA | ε
Несколько терминальных цепочек языка, порождаемого этой грамматикой:
-
-a
-aa
-aaaaaaaaaaa

2. Определите, к какому типу относится данная грамматика, и какой язык порождает (представить в виде регулярного выражения): S→1D D→D0|1
Эта грамматика относится к классу контекстно-свободных грамматик и порождает язык, задаваемый регулярным выражением: L = {110n}; n ≥ 0
3.Предположим, что идентификатор в языке программирования должен представлять собой от двух до шести символов, первый из которых – буква, остальные – буквы или цифры. Постройте КС-грамматику, описывающую структуру такой записи.
Грамматика:
S -> LD | LDD | LDDD | LDDDD | LDDDDD D -> [0-9] | L
L -> [A-Za-z]
4.Дана грамматика, определяемая правилами S→В1 В→0В1 В→0А A→ε и порожденная
терминальная цепочка 0000011111. Восстановите дерево вывода этой цепочки (правосторонний вывод, восходящий распознаватель)
1. Сначала восстановим шаги получения данной цепочки
S → B1 → 0B11 → 00B111 → 000B1111 → 0000B11111 → 00000A11111 → 0000011111
2. Построим дерево вывода цепочки:
5. Постройте контекстно-свободную грамматику над алфавитом {a,b,c}, порождающую язык L={a^n cb^m ca^n |n,m>0}. Представьте полученную грамматику в виде блоксхемы алгоритма формирования правильных цепочек языка и эквивалентного конечного автомата. Промоделируйте работу конечного автомата, убедитесь в корректности его работы на нескольких тестовых последовательностях. Постройте распознаватели грамматики на основе автомата с магазинной памятью и на базе машины Тьюринга. Промоделируйте работу распознавателей с помощью уже использованных тестовых последовательностей и убедитесь в корректности их работы.
Грамматика:
S -> aCa | aSa C -> cB
B -> bc | bB
Выводы:
S -> aCa -> acBa -> acbca
S -> aSa -> aaCaa -> aacBaa -> aacbBaa -> aacbbcaa