Sei sulla pagina 1di 1

Linguagens Formais e Autômatos

– Revisão –

Nome: Nota:

1. (1.5) Dê diagramas de estado de AFDs para as linguagens a seguir:


(a) { w ∈ {a, b}∗ | toda posição ı́mpar de w é b}
(b) { w ∈ {a, b}∗ | contém pelo menos dois a’s e no máximo três b’s}

2. (1.0) Dê expressões regulares que gerem as seguintes linguagens:


(a) { w ∈ {a, b}∗ | contém exatamente três a’s}.
(b) { w ∈ {a, b}∗ | toda posição ı́mpar de w é b}.
(c) { w ∈ {a, b}∗ | w contém pelo menos dois a’s e no máximo um b}.

3. (1.5) Use a construção dada no Teorema 1.39 (Sipser) para converter o AFN a seguir em um AFD
equivalente.

4. (1.0) Dê gramáticas livres-do-contexto que gerem as seguintes linguagens:


(a) {w ∈ {a, b}∗ | w tem mais a’s do que b’s}
(b) {w ∈ {a, b}∗ | w tem comprimento ı́mpar, inicia e termina com a}
(c) {w ∈ {a, b}∗ | w tem comprimento ı́mpar, o último sı́mbolo e o sı́mbolo do meio são a}

5. (2.0) Dê diagramas de estados de autômatos de pilha que reconhecem as seguintes linguagens:
(a) {an bn+m am | n, m ≥ 0}
(b) {an bm | n ≤ m ≤ 3n}

6. (1.5) Use o lema do bombeamento para mostrar que L1 = { ai bj ck | i < j < k } não é uma
linguagem regular.

7. (1.5) Use o lema do bombeamento para mostrar que L2 = {an bn an bn | n ≥ 0} não é uma linguagem
livre do contexto.

Potrebbero piacerti anche