You are on page 1of 4

UFRA PARAGOMINAS

BACHARELADO EM SISTEMAS DE INFORMAÇÃO


LINGUAGENS FORMAIS E AUTÔMATOS

Lista de Exercícios 2

1. O que é alfabeto?

R: Alfabeto é um conjunto finito e não vazio de símbolos. Geralmente, o alfabeto é denotado por ∑.
Um exemplo de alfabeto seria ∑ = {0, 1}, ou seja, um alfabeto que possui dois símbolos, “0” e “1”.
2. Defina o conceito de cadeia.
R: Uma cadeia é uma sequência formada por símbolos pertencentes à um mesmo alfabeto. Por
exemplo, a partir do alfabeto ∑ = {0, 1} seria possível formar as cadeias 0, 001 e 110101. Note que
diferentes cadeias não precisam necessariamente ter a mesma quantidade de símbolos.
3. Defina o conceito de linguagem e mostre um exemplo
R: Linguagem é um conjunto de cadeias formadas a partir de um mesmo alfabeto. Assim, L = {0, 1, 00,
01, 10, 11} seria um exemplo de linguagem formada a partir do alfabeto ∑ = {0, 1}. A quantidade de
cadeias pertences à uma linguagem não é necessariamente finita.

4. O que é fechamento de um alfabeto?


R: Fechamento de um alfabeto é o conjunto de todas as cadeias possíveis de se formar a partir dos
símbolos deste alfabeto. Denota-se o fechamento de um alfabeto ∑ por ∑*. Para o alfabeto ∑ = {1},
por exemplo, ∑* seria formado por todas as seqüências possíveis do símbolo “1”, de qualquer
tamanho, mais a cadeia nula (λ). Pode-se notar que, basta que o alfabeto possua um único símbolo
(conjunto não vazio) para que o seu fechamento seja infinito.
5. Como se pode descrever uma linguagem formal?
R: Uma linguagem formal ou simplesmente linguagem L sobre um alfabeto Σ, é um conjunto de
palavras sobre Σ.
6. Fale sobre aplicações de LFA.
R: É difícil descrever todo o universo de aplicações nas quais se pode utilizar os modelos
estudados em LFA. Entretanto, entre as principais aplicações, pode se destacar: • análise de
linguagens de programação o léxica; o sintática; • modelos de sistemas biológicos; •
desenho de hardware; • relacionamentos com linguagens naturais; • processamento de
imagens ou visão computacional (reconhecimento de padrões);
7. Defina o conceito de subpalavra.
R: Dadas x e y, cadeias pertencentes à Σ*. Uma cadeia x é uma subpalavra de uma cadeia y
sse ∃w,u ∈ Σ* tal que y= wxu .
8. Dados L1={a, ab} e L2={l, a, ba}, linguagens sobre {a, b}, determine:
a. L1 ∪ L2 : {a, ab, λ, ba}
b. L1 ∩ L2 :{a}
c. L1 - L2 :{ab}
d. L2 - L1: {λ, ba}
e. L1.L2 : {a, aa, aba, ab, abba}
f. L2.L1 : {a, ab, aa, aab, baa, baab}
g. L12 = L1.L1 : {aa, aab, aba, abab}
h. L22 = L2.L2 :{λ, a, ba, aa, aba, baa, baba}
i. ¬L1 : {a, b} * - {a, ab}
9. Descreva a definição de AFD.
R: Um AFD é uma quíntupla , onde: Σ é o alfabeto de entrada; S é um conjunto finito
não vazio de estados; S0 é o estado inicial, S0 ∈ S ; δ é a função de transição de estados,
definida δ: S x Σ → S ; F é o conjunto de estados finais, F⊆ S .
10. Dado o alfabeto Σ = {a,b}, construa AFDs para as seguintes linguagens:

a) { b(ab)nb | n ≥ 0 }

b) { banba | n ≥ 0 }
c) { ambn | m+n é par }
d) { abmba(ab)n | m, n ≥ 0 }

11. Seja Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, construa AFDs para as seguintes linguagens:


a) { x ∈ Σ + | a sequência descrita por x corresponda a um valor inteiro par}

b) { x ∈ Σ + | a sequência descrita por x corresponda a um valor inteiro divisível por 5}

c) { x ∈ Σ + | a sequência descrita por x corresponda a um valor inteiro ímpar} .

12. Qual é a linguagem definida pelo seguinte autômato?


L = { w ∈ {a, b} * | |w|a = 2n+1 ∧ |w|b = 2m+1 ∧ n, m≥0 }
ou
L = { w ∈ {a, b} * | a quantidade de símbolos ‘a’ e a quantidade de símbolos ‘b’ em w é ímpar}

13. Desenvolva AFDs que reconheçam as linguagens sobre Σ = {a,b} que:


a) contenha exatamente dois símbolos a.
b) contenha pelo menos dois símbolos b.
c) contenha pelo menos dois símbolos c consecutivos.
d) contenha no máximo três símbolos c consecutivos.
e) contenha uma quantidade par de símbolos a.
f) contenha uma quantidade ímpar de símbolos b.
g) contenha no mínimo um e no máximo três símbolos a.
h) a quantidade total de símbolos nas cadeias é par.
i) a quantidade total de símbolos nas cadeias é ímpar.
14. Mostre a sequência de passos assumidos pelo AFD abaixo durante a análise das cadeias abcdabc e
abdabcd. Determine se essas cadeias pertencem ou não à linguagem reconhecida pelo AFD. M = ( {q0,
q1, q2, q3}, {a, b, c, d}, �, q0, {q3} )
�(q0,a) = q1 �(q1,b) = q2 �(q2,c) = q3
�(q3,c) = q3 �(q3,d) = q0
15. Mostre a sequencia de passos assumidos pelo AFD abaixo durante a análise das cadeias abbca e
abaac. Determine se essas cadeias pertencem ou não à linguagem reconhecida pelo AFD. M = ( {q0,
q1}, {a, b, c}, �, q0, {q1} )
�(q0,a) = q1 �(q1,b) = q1 �(q1,c) = q0
16. Seja M um AFD com estados A, B, C, D, E, sendo A o estado inicial e E o estado final. Os símbolos de
entrada são 0 e 1 e � está descrita na tabela abaixo. Mostre cinco cadeias reconhecidas por M.

You might also like