Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
контрольная ОТ.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
198.14 Кб
Скачать

Глава №4

1. Вопрос:

К какому описанию языка применим термин формальная грамматика?

1. Ответ:

Термин «формальная грамматика» применим к любому определению формального языка, основанному на грамматических правилах, с помощью которых можно порождать и анализировать цепочки аналогично тому, как грамматики используются при изучении естественных языков.

2. Вопрос:

Опишите при помощи грамматики язык, состоящий из следующих предложений:

Зеленый крокодил видит зеленый лес.

Большой зеленый крокодил видит лес.

Крокодил видит большой зеленый лес.

Крокодил видит зеленый лес.

2. Ответ:

V={крокодил, лес, зеленый, большой, видит}

Правила:

1) <предложение><подлежащее><сказуемое><дополнение>

2)<подлежащее><прилагательное><существительное>|

<существительное>

3) <дополнение ><прилагательное><существительное>|

<существительное>

4) <прилагательное>зеленый | большой | большой зеленый

5) <существительное>лес | крокодил

6) <сказуемое>видит

3. Вопрос:

Дайте определение порождающей грамматики Хомского

3. Ответ:

Порождающей грамматикой Хомского – называется грамматика, которая «порождает» (выводит) множество называемое языком.

4. Вопрос:

Задайте с помощью грамматики Хомского следующий язык: L={aab, abab, abc, aabc}. Постройте дерево вывода для одной из цепочек языка.

4. Ответ:

G0=(T0 , N0 , S , R0)

T0={a,b}

N0={A,B,S}

R0:

SaAb|aBc

Aa|ba

Bb|ab

S aAb abab

aab

5. Вопрос:

Пусть грамматика G содержит следующие правила: bAacBc, aBcc. Выводимы ли в данной из цепочки =acbAacaBc цепочки = acacBcacc, = acacBcaca ? Докажите.

Дана грамматика G: G= (Т, N, S, R), Т= {a, b}, N= {A, B, S}, R: SaS

bAab

aSbA

Какой язык задает данная грамматика? Постройте вывод цепочки языка. Приведите пример сентенциальной формы для данного вывода.

5.Ответ:

1) =acbAacaBc

= acacBcacc

=acbAacaBc acacBcacaBc  acacBcacc=

= acacBcaca

так как грамматика G содержит следующие правила: bAacBc, aBcc.

из  можно вывести  и нельзя вывести 

2) Дана грамматика G: G= (Т, N, S, R), Т= {a, b}, N= {A, B, S}, R: SaS

bAab

aSbA

Язык L={(a)nb; n>=1}

SaSaaSabAaab

Cентенциальные формы: aS,aaS,abA

6. Вопрос:

Приведите пример продукции, задающей процесс усвоения знаний студентом на лекции.

6. Ответ:

Выучи лекции, если хочешь сдать экзамен, ответь на билет и получи отличную оценку.

Выучи лекции – условие применимости ядра

если хочешь сдать экзамен - ядро продукции

ответь на билет и получи отличную оценку - постусловия продукции

7. Вопрос:

а) Дана грамматика G= (Т, N, S, R), Т= {a, b, c, d}, N= {A, B, S},

R0: S®aSc

bAB®ab

bAd®abc

aS®bAdc

Какой язык порождает данная грамматика?

Построить эквивалентную ей грамматику.

б) Построить нетривиальную грамматику, порождающую следующий язык:

L={abcda, abcaba, daabc, aabdaa, cada}. Докажите, что построенная Вами грамматика действительно порождает этот язык.

7. Ответ:

а) Язык: L={(a)nb(c)n+2; n>=0}

Эквивалентная грамматика:

G= (Т, N, S, R), Т= {a, b, c}, N= {S},

R0: S®aSc

aS®abcc

б) L={abcda, abcaba, daabc, aabdaa, cada}.

R1: S® abcda | abcaba | daabc | aabdaa | cada; G1={{a,b,c,d},{S},S,R1}

R2: S® AB | Aaba | BA | aabBa | caB, A®abc, B®da; G2={{a,b,c,d},{S,A,B},S,R2}

Проверка:

8. Вопрос:

Можно ли построить дерево вывода для грамматики G из упражнения 7а ? Поясните.

8. Ответ:

Не для каждой грамматики можно построить дерево вывода. Деревом вывод можно представить в грамматиках, у которых левая часть правил состоит из одного нетерминала. Для грамматики G из упражнения 7а это условие не выполняется.

9. Вопрос:

Построить вывод в данной грамматике следующих констант: 0.253, 0.5E35, 2E-3

9.Ответ:

<константа>®<десятичное число>®<целое без знака>.<целое без знака>®<0>.<253>®0.253

<константа>®<десятичное число>E<целое>®<целое без знака>.<целое без знака>E<целое без знака>®<0>.<5>E<35>®0.5E35

<константа>®<целое>E<целое>®<целое без знака>E-<целое без знака>®<2>E-<3>®2E-3

10. Вопрос:

Постройте вывод в данной грамматики следующей конструкции: ((АТОМ.(АТОМ.АТОМ))(АТОМ.АТОМ)

10. Ответ:

<S>®(<S>.<S>)®((<S>.<S>).<S>)® ((<S>.<S>)(<S>.<S>))® ((<S>.(<S>.<S>))(<S>.<S>))® ((АТОМ.(АТОМ.АТОМ))(АТОМ.АТОМ))

11. Вопрос:

Постойте в данной грамматике вывод цепочки (2+7)*(5-(3+1)). Покажите, каким образом для данной цепочки определяются операнды в каждой операции.

11. Ответ:

12. Вопрос:

а) Приведите примеры правил для каждого типа грамматик.

б) Определите типы следующих грамматик:

1) G1= {{a, b, c}, {A, B, S}, S, R}

R: SAaB; ABbc; Bab.

2) G= {{a, b, c}, {A, B, S}, S, R}

R: SAaB; aAbaBbcb; aBab.

3) G= {{a, b, c}, {A, B, S}, S, R}

R: SaA; AcB; B

в) Для каких из данных грамматик существует самый эффективный алгоритм распознавания цепочек?

12. Ответ:

а)

0-типа:

G= (Т, N, S, R), Т= {a, b, c}, N= {S}, R: S®aFD; F®AFB; FB®bA; AF®D; D® ε

1-типа:

G= {{a, b, c}, {A, B, S}, S, R}, R: SAaB; aAbaBbcb; aBab.

2-типа:

G1= {{a, b, c}, {A, B, S}, S, R}, R: SAaB; ABbc; Bab.

3-типа:

G= {{a, b, c}, {A, B, S}, S, R}, R: SaA; AcB; B

б)

1) G1= {{a, b, c}, {A, B, S}, S, R}; R: SAaB; ABbc; Bab.

Грамматика 2типа: контекстно-свободная

2) G= {{a, b, c}, {A, B, S}, S, R}; R: SAaB; aAbaBbcb; aBab.

Грамматика 1типа: контекстно-зависимая

3) G= {{a, b, c}, {A, B, S}, S, R}; R: SaA; AcB; B

Грамматика 3типа: автоматная

в) Для 2-типа – существует алгоритм, и он более эффективен, а также для 3-типа – существует простой и эффективный алгоритм.