Fundamentos da Teoria da Computação Professor: Newton José Vieira Primeira Prova/Turmas F e N/Solução do professor 1o semestre de 2009 DCC/ICEx/UFMG 31/3/2009 1. Sejam Σ = {0, 1}, X = Σ∗ {0} e Y = {1}Σ∗ . Descreva de forma clara e precisa, em português, as linguagens a seguir. Não é necessário dizer que as palavras são de 0s e 1s. Por exemplo: X: conjunto das palavras que terminam com 0. (a) XY . (b) Y X. (c) X ∩ Y . (d) X − Y . Solução: (a) XY : conjunto das palavras que contêm 01. (b) Y X: conjunto das palavras que começam com 1 e terminam com 0. (c) X ∩ Y : conjunto das palavras que começam com 1 e terminam com 0. (d) X − Y : conjunto das palavras que começam e terminam com 0. 2. Sejam A = {0}∗ {0, 1}{1}∗ e B = {0n 1n | n ≥ 0}. Obtenha gramáticas para as seguintes linguagens: (a) A. (b) B. (c) AB. (d) B ∗ . Solução: (a) A → 0A | A1 | 0 | 1 (b) B → 0B1 | λ (c) C → AB A → 0A | A1 | 0 | 1 B → 0B1 | λ (d) D → BD | λ B → 0B1 | 01 3. Construa AFDs que reconheçam as linguagens a seguir. Apresente apenas os diagramas de estados (que podem ser simplificados). (a) {a, b}∗ − {λ, a}. (b) {a, b}∗ {bb}{a, b}∗ . (c) {w ∈ {a, b, c}∗ | w tem número par de as e ı́mpar de cs}. (d) {w ∈ {a, b}∗ | w não contém três sı́mbolos consecutivos idênticos}. Solução: (a) a,b a a,b b a (b) b b a,b a (c) b a pp ip b a c c c c a b pi ii a b (d) a a a b a b b b 4. Seja Σ = {0, 1} e: • I0 = {w ∈ Σ∗ | o número de 0s em w é ı́mpar} • I1 = {w ∈ Σ∗ | o número de 1s em w é ı́mpar}. (a) (b) (c) (d) Desenhe os diagramas de estados de AFDs que reconheçam I0 e I1 . Obtenha o diagrama de estados para o produto dos dois AFDs. Diga quais são os estados finais para o AFD que reconhece I0 ∪ I1 . Diga quais são os estados finais para o AFD que reconhece I0 − I1 . Solução: 1 (a) 1 0 0 p 0 1 i p i 0 1 AFD para I0 AFD para I1 (b) Produto dos AFDs de I0 e I1 : 0 [p, p] [i, p] 0 1 1 1 1 0 [p, i] [i, i] 0 (c) Estados finais para o AFD que reconhece I0 ∪ I1 : {[p, i], [i, p], [i, i]} (d) Estados finais para o AFD que reconhece I0 − I1 : {[i, p]}.