Linguagem Fabrício Dias

Slides:



Advertisements
Apresentações semelhantes
TEORIA DA COMPUTAÇÃO Parte I  Introdução  Linguagens Regulares
Advertisements

FAPE - Curso de Ciência da Computação
FAPE - Curso de Ciência da Computação
Matemática Computacional
Variantes de Máquina de Turing
REVISÃO– FUNÇÕES Fabrício Dias
Teoria da Computação MÁQUINA DE TURING (Continuação) Fabrício Dias
Teoria da Computação VERIFICAÇÃO DE EQUIVALÊNCIA FORTE DE PROGRAMAS
REVISÃO– CONJUNTOS E FUNÇÕES Fabrício Dias
Teoria da Computação EQUIVALÊNCIA DE PROGRAMAS E MÁQUINA Fabrício Dias
MÁQUINAS UNIVERSAIS Fabrício Dias
I - Noções dum compilador
I - Noções dum compilador
Universidade Federal de Campina Grande – UFCG Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação – DSC Máquina de.
Prof. Yandre Maldonado e Gomes da Costa
Prof. Yandre Maldonado e Gomes da Costa
Linguagens Formais e Autômatos
Prof. Yandre Maldonado e Gomes da Costa
Teoria da Computação FIC– Ciência da Computação
Análise Léxica (Parte 2)
TEORIA DOS AUTÓMATOS FINITOS E DAS SUAS LINGUAGENS
3 AUTÓMATOS FINITOS.
Ling. Formais e Autômatos Autômatos finitos
Máquinas de Turing Não Deterministas
Máquinas de Turing Teoria da Computação.
Teoria da Computação Sandra de Amo
Gramáticas Livres do Contexto Revisão
Linguagens Livres de Contexto
Strings, Linguagens, Autômatos
Linguagens e Máquinas WILSON ROSA DE OLIVEIRA DEPARTAMENTO DE INFORMÁTICA UFPE
autômatos finitos com transições e
Árvores e Árvores Binárias
01(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
Alfabetos, Palavras e Linguagens
Prof. Luiz A M Palazzo Pelotas, fevereiro de 2011
Exercícios Linguagens Formais.
G R U P O S - III.
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Informática Teórica Engenharia da Computação
Compiladores, Aula Nº 5 João M. P. Cardoso
Computabilidade e Linguagens Formais
Linguagens Livres de Contexto
Lema do Bombeamento Linguagens Livres de Contexto
Aspectos Formais da Computação CCO 410
Informática Teórica Engenharia da Computação
Ling. Formais e Autômatos AFN-ε
Teoria da Computação Aula 1 Prof. Fabiano Sabha.
Expressões Regulares e Gramáticas
Autómatos de Pilha. UM NOVO MODELO PARA OS AUTÓMATOS FINITOS As linguagens regulares são aceites por autómatos finitos. E as linguagens não regulares?
CONJUNTO Um conjunto se pode entender como uma coleção ou agrupamento bem definido de objetos de qualquer classe. Os objetos que formam um conjunto são.
Universidade Federal de Campina Grande – UFCG Centro de Engenharia Elétrica e Informática – CEEI Departamento de Sistemas e Computação – DSC Teoria da.
Linguagens Formais e Compiladores
Linguagens Formais e Autômatos
LFA: Unidade 03 – Parte B Engenharia/Ciência da Computação
Redução.
Prof. André Luis Roland Tancredo Engenheiro da Computação e Pesquisador em Desenvolvimento Tecnológico para Semicondutores pelo CNPq Especialista em Microeletrônica.
Linguagens Formais - aula 02
Computabilidade e Linguagens Formais
Engenharia/Ciência da Computação
tópicostópicos itens 01. Terminologia 02. Operações básicas 03. Representação de linguagens 04. Formalização de gramáticas 05. Processo de derivação 06.
Compiladores Análise Léxica
1 Decidibilidade continuação…. 2 Teorema: Para qualquer linguagem recursivamente enumerável é indecidível determinar se é finita Prova: Vamos reduzir.
COMPILADORES 03 Prof. Marcos.
INTRODUÇÃO AO CÁLCULO CONJUNTOS NUMERICOS.
Transcrição da apresentação:

Linguagem Fabrício Dias fabriciounipe@ig.com.br 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 Prefixo, sufixo, subpalvra Concatenação de palavras.

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.

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?

Palavra  denota uma cadeia vazia ou palavra vazia 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}

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,....

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

Linguagem X Comprimento 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

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 {}.

Prefixo, sufixo, subpalavra Um Prefixo de uma palavra é qualquer seqüência inicial de símbolos da palavra Um Sufixo de 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.

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

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

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.

Dúvidas??