1 / 14

Teoria da Computação

UNIPÊ – Centro Universitário de João Pessoa Curso de Ciências da Computação. Teoria da Computação. Linguagem Fabrício Dias fabriciounipe@ig.com.br. Agenda. Definição de linguagem Alfabeto Cadeia de símbolos ou palavras Comprimento de palavra Linguagem X Comprimento

burke
Télécharger la présentation

Teoria da Computação

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. UNIPÊ – Centro Universitário de João PessoaCurso de Ciências da Computação Teoria da Computação Linguagem Fabrício Dias fabriciounipe@ig.com.br

  2. Agenda • Definição de linguagem • Alfabeto • Cadeia de símbolos ou palavras • Comprimento de palavra • Linguagem X Comprimento • Prefixo, sufixo, subpalvra • Concatenação de palavras.

  3. Linguagem • Linguagem é um conceito fundamental no estudo de Teoria da Computação • Trata da forma precisa de expressar problemas, permitindo um desenvolvimento formal adequado ao estudo da computabilidade.

  4. Alfabeto • Alfabeto (Σ) • Representado por “Σ” • Qualquer conjunto finito de símbolos ou caracteres • Um conjunto infinito não é um alfabeto • O conjunto vazio é um alfabeto • Exemplos de alfabetos • Σ1 = {a, b, c} • Σ2 = {0, 1, x, y, z} • Σ3 = {a, b, c, d, e, f, g, h, .... ,x, z} • Σ4 =  (conjunto vazio) • O conjunto dos IN forma um alfabeto? • O conjunto de IN {1, 4, 8,10, …, 1000} é um alfabeto?

  5. Palavra • Cadeia de símbolos (strings) ou palavra • Uma Cadeia de Símbolos (ou palavra) sobre um conjunto é uma seqüência de zero ou mais símbolos (do conjunto) justapostos • Uma Palavra é uma cadeia de símbolos finita • Uma cadeia sem símbolos é uma palavra válida e o símbolo: •  denota uma cadeia vazia ou palavra vazia • Exemplo • abcb é uma palavra do alfabeto Σ= {a, b, c} • Abcf não é uma palavra do alfabeto Σ= {a, b, c}

  6. Linguagem • Linguagem • Exemplo • Suponha o alfabeto  = {a,b}. Então: • O conjunto vazio e o conjunto formado pela palavra vazia são linguagens sobre . •  ≠ {} • O conjunto de palíndromos (palavras que têm a mesma leitura da esquerda para direita e vice-versa) sobre  é um exemplo de linguagem infinita. • , a, b, aa, bb, aaa, aba, bab, bbb,....

  7. Comprimento de palavra • Comprimento ou tamanho de uma palavra • Se w é uma cadeia sobre , o comprimento de w, denotado por |w|, é o número de símbolos que w contém. • A cadeia de comprimento 0, é denominado cadeia nula ou palavra vazia e é representado por . • |  | = 0 • Exemplo • Seja o alfabeto  = {0, 1}, então w = 01001 é um string ou palavra sobre . • |w| = 5

  8. Linguagem X Comprimento • Linguagem • Um conjunto de palavras sobre um alfabeto • O conjunto 1 é aquele que contém todas as palavras sobre o alfabeto  cujo comprimento é 1 (Ou seja, todos os símbolos do alfabeto) • Exemplo: Seja o alfabeto  = {0, 1} • 1 = 0 ou 1 = 1, ou seja | 1 |=1

  9. Linguagem X Comprimento • 2 contém palavras sobre  com comprimento 2 e assim por diante. • Exemplo: Seja o alfabeto  = {0, 1, 2} • 2 = 01, 02, 12, ou seja | 2 |=1 • Definimos então, o conjunto • * como o conjunto de todas as palavras sobre este mesmo alfabeto (A união de todos os outros conjuntos) • Exemplo:  = {0, 1}, então * ={ ,01,001, 00111, ...} • + como o conjunto de todas as palavras sobre este mesmo alfabeto, exceto a palavra vazia {}.

  10. Prefixo, sufixo, subpalavra • Prefixo, Sufixo, Subpalavra • Um Prefixode uma palavra é qualquer seqüência inicial de símbolos da palavra • Um Sufixode uma palavra é qualquer seqüência final de símbolos da palavra • Uma Subpalavra (ou subcadeia)de uma palavra é qualquer seqüência que compõe a palavra • Qualquer prefixo ou sufixo de uma palavra é uma subpalavra. • Exemplo: Seja a palavra abcb • , a, ab, abc, abcb são os prefixos; • , b, cb, bcb, abcb são os sufixos; • , a, ab, abc, abcb, b, cb, bcb, abcb são subpalavras.

  11. Concatenação de palavras • Concatenação de Palavras • A concatenação de palavras é uma operação binária, definida sobre uma linguagem, a qual associa a cada par de palavras uma palavra formada pela justaposição da primeira com a segunda. • Suponha v,w,t como palavras: • v(wt) = (vw)t - associatividade •  w = w = w  - elemento neutro a esquerda ou direita

  12. Concatenação sucessiva • Concatenação Sucessiva de Palavras • A concatenação sucessiva de uma Palavra (com ela mesma) é representada na forma de um expoente: • wn onde n é o número de concatenações sucessivas • Exemplos: • (wabc)0 =  • wa1 = wa • wab3 = wabwabwab • wab5 = wabwabwabwabwab

  13. Concatenação • Concatenação de Palavras • Uma concatenação definida sobre uma linguagem L não é necessariamente fechada sobre L, ou seja, a concatenação de duas palavras de L não é necessariamente uma palavra de L. • Exemplo: Suponha a linguagem L de palíndromos sobre Σ = {a, b}. • A concatenação das palavras aba e bbb resultam na palavra ababbb a qual não é palíndromo. Portanto a operação de concatenação não é fechada sobre L.

  14. Dúvidas??

More Related