Exercícios

15
Exercícios Linguagens Formais

description

Exercícios. Linguagens Formais. Para cada um dos pares de descrições de linguagens a seguir, escolha o relacionamento correto de acordo com essas quatro opções: (1)  (2): linguagem (1) é um subconjunto da linguagem (2). (1)  (2): linguagem (1) é um super-conjunto da linguagem (2). - PowerPoint PPT Presentation

Transcript of Exercícios

Page 1: Exercícios

Exercícios

Linguagens Formais

Page 2: Exercícios

1. Para cada um dos pares de descrições de linguagens a seguir, escolha o relacionamento correto de acordo com essas quatro opções:

(1) (2): linguagem (1) é um subconjunto da linguagem (2).

(1) (2): linguagem (1) é um super-conjunto da linguagem (2).

(1) = (2): as linguagens (1) e (2) são as mesmas.(1) ? (2): as linguagens (1) e (2) não possuem relação de

subconjunto; ou seja, existem cadeias em (1) que não estão em (2), e há cadeias em (2) que não estão em (1).

a) (1): A linguagem da GLC com as produções S 0S1 | 1S0 | λ

(2): A linguagem da expressão regular (0 + 1 )*. (1) está contida em (2). (2) gera todas as cadeias de 0’s

e 1’s, enquanto (1) não gera cadeias como 11, ou qualquer string de tamanho ímpar.

Page 3: Exercícios

b) (1): A linguagem da GLC com as produções

S AS | SB | λ, A 0 e B 1

(2): A linguagem da expressão regular 0*1*

As linguagens são iguais.

Page 4: Exercícios

c) (1): A linguagem da expressão regular

(0 + 1)*11(0 + 1)*

(2): A linguagem da expressão regular (0*1*11)*0*110*1*

(1) contém (2).

(1) é formada por todas as cadeias de 0’s e 1’s com dois 1’s consecutivos. (2) não possui algumas dessas cadeias, como por exemplo as terminadas em 110101.

Page 5: Exercícios

2) Seja L a linguagem consistindo de todas as cadeias de zero ou mais 0’s seguidas por um ou mais 1’s, seguidas por dois ou mais 2’s. Por exemplo, 001122, 122 e 0111122 estão em L; 012 (poucos 2’s) e 0112122 (um 2 precede um 1) não estão.

a) Escreva uma expressão regular cuja linguagem

seja L. 0*11*222*

Page 6: Exercícios

b) Dê uma gramática livre de contexto que gere a mesma linguagem. É suficiente apenas dar as produções, assumindo que S é o símbolo inicial.

Existem várias gramáticas aceitáveis, uma delas é:S ABCA 0A | λB 1B | 1C 2C | 22

Page 7: Exercícios

3) Construa uma gramática regular para cada uma das linguagens a seguir:

(a) o conjunto das cadeias sobre {a, b, c} que não contém aa.

S aA | bS | cS | λA bS | cS | λ(b) o conjunto das cadeias sobre {a, b, c} nas quais

cada b é seguido por pelo menos um c.S aS | bA | cS | λA cS(c) o conjunto das cadeias sobre {a, b} nas quais o

número de a’s é divisível por 3.S aA | bS | λA aB | bAB aS | bB

Page 8: Exercícios

d) O conjunto das cadeias sobre {a, b} nos quais cada a é precedido (imediatamente) ou seguido (imediatamente) por b.

S aA | bB | λ

A bB

B aS | bB | λ

Page 9: Exercícios

4) Seja G a gramáticaS aS | Sb | ab | SS(a) Dê uma expressão regular para L(G).(a+b+)+

(b) Construa duas derivações mais a esquerda de aabb.

S aS aSb aabb

S Sb aSb aabb

(c) Construa as árvores de derivação para as derivações da parte (b)

S Sa S S b

S b a S a b a b

Page 10: Exercícios

(d) Construa uma gramática não ambígua equivalente a G.

S aS | abAA bA | S | λ(e) Escreva uma gramática regular equivalente. S aS | aBB bAA bA | aS | aB | λ

Page 11: Exercícios

5) Seja G a gramática livre de contexto com as seguintes produções:

S aS | Sb | a | b(a) Prove, por indução no tamanho da derivação, que todas

as cadeias w Є L(G) tem a propriedade de não conter ba como uma subcadeia.

Seja t = tamanho da indução.(i) Se t = 1 então S => a ou S => b. Portanto, não possuem

ba como subcadeia.(ii) Supomos que, para 1 t < k, se S =>* w e |w|= t, então

w não possui ba como subcadeia.(iii) Vamos mostrar que a proposição vale para t = k

Nesse caso, S =>k w. Como em cada passo de derivação exatamente um terminal é gerado (a ou b), então necessariamente |w| = k. Além disso, w foi gerado num caminho S => aS =>k-1 ax ou S=> Sb =>k-1 yb, e|x| = |y| = k-1.Por (ii), nem x nem y têm ba como subcadeia. Logo, ax e yb também não têm ba como subcadeiac.q.d.

Page 12: Exercícios

6) Construa uma gramática para cada uma das linguagens:(a) {ambn | m > n}S aS | aAA aAb | λ(b) {w Є {a, b}* | o número de a’s em w é o dobro do número

de b’s}S aSaSbS | aSbSaS | bSaSaS | λ(c) {ambn | n ≤ m ≤ 2n}S aSb | aaSb | λ(d) {ambncpdq | m + n ≥ p + q}

Page 13: Exercícios

6) Construa uma gramática para cada uma das linguagens:(a) {ambn | m > n}S aS | aAA aAb | λ(b) {w Є {a, b}* | o número de a’s em w é o dobro do número

de b’s}S aSaSbS | aSbSaS | bSaSaS | λ(c) {ambn | n ≤ m ≤ 2n}S aSb | aaSb | λ(d) {ambncpdq | m + n ≥ p + q}S aSd | A | B = gera igual número de a e dA bAd | C = gera igual número de b e dB aBc | C | D = gera igual número de a e cC bCc | E = geral igual número de b e cD aD | E = gera pelo menos um aE bE | λ = gera pelo menos um b

Page 14: Exercícios

Exercícios da 4a. Lista (material web)

6) Indicar qual é a linguagem gerada pela gramática dada, e classificá-la:

(a) S A0

A 1A

A0 10

L = 1+ 0

G.Regular equivalente:

S A0

A 1A | 1

Page 15: Exercícios

(e) S 0A | 1B

A 0A | 0

B 1B | 1

L= (0+ + 11+) A linguagem é regular.