Escolar Documentos
Profissional Documentos
Cultura Documentos
1. Quais são os formalismos gerador e reconhecedor das Linguagens Livres do
Contexto?
Resposta:
Gramática Livre de Contexto e Autômato com Pilha.
2. O que caracteriza uma Gramática Livre de Contexto (GLC)?
Resposta:
A regra de produção possui apenas uma variável no lado esquerdo e pode
possuir qualquer combinação de variáveis e terminais no lado direito. Portanto,
a restrição é apenas no lado esquerdo da regra.
Com relação aos demais aspectos, a definição é a mesmo da gramática regular.
Ou seja, formalmente, é definida como G = (V, T, P, S), onde:
● V = Conjunto das variáveis
● T = Conjunto dos terminais
● P = Conjunto das produções
● S = Símbolo inicial
3. Defina a GLC que gera a linguagem L = {a^nb^n | n >= 0}. Depois, derive a palavra
w=aabb.
Resposta:
G = ({ S }, { a, b }, P, S), onde:
● P = {S -> aSb | e}, onde “e” representa vazio.
Derivando w=aabb, temos:
S -> aSb aSb
S -> aSb aaSbb
S -> e aabb
4. Qual linguagem é gerada pela GLC G = ({ E }, {+, *, [, ], x}, P, E), onde
P = {E -> E+E | E*E | [E] | x}?
Resposta:
A linguagem das expressçoes aritméticas com colchetes balanceados, dois
operadores e um operando. Observe que é possível gerar a seguinte expressão
com a gramática G: [x+x]*x
5. O que é uma árvore de derivação e qual a sua utilidade?
Resposta:
É uma forma de representar a derivação de uma palavra para uma dada
gramática. Conveniente em várias aplicações, como, por exemplo, compiladores
e processadores de texto.
6. O que é uma GLC Ambígua?
Resposta:
GLC que permite gerar uma mesma palavra por meio de, pelo menos, duas ou
mais árvores de derivação.
Uma outra maneira de definir uma GLC Ambígua é usando os conceitos de
derivação mais à esquerda ou derivação mais à direita. Desse modo, uma GLC é
ambígua se existe pelo menos uma palavra com:
● Duas ou mais derivações mais à esquerda ou
● Duas ou mais derivações mais à direita
7. O que é o autômato com pilha e qual a sua principal diferença para os autômatos
finitos?
Resposta:
O AP com pilha é um formalismo reconhecedor que reconhece/aceita a classe
das linguagens do tipo 02 (LLC) e sua principal diferença para os AF está no
fato dele possuir uma memória auxiliar do tipo pilha que segue o funcionamento
do algoritmo LIFO (Last In First Out).
8. Construa o AP que reconhece a linguagem L = {a^nb^na^(n+m) | n >= 0, m >= 0}.
Resposta:
9. Nos AP os estados aumentam o poder computacional? Justifique.
Resposta:
Não. Apenas com o estado inicial e a memória auxiliar do tipo pilha é possível
construir AP que aceitam qualquer LLC. A memória auxiliar exerce o papel de
memorizar os estados da máquina, não sendo necessário o uso de estados para
esta finalidade.
10. Considere a GLC G na Forma Normal de Greibach definida abaixo:
G = ({ S, B }, {a, b}, P, S), onde
● P = {S -> aB | aSB, B -> b}
Construa o AP correspondente a G.
Resposta:
PRIMEIRO PASSO:
Definir os estados q0, q1, qf.
SEGUNDO PASSO:
Definir o único arco de q0 para q1 como sendo (e, e, S).
Definir o único arco de q1 para qf como sendo (Z, Z, e), onde Z representa,
respectivamente, teste de fita vazia e testes de pilha vazia.
TERCEIRO PASSO:
Associar ao estado q1, os arcos referentes a cada regra de produção de G. São
eles: (a, S, B), (a, S, SB) e (b, B, e).
GRAFICAMENTE, TEMOS:
11. Qual a classe de linguagem é aceita por um AP sem uso da estrutura pilha?
Resposta:
Linguagens Regulares. Neste caso, os estados são usados como forma de
memorizar o passado.
12. Existe diferença do AP determinístico para o AP não-determinístico em termos
de aceitação de linguagens. Justifique.
Resposta:
Sim. O primeiro tipo reconhece a classe da LLC Determinísticas, enquanto o
segundo tipo reconhece exatamente a classe das LLC.
13. Qual a implicação do aumento do número de pilhas nos AP para além de 1
unidade? Há aumento do poder computacional? Explique.
Resposta:
O AP com duas pilhas é o modelo de computação com maior poder
computacional. Ele possui o mesmo poder da máquina de Turing, considerada o
dispositivo mais geral de computação.