Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Teoria da Computao
Introduo
Lucilia Figueiredo
Universidade Federal de Ouro Preto
DECOM-UFOP 2008
www.dcc.ufmg.br/~lucilia/cursos/ftc
Alfabeto, String.
Alfabeto Conjunto nito de smbolos Exemplos: {0, 1}, {a}, {a . . . z} String s sobre um alfabeto Seqncia nita de smbolos de Exemplos: 00101, abracadabra representa o string vazio conjunto de todos os strings sobre |s| representa o comprimento do string s s w representa a concatenao de s com w sn representa s . . . s .
n vezes
Universidade Federal de Ouro Preto www.dcc.ufmg.br/~lucilia/cursos/ftc
Alfabeto, String.
Alfabeto Conjunto nito de smbolos Exemplos: {0, 1}, {a}, {a . . . z} String s sobre um alfabeto Seqncia nita de smbolos de Exemplos: 00101, abracadabra representa o string vazio conjunto de todos os strings sobre |s| representa o comprimento do string s s w representa a concatenao de s com w sn representa s . . . s .
n vezes
Universidade Federal de Ouro Preto www.dcc.ufmg.br/~lucilia/cursos/ftc
Linguagem.
Linguagem L sobre um alfabeto L Exemplos: L1 = {00, 01, 10, 11} L2 = {x | x contm pelo menos dois 0s} L3 = {w | |w| par } L4 = {w | w palndromo } L5 = {0n 1n | n N} L6 = {1n | n primo} L7 = L8 = { }
www.dcc.ufmg.br/~lucilia/cursos/ftc
www.dcc.ufmg.br/~lucilia/cursos/ftc
www.dcc.ufmg.br/~lucilia/cursos/ftc
L= L{ }= L= L{ }= L= L{ }= L= L= L{ }=
www.dcc.ufmg.br/~lucilia/cursos/ftc
L=L L{ }= L= L{ }= L= L{ }= L= L= L{ }=
www.dcc.ufmg.br/~lucilia/cursos/ftc
L=L L{ }=L L= L{ }= L= L{ }= L= L= L{ }=
www.dcc.ufmg.br/~lucilia/cursos/ftc
L=L L{ }=L L= L{ }= L= L{ }= L= L= L{ }=
www.dcc.ufmg.br/~lucilia/cursos/ftc
www.dcc.ufmg.br/~lucilia/cursos/ftc
www.dcc.ufmg.br/~lucilia/cursos/ftc
www.dcc.ufmg.br/~lucilia/cursos/ftc
L=L L{ }=L L= L{ }={ } L=L L { } = {w | |w| par e |w| > 0 } L = {w | |w| impar } L= L{ }=
www.dcc.ufmg.br/~lucilia/cursos/ftc
L=L L{ }=L L= L{ }={ } L=L L { } = {w | |w| par e |w| > 0 } L = {w | |w| impar } L= L{ }=
www.dcc.ufmg.br/~lucilia/cursos/ftc
L=L L{ }=L L= L{ }={ } L=L L { } = {w | |w| par e |w| > 0 } L = {w | |w| impar } L= L{ }=L
www.dcc.ufmg.br/~lucilia/cursos/ftc
Notao
L0 = { } L1 = L L2 = L L . . . Ln = L . . . L
n vezes
L = Ln n=0
www.dcc.ufmg.br/~lucilia/cursos/ftc
Qual a linguagem L sobre {0, 1} denida por: i L ii se x L, ento 0x L e x1 L iii nenhum outro string pertence a L
www.dcc.ufmg.br/~lucilia/cursos/ftc
Dena recursivamente cada uma das seguintes linguagens: a {w {0, 1} | |w| par } b {w {0, 1} | w um palndromo } c {w {0, 1} | w contm 00 } d {w {0, 1} | w no contm 00 } e {0n | n N}
2
www.dcc.ufmg.br/~lucilia/cursos/ftc
Gramticas
Formalismo para gerar palavras de uma linguagem Constituda de regras da forma u v onde u e v so sequncias de smbolos de variveis, ou no-terminais, e smbolos terminais, isto , smbolos da linguagem. Exemplo de regra: aAB baA Como esta regra usada? aABBaAB baABaAB bbaAaAB bbaAbaA Uma varivel especial a varivel inicial
www.dcc.ufmg.br/~lucilia/cursos/ftc
Gramticas
Exemplo 1) 2) 3) 4) 5) P A A Cb Cc aAbc aAbC bC cc
www.dcc.ufmg.br/~lucilia/cursos/ftc
Gramticas
Exemplo 1) 2) 3) 4) 5)
P aAbc aaAbCbc aaaAbCbCbc aaabCbCbc aaabbCCbc aaabbCbCc aaabbCbcc aaabbbCcc aaabbbccc
P A A Cb Cc
aAbc aAbC bC cc
Gramticas
Exemplo 1) 2) 3) 4) 5)
P aAbc aaAbCbc aaaAbCbCbc aaabCbCbc aaabbCCbc aaabbCbCc aaabbCbcc aaabbbCcc aaabbbccc
P A A Cb Cc
aAbc aAbC bC cc
www.dcc.ufmg.br/~lucilia/cursos/ftc
Gramticas
Exemplo 1) 2) 3) 4) 5)
P aAbc aaAbCbc aaaAbCbCbc aaabCbCbc aaabbCCbc aaabbCbCc aaabbCbcc aaabbbCcc aaabbbccc
P A A Cb Cc
aAbc aAbC bC cc
www.dcc.ufmg.br/~lucilia/cursos/ftc
Gramticas - Exerccios
Dena uma gramtica para cada uma das seguintes linguagens: a {w {0, 1} | |w| par } b {w {0, 1} | w um palndromo } c {w {0, 1} | w contm 00 } d {w {0, 1} | w no contm 00 } e {0n 1n | n N} f {0n 12n+1 | n N}
www.dcc.ufmg.br/~lucilia/cursos/ftc