Equivalênciaentre PDA e CFG

Tamanho: px
Começar a partir da página:

Download "Equivalênciaentre PDA e CFG"

Transcrição

1 Equivalênciaentre PDA e CFG

2 CFG PDA Gramáticas Lineares à direita podem ser convertidasparanfa s. Emgeral, CFG s podemserconvertidasparapda s. Em NFA REX foiútilconsiderargnfa s comoestágiointermediário. De modosimilar, seráútilconsideraraquipda s Generalizados.

3 PDA s Generalizados Um PDA Generalizado (GPDA) é como um PDA, exceto que permite substituir o topo da pilha por um string, e não apenas um caractere ou o string vazio. É fácil converter um GPDA para um PDA: basta substituir cada push de um string por uma sequência de push s simples.

4 CFG PDA Converta a gramática S ε a b asa bsb emum PDA. A idéiaé simularas derivações gramaticaiscom o PDA.

5 CFG PDA Comece com três estados para o GPDA: S ε a b asa bsb

6 CFG PDA A primeira transição empilha S$ de modo que se possa testar pilha vazia ($), e também iniciar a simulação (S). S ε a b asa bsb

7 CFG PDA Possibilite reading/popping de terminais de modo que se possa ler qualquer string de terminais gerado. S ε a b asa bsb

8 CFG PDA Simule todas as productions adicionando transições sem leitura. S ε a b asa bsb

9 CFG PDA Pop $ para aceitar quando a pilha está vazia (não deve haver mais nenhuma variável e todos os terminais devem ser lidos). S ε a b asa bsb

10 CFG PDA Converta o GPDA em um PDA usual, dividindo push s compostos. S ε a b asa bsb

11 CFG PDA S ε a b asa bsb bbaabb

12 CFG PDA S ε a b asa bsb bbaabb $

13 CFG PDA S ε a b asa bsb bbaabb S $

14 CFG PDA S ε a b asa bsb bbaabb b $

15 CFG PDA S ε a b asa bsb bbaabb S b $

16 CFG PDA S ε a b asa bsb bbaabb b S b $

17 CFG PDA S ε a b asa bsb bbaabb S b $

18 CFG PDA S ε a b asa bsb bbaabb b b $

19 CFG PDA S ε a b asa bsb bbaabb S b b $

20 CFG PDA S ε a b asa bsb bbaabb b S b b $

21 CFG PDA S ε a b asa bsb bbaabb S b b $

22 CFG PDA S ε a b asa bsb bbaabb a b b $

23 CFG PDA S ε a b asa bsb bbaabb S a b b $

24 CFG PDA S ε a b asa bsb bbaabb a S a b b $

25 CFG PDA S ε a b asa bsb bbaabb S a b b $

26 CFG PDA S ε a b asa bsb bbaabb a b b $

27 CFG PDA S ε a b asa bsb bbaabb b b $

28 CFG PDA S ε a b asa bsb bbaabb b $

29 CFG PDA S ε a b asa bsb bbaabb $

30 CFG PDA S ε a b asa bsb bbaabb aceita!

31 CFG PDA Intuitivamente, toda derivação mais à esquerda pode ser simuladaemum PDA comoa seguir: 1. EmpilheS 2. Mudea variávelno topoda pilhade acordocom a próxima regraa serusada 3. Leia a entradaparaobtero terminal queestiverno topoda pilha 4. Se a pilhaestivervaziaaolertodaa entrada, aceite. Senão, volte aono. 2 Por outro lado, toda computação c/ aceitação necessariamentepassapelospassosacimae, portanto simula derivação mais à esq. em G. Isso mostra que o PDA construído aceita a linguagem gerada pela gramática original.

32 Exercício Forneça PDA s para as CFG s das linguagens a seguir: {a i b j c k i=j ou j=k} Forneça PDA s para as CFG s: a) E E + T T T T * F F F ( E ) a b) R X R X S S a T b b T a T X T X X ε X a b

33 Gramática Sensível ao Contexto Existeumaforma aindamaisgeralde gramática. Emuma gramática não livre de contexto, em geral todo substring de variáveis/terminais pode ser substituído de umavez. Porexemplo, sendo Σ= {a,b,c} considere: S ε ASBC A a CB BC ab ab bb bb bc bc cc cc Porrazõestécnicas, se todaregraé talqueo tamanhodo ladoesquerdoda regraé menorouigualaodo lado direito, a gramática é chamada sensível ao contexto.

34 Exercício Qual é a linguagem gerada por: S ε ASBC A a CB BC ab ab bb bb bc bc cc cc

35 Exercício Resposta: {a n b n c n }. Na próxima aula veremos que essa linguagem não é livre de contexto. Portanto, perturbar a propriedade de independência de contexto possibilita expandir a classe de linguagens.

36 PDA CFG Para convertes PDA s para CFG s vamos precisar simular a pilha dentro de regras. Portanto, quanto mais simples as operações de pilha, mais fácil deverá ser isso. Além disso, outras restrições podem ser úteis. Portanto, vamos primeiro converter nosso PDA em um PDA tão simples quanto possível:

37 PPP CFG Hipótese Simplificadora 1. Hipótese PPP : A pilha apenas permite Pushs e Pops simples. 2. Um único estado de aceitação. 3. Pilha Vazia: Um string é aceito sse sua computação termina no estado de aceitação com a pilha vazia. Vamos converter um exemplo típico nessa forma:

38 Simplificando o PDA Original ε, ε $ a, X Y a, ε ε b, ε X ε, $ ε

39 Simplificando o PDA 1. Push Pop Puro 1A) Garanta que a pilha está sempre ativa substituindo transição com pilha inativapor um push seguido imediatamente de um pop de um símbolo dummy. ε, ε $ a, X Y a, ε ε b, ε X ε, $ ε

40 Simplificando o PDA 1. Push Pop Puro 1A) Garanta que a pilha está sempre ativa substituindo transição com pilha inactive por um push seguido imediatamente de um pop de um novo símbolo dummy. ε, ε $ a, X Y ε,d ε a, ε D b, ε X ε, $ ε

41 Simplificando o PDA 1. Push Pop Puro 1B) Toda transição que substitui o topoda pilha deve ser convertido em um pop seguido de push. ε, ε $ a, X Y ε,d ε a, ε D b, ε X ε, $ ε

42 Simplificando o PDA 1. Pure Push Pop 1B) Toda transição que substitui o topoda pilha deve ser convertido em um pop seguido de push. a, X ε ε, ε Y ε,d ε ε, ε $ a, ε D b, ε X ε, $ ε

43 Simplificando o PDA 2. Estado de Aceitação Único Desligue os estados de aceitação originais e conecte-os a um novo estado de aceitação (não esquecendo que a pilha não pode ser ignorada). a, X ε ε, ε Y ε,d ε ε, ε $ a, ε D b, ε X ε, $ ε

44 Simplificando o PDA 2. Estado de Aceitação Único Desligue os estados de aceitação originais e conecte-os a um novo estado de aceitação (não esquecendo que a pilha não pode ser ignorada). ε,d ε ε, ε Y a, X ε ε,d ε a, ε D ε,ε D ε, ε $ b, ε X ε, $ ε

45 Simplificando o PDA 3. Pilha Vazia Garanta que o conteúdo da pilha é esvaziado, adicionando um novo símbolo dummy marcador de pilha vazia e novos estados inicial/aceitação. ε,d ε ε, ε Y a, X ε ε,d ε a, ε D ε,ε D ε, ε $ b, ε X ε, $ ε

46 Simplificando o PDA 3. Pilha Vazia Garanta que o conteúdo da pilha é esvaziado, adicionando um novo símbolo dummy marcador de pilha vazia e novos estados inicial/aceitação. ε, ε ε,ε D ε, ε ε, ε Y a, X ε ε,d ε ε,$ ε ε,x ε ε,y ε ε,d ε a, ε D ε,d ε ε,ε D ε, ε $ b, ε X ε, $ ε

47 Simplificando o PDA Resultado ε, ε ε,ε D ε, ε ε, ε Y a, X ε ε,d ε ε,$ ε ε,x ε ε,y ε ε,d ε a, ε D ε,d ε ε,ε D ε, ε $ b, ε X ε, $ ε

48 PDA CFG Uma vez que o PDA seja convertido nessa forma mais restrita, podemos convertê-lo em uma CFG por meio de um procedimento padrão. Agora que caminhos de aceitação começam e terminam com a pilha vazia, é possível considerar caminhos desse tipo entre quaisquer dois estados e recursivamente gerar todos esses caminhos. Essa relação recursiva entre caminhos dará origem à recursão que é característica de gramáticas livres de contexto.

49 PDA CFG Recursão sobre Caminhos Notação: dados dois estados q,r do PDA, e um string x do dado alfabeto de entrada, a notação q-x r significa que é possível ir deqpara r lendo a entrada x, começando e terminando com pilha vazia: q input x r a a a $ Q: Expresse aceitação em termos dessa notação.

50 PDA CFG Recursão sobre Caminhos R: Para nosso PDA restrito, com estado de aceitação único q F, um string xé aceito sse q 0 -x q F Portanto, todos os strings aceitos são gerados se podemos gerar todas as triples que satisfazem q-x r. Isso é feito de modo recursivo sobre o comprimento do caminho: 1. Regra-Base: Podemos sempre considerar que o string vazio leva de qpara qsem modificar a pilha, já que nada é lido: q-ε q

51 PDA CFG Recursão sobre Caminhos 2. Regra de Recursão Transitive: Se podemos ir de q para rsem afetar a pilha, assim como de rpara s, então podemos combinar os caminhos para obter um caminho de qpara r. I.e: q-x r er-y s implica q-xy s x y q r s xy

52 PDA CFG Recursão sobre Caminhos 3. Regrade RecursãoPush-Pop: Se podemosirde q parar semafetara pilha, e empilhamosum símbolox indo de p paraq, o qualé desempilhadoaoirde rparas, então vamosde pparassobrepilhavazia: q-x r e (q,x) δ(p, a, ε)e (s, ε) δ(r,b,x) implica p- axb s X x X q r p a, ε X b, X ε s axb

53 PDA CFG Recursão sobre Caminhos LEMA: Toda tripla q-x r deve poder ser gerada indutivamente por uma das regras (1), (2) ou (3). Prova. Por indução sobre o comprimento ndo caminho q-x r. Caso Base (n = 0): xé o string vazio e tais camihos são gerados pela regra (1). Indução (n > 0): Siga o caminho, iniciando com pilha vazia. Existem 2 possíveis situações: I. A pilha é esvaziada em algum ponto intermediário. II. A pilha nunca fica vazia antes do final.

54 PDA CFG Recursão sobre Caminhos Caso I. Em algum ponto intermediário, digamos estado s, a pilha é esvaziada. Então divida o caminho em 2 partes, cada qual com sua parte do string de entrada, e cada um começando e terminando com a pilha vazia. I.e. divida x como x= uvtal que q-u s e s-v r. Então aplique a regra (2).

55 PDA CFG Recursão sobre Caminhos CasoII. A pilhanãoficavaziaemnenhumestado intermediário. Portanto, a primeira transição faz push (nenhumpop) de um símbolo X que apenasé desempilhadonaúltimatransição. Sejaso estadodestinoda primeiratransição, e t o estado origem da última transição. Então podemosirde sparatsob pilhavazia, lendo algumstring u. Alémdisso, (s,x) δ(p,a,ε), (r,ε) δ(t,b,x) e x = aub. Essaé exatamentea situaçãoà quala regra(3) se aplica. Issocompletaa prova.

56 PDA CFG A Gramática As três regras para gerar todos os caminhos nos dão uma gramática para gerar todos os rótulos desses caminhos. A gramática terávariáveisescritascomoa qr a qualirá gerartodososstrings x paraosquaisqx r. Q: Supondoisso, qualdevesera variável inicial?

57 PDA CFG A Gramática Símbolos R: S = A q 0qF Isso porque são aceitos exatamente os strings x para os quais vale q 0 -x q F. Além dessa variável inicial, as outras variáveis em Vsão todos os A qr para os quais existe um caminho de qpararque começa e termina com pilha vazia. 1 O conjunto de símbolos terminais Σé o alfabeto de entrada do PDA.

58 PDA CFG A Gramática Regras As regras são exatamente (1), (2) e (3): 1. Inclua uma regra A qq ε para cada estado q do PDA. 2. Inclua uma regra A pr A pq A qr para cada tripla p,q,r tais que A pr,a pq e A qr estão em V. 3. Inclua uma regra A ps aa qr b para cada p,s,q,r tais que A ps e A qr estão em V, e existem no PDA transições (q,x) δ(p,a,ε), e (s,ε) δ(r,b,x) para um mesmo símbolo de pilha X.

59 PDA CFG O PDA abaixo já está na forma correta (a forma restrita PPP) : (, ε X ), X ε q ε, ε $ r ε, $ ε s Q: Qual é a linguagem aceita?

60 PDA CFG R: BP = parenteses balanceados. O número de X s na pilha relete o nível corrente de aninhamento de parenteses q ε, ε $ (, ε X ), X ε Q: Quais são as variáveis da gramática equivalente? Qual é a variável inicial? r ε, $ ε s

61 PDA CFG R: V = {A qs, A qq, A rr, A ss }, S = A qs Não precisamos de A rq, A sq, A sr : direção errada. Não precisamos de A qr oua rs porque não se pode empilhar ou desempilhar $ estando em r. q ε, ε $ (, ε X ), X ε Q: Que produções obtemos da regra (1)? r ε, $ ε s

62 PDA CFG R: A qq ε, A rr ε, A ss ε (, ε X ), X ε q ε, ε $ r ε, $ ε s Q: Que produções obtemos da regra (2)?

63 PDA CFG A: A qs A qq A qs A qs A ss A qq A qq A qq A rr A rr A rr A ss A ss A ss (, ε X ), X ε q ε, ε $ r ε, $ ε s Q: Que produções obtemos da regra (3)?

64 A: A qs A rr, A rr (A rr ) Portanto a gramática é: 1 PDA CFG A qs A rr A qq A qs A qs A ss A rr ε A rr A rr (A rr ) A qq ε A qq A qq A ss ε A ss A ss (, ε X ), X ε q ε, ε $ r ε, $ ε s Q: Alguma simplificação óbvia?

65 PDA CFG A: AparentementeA qq ea ss sãopuramente autoreferenciaveis, portantoa únicamaneirade concluir uma derivação em que ocorram seria apagá-las. Entãopodemosremover A qq,a ss desde que sejam substituídas por ε: A qs A rr A qq A qs A qs A ss A rr ε A rr A rr (A rr ) A qq ε A qq A qq A ss ε A ss A ss Torna-se: A qs A rr A qs A rr ε A rr A rr (A rr )

66 A qs A rr A qs A rr ε A rr A rr (A rr ) PDA CFG Renomeiras variáveisparaobter: S T S T ε TT (T ) Respostafinal (Snãoé necessário, poiso seupapel é apenasgerart ): T ε TT (T )

67 Exercício Converta para CFG sos PDA sdas seguintes linguagens: {wcw R w {a, b}*} {a n b n n ℵ} {a n b n c m d m n,m ℵ}

AFNs, Operações Regulares e Expressões Regulares

AFNs, Operações Regulares e Expressões Regulares AFNs, Operações Regulares e Expressões Regulares AFNs. OperaçõesRegulares. Esquematicamente. O circulo vermelho representa o estado inicial q 0, a porção verde representa o conjunto de estados de aceitação

Leia mais

Automatocom Pilha Pushdown Automaton

Automatocom Pilha Pushdown Automaton Automatocom Pilha Pushdown Automaton 1 Algoritmos Recursivos e Pilhas Princípio Geral em Computação: Qualquer algoritmo recursivo pode ser transformado em um não-recursivousando-se umapilhae um while-loop,

Leia mais

Aula 7: Autômatos com Pilha

Aula 7: Autômatos com Pilha Teoria da Computação Segundo Semestre, 2014 Aula 7: Autômatos com Pilha DAINF-UTFPR Prof. Ricardo Dutra da Silva Vamos adicionar um memória do tipo pilha ao nossos autômatos para que seja possível aceitar

Leia mais

Expressões Regulares e Gramáticas Regulares

Expressões Regulares e Gramáticas Regulares Universidade Católica de Pelotas Escola de informática 053212 Linguagens Formais e Autômatos TEXTO 2 Expressões Regulares e Gramáticas Regulares Prof. Luiz A M Palazzo Março de 2007 Definição de Expressão

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação - P. Blauth Menezes

Leia mais

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática

Linguagens Formais. Aula 01 - Conceitos Básicos. Prof. Othon Batista Mestre em Informática Linguagens Formais Aula 01 - Conceitos Básicos Prof. Othon Batista Mestre em Informática Sumário Introdução à Linguagem Alfabeto Cadeias de Símbolos, Palavras Tamanho de Palavra Prefixo, Sufixo ou Subpalavra

Leia mais

Linguagens Livres de Contexto

Linguagens Livres de Contexto Universidade Católica de Pelotas Centro Politécnico Bacharelado em Ciência da Computação 364018 Linguagens Formais e Autômatos TEXTO 4 Linguagens Livres de Contexto Prof. Luiz A M Palazzo Maio de 2011

Leia mais

Universidade Federal de Alfenas

Universidade Federal de Alfenas Universidade Federal de Alfenas Linguagens Formais e Autômatos Aula 13 Autômato com Pilha [email protected] Última aula Linguagens Livres do Contexto P(S*) Recursivamente enumeráveis Recursivas

Leia mais

Compiladores - Análise Ascendente

Compiladores - Análise Ascendente Compiladores - Análise Ascendente Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Descendente vs. Ascendente As técnicas de análise que vimos até agora (recursiva com retrocesso,

Leia mais

Autómatos de Pilha. Cada transição é caracterizada pelo estado, símbolo que está ser lido e o elemento no topo da pilha. dados de entrada.

Autómatos de Pilha. Cada transição é caracterizada pelo estado, símbolo que está ser lido e o elemento no topo da pilha. dados de entrada. Autómatos de Pilha Um autómato de pilha (não determinístico) (AP) é um autómato finito não determinístico com transições ɛ, acrescido de uma memória infinita a pilha mas em que o modo de acesso à informação

Leia mais

Aula 9: Máquinas de Turing

Aula 9: Máquinas de Turing Teoria da Computação Aula 9: Máquinas de Turing DAINF-UTFPR Prof. Ricardo Dutra da Silva Uma máquina de Turing é uma máquina de estados finitos que pode mover o cabeçote em qualquer direção, ler e manipular

Leia mais

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior.

Linguagens Formais e Autômatos 02/2015. LFA Aula 02. introdução 28/09/2015. Celso Olivete Júnior. LFA Aula 02 Linguagens regulares - introdução 28/09/2015 Celso Olivete Júnior [email protected] 1 Na aula passada... Visão geral Linguagens regulares expressões regulares autômatos finitos gramáticas

Leia mais

Alfabeto, Cadeias, Operações e Linguagens

Alfabeto, Cadeias, Operações e Linguagens Linguagens de Programação e Compiladores - Aula 3 1 Alfabeto, Cadeias, Operações e Linguagens 1.Conjuntos Para representar um determinado conjunto é necessário buscar uma notação para representá-lo e ter

Leia mais

Teoria das Linguagens. Linguagens Formais e Autómatos (Linguagens)

Teoria das Linguagens. Linguagens Formais e Autómatos (Linguagens) Teoria das Lic. em Ciências da Computação Formais e Autómatos () Carla Mendes Dep. Matemática e Aplicações Universidade do Minho 2010/2011 Teoria das - LCC - 2010/2011 Dep. Matemática e Aplicações - Univ.

Leia mais

7.1. Autómatos de pilha não-determinísticos (NPDA) 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto determinísticas.

7.1. Autómatos de pilha não-determinísticos (NPDA) 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto determinísticas. Capítulo 7 Autómatos de pilha 7.1. Autómatos de pilha não-determinísticos (NPDA) 7.2. Autómatos de pilha e linguagens livres de contexto 7.3. Autómatos de pilha determinísticos e linguagens livres de contexto

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens

Leia mais

Propriedades de Fecho de Linguagens Regulares.

Propriedades de Fecho de Linguagens Regulares. Propriedades de Fecho de Linguagens Regulares. Gerando Linguagens Regulares Recorde a seguinte teorema: THM: Linguagens regulares são aquelas que podem ser geradas a partir de linguagens finitas pela aplicação

Leia mais

Linguagens Livres de Contexto

Linguagens Livres de Contexto Linguagens Livres de Contexto 1 Conteúdo Programático Introdução Teoria de autômatos Strings e linguagens Gramáticas Algoritmos Linguagens formais Hierarquia de chomsky Linguagens Regulares Autômatos finitos

Leia mais

BCC242. Auômato Finito Determinístico

BCC242. Auômato Finito Determinístico BCC242 Auômato Finito Determinístico Máquinas de Estados Finitos As máquinas de estados finitos são máquinas abstratas que capturam partes essenciais de algumas máquinas concretas. Tipos Tradutores máquinas

Leia mais

TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO

TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO LICENCIATURA EM CIÊNCIAS DA COMPUTAÇÃO TEORIA DAS LINGUAGENS 3. GRAMÁTICAS INDEPENDENTES DE CONTEXTO José Carlos Costa Dep. Matemática e Aplicações Universidade do Minho Braga, Portugal 31 de Maio de 2010

Leia mais

Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador

Compiladores. Análise lexical. Plano da aula. Motivação para análise lexical. Vocabulário básico. Estrutura de um compilador Estrutura de um compilador programa fonte Compiladores Análise lexical () Expressões Regulares analisador léxico analisador sintático analisador semântico análise gerador de código intermediário otimizador

Leia mais

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA

INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA INE5403 FUNDAMENTOS DE MATEMÁTICA DISCRETA PARA A COMPUTAÇÃO PROF. DANIEL S. FREITAS UFSC - CTC - INE Prof. Daniel S. Freitas - UFSC/CTC/INE/2007 p.1/30 3 - INDUÇÃO E RECURSÃO 3.1) Indução Matemática 3.2)

Leia mais

Lista de exercícios 1

Lista de exercícios 1 UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO DE CIÊNCIAS AGRÁRIAS CCA/ UFES Departamento de Engenharia Rural Lista de exercícios 1 Disciplina: Linguagens Formais e Autômatos Professora: Juliana Pinheiro

Leia mais

Fundamentos da Teoria da Computação

Fundamentos da Teoria da Computação Fundamentos da Teoria da Computação Primeira Lista de Exercícios - Aula sobre dúvidas da lista Sérgio Mariano Dias 1 1 UFMG/ICEx/DCC Entrega da 1 a lista: 31/03/2009 Sérgio Mariano Dias (UFMG) Fundamentos

Leia mais

Linguagens Regulares. Prof. Daniel Oliveira

Linguagens Regulares. Prof. Daniel Oliveira Linguagens Regulares Prof. Daniel Oliveira Linguagens Regulares Linguagens Regulares ou Tipo 3 Hierarquia de Chomsky Linguagens Regulares Aborda-se os seguintes formalismos: Autômatos Finitos Expressões

Leia mais

INE5317 Linguagens Formais e Compiladores AULA 9: Propriedades e Reconhecimento das Linguagens Livres do Contexto

INE5317 Linguagens Formais e Compiladores AULA 9: Propriedades e Reconhecimento das Linguagens Livres do Contexto INE5317 Linguagens Formais e Compiladores AULA 9: Propriedades e Reconhecimento das Linguagens Livres do Contexto baseado em material produzido pelo prof Paulo Bauth Menezes e pelo prof Olinto José Varela

Leia mais

O que é Linguagem Regular. Um teorema sobre linguagens regulares. Uma aplicação do Lema do Bombeamento. Exemplo de uso do lema do bombeamento

O que é Linguagem Regular. Um teorema sobre linguagens regulares. Uma aplicação do Lema do Bombeamento. Exemplo de uso do lema do bombeamento O que é Linguagem Regular Um teorema sobre linguagens regulares Linguagem regular Uma linguagem é dita ser uma linguagem regular se existe um autômato finito que a reconhece. Dada uma linguagem L: É possível

Leia mais

Autômatos com Pilha: Reconhecedores de LLCs

Autômatos com Pilha: Reconhecedores de LLCs Autômatos com Pilha: Reconhecedores de LLCs 1 Autômatos com Pilha (AP) Definições alternativas para Linguagens Livres de Contexto Extensão de AFND com uma pilha, que pode ser lida, aumentada e diminuída

Leia mais

Apostila 03 - Linguagens Livres de Contexto Exercícios

Apostila 03 - Linguagens Livres de Contexto Exercícios Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

Leia mais

Capítulo 1: Alfabetos, cadeias, linguagens

Capítulo 1: Alfabetos, cadeias, linguagens Capítulo 1: Alfabetos, cadeias, linguagens Símbolos e alfabetos. Um alfabeto é, para os nossos fins, um conjunto finito não vazio cujos elementos são chamados de símbolos. Dessa maneira, os conceitos de

Leia mais

Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem

Conceitos Básicos. Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem Conceitos Básicos Vocabulário Cadeias Linguagens Expressões Regulares Problema X Linguagem Alfabeto ou Vocabulário: Conjunto finito não vazio de símbolos. Símbolo é um elemento qualquer de um alfabeto.

Leia mais

a n Sistemas de Estados Finitos AF Determinísticos

a n Sistemas de Estados Finitos AF Determinísticos a n Sistemas de Estados Finitos AF Determinísticos 1 Relembrando Uma representação finita de uma linguagem L qualquer pode ser: 1. Um conjunto finito de cadeias (se L for finita); 2. Uma expressão de um

Leia mais

LINGUAGENS FORMAIS E AUTÔMATOS

LINGUAGENS FORMAIS E AUTÔMATOS LINGUAGENS FORMAIS E AUTÔMATOS O objetivo deste curso é formalizar a idéia de linguagem e definir os tipos de sintaxe e semântica. Para cada sintaxe, analisamos autômatos, ue são abstrações de algoritmos.

Leia mais

1 Expressões Regulares e Linguagens

1 Expressões Regulares e Linguagens 1 1 Expressões Regulares e Linguagens Linguagem de Programação o Pesquisa em Textos o Componentes de Compiladores Intimamente Relacionadas com AFNDs São capazes de definir todas e somente as linguagens

Leia mais

Gramática. Gramática. Gramática

Gramática. Gramática. Gramática Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa [email protected] Prof. Yandre Maldonado - 2 Mecanismo gerador que permite definir formalmente uma linguagem; Através de uma gramática

Leia mais

Capítulo 3: Gramáticas

Capítulo 3: Gramáticas Capítulo 3: Gramáticas Já vimos que procedimentos podem ser usados para definir linguagens de duas maneiras essenciais: como geradores, procedimentos que enumeram os elementos da linguagem, e como reconhecedores

Leia mais

Máquina de Turing. Controle finito

Máquina de Turing. Controle finito Máquinas de Turing Máquinas de Turing podem fazer tudo o que um computador real faz. Porém, mesmo uma Máquina de Turing não pode resolver certos problemas. Estes problemas estão além dos limites teóricos

Leia mais

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais

Apostila 01 Fundamentação da Teoria da Computação e Linguagens Formais Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

Leia mais

INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos

INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos INE5317 Linguagens Formais e Compiladores AULA 5: Autômatos Finitos Ricardo Azambuja Silveira INE-CTC-UFSC E-Mail: [email protected] URL: www.inf.ufsc.br/~silveira As Linguagens e os formalismos representacionais

Leia mais

Compiladores - Gramáticas

Compiladores - Gramáticas Compiladores - Gramáticas Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Análise Sintática A análise sintática agrupa os tokens em uma árvore sintática de acordo com a estrutura do programa

Leia mais

Matemática Discreta para Ciência da Computação

Matemática Discreta para Ciência da Computação Matemática Discreta para Ciência da Computação P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Matemática Discreta para Ciência da Computação

Leia mais

Definições Exemplos de gramáticas

Definições Exemplos de gramáticas Definições Exemplos de gramáticas 1 Gramáticas Conceito introduzido pela lingüística Objetivo de ensinar o inglês pelo computador e conseguir um tradutor de línguas Fracasso da tradução por volta dos anos

Leia mais

Construção de Compiladores Aula 16 - Análise Sintática

Construção de Compiladores Aula 16 - Análise Sintática Construção de Compiladores Aula 16 - Análise Sintática Bruno Müller Junior Departamento de Informática UFPR 25 de Setembro de 2014 1 Introdução Hierarquia de Chomsky Reconhecedores Linguagens Livres de

Leia mais

Linguagens livres de contexto e autômatos de pilha

Linguagens livres de contexto e autômatos de pilha Capítulo 6: Linguagens livres de contexto e autômatos de pilha José Lucas Rangel, maio 1999 6.1 - Introdução. Os aceitadores, ou reconhecedores, das linguagens livres de contexto são os chamados autômatos

Leia mais

Compiladores. Top-Down x Bottom Up. Plano da aula. Redução exemplo 1. Redução exemplo 1. Lembrando: construir a tabela de análise LL(1) A Abc b B d

Compiladores. Top-Down x Bottom Up. Plano da aula. Redução exemplo 1. Redução exemplo 1. Lembrando: construir a tabela de análise LL(1) A Abc b B d Compiladores Análise sintática ) Análise ascendente Autômatos Empilhar/Reduzir Lembrando: construir a tabela de análise LL) Como fazer? Re-escrever gramática para satisfazer condições de LL) Calcular conjuntos

Leia mais

Draft-v0.1. Máquinas de Turing Máquinas de Turing

Draft-v0.1. Máquinas de Turing Máquinas de Turing 13 Máquinas de Turing A necessidade de formalizar os processos algorítmicos levou, nas décadas 20 e 30 do século XX, a diversos estudos, entre os quais os de Post, Church e Turing, com vista a estudo formal

Leia mais

Hierarquia de Chomsky Exemplos de gramáticas

Hierarquia de Chomsky Exemplos de gramáticas Hierarquia de Chomsky Exemplos de gramáticas 1 Formalmente, as gramáticas são caracterizadas como quádruplas ordenadas G = ( Vn, Vt, P, S) onde: Vn representa o vocabulário não terminal da gramática. Este

Leia mais

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000)

Teoria da Computação. Unidade 3 Máquinas Universais. Referência Teoria da Computação (Divério, 2000) Teoria da Computação Referência Teoria da Computação (Divério, 2000) 1 L={(0,1)*00} de forma que você pode usar uma Máquina de Turing que não altera os símbolos da fita e sempre move a direita. MT_(0,1)*00=({0,1},{q

Leia mais

Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior.

Linguagens Formais e Autômatos 02/2016. LFA Aula 01 24/10/2016. Celso Olivete Júnior. LFA Aula 01 Apresentação 24/10/2016 Celso Olivete Júnior [email protected] 1 Professor Celso Olivete Júnior Bacharelado em Ciência da Computação (Unoeste-2002) Mestrado e Doutorado em Engenharia Elétrica

Leia mais

Linguagens Regulares, Operações Regulares

Linguagens Regulares, Operações Regulares Linguagens Regulares, Operações Regulares 1 Definição de Linguagem Regular Relembre a definição de linguagem regular: DEF: A linguagem aceita por um AF M é o conjunto de todos os strings que são aceitos

Leia mais

Análise Sintática (Cap. 04) Análise Sintática Descendente

Análise Sintática (Cap. 04) Análise Sintática Descendente (Cap. 04) Análise Sintática Descendente Análise Sintática Análise sintática descendente Constrói a árvore de derivação de cima para baixo, da raíz para as folhas, criando os nós da árvore em pré ordem

Leia mais

Analisadores Sintáticos LR

Analisadores Sintáticos LR FACULDADE ANGLO AMERICANO FOZ DO IGUAÇU Curso de Ciência da Computação 7º Periodo Disciplina: Compiladores Prof. Erinaldo Sanches Nascimento Analisadores Sintáticos LR SLR LR Canônicos LALR Analisadores

Leia mais

Linguagens e Autômatos

Linguagens e Autômatos 167657 - Controle para Automação Curso de Graduação em Engenharia de Controle e Automação Departamento de Engenharia Elétrica Universidade de Brasília Linguagens e Autômatos Geovany A. Borges [email protected]

Leia mais

Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9.

Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9. Pós-Graduação em Ciência da Computação DCC/ICEx/UFMG Teoria de Linguagens 2 o semestre de 2015 Professor: Newton José Vieira Primeira Lista de Exercícios Entrega: até 16:40h de 15/9. Observações: Pontos

Leia mais

EXPRESSÕES RELACIONAIS

EXPRESSÕES RELACIONAIS AULA 7 EXPRESSÕES RELACIONAIS 7.1 Operadores relacionais Uma expressão relacional, ou simplesmente relação, é uma comparação entre dois valores de um mesmo tipo. Esses valores são representados na relação

Leia mais

Transformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e

Transformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e Transformações úteis para GLC: (1) eliminação de produções nulas; (2) eliminação de produções unitárias; (3) Eliminação de símbolos estéreis e inacessíveis; Forma Normal de Chomsky (FNC) e Forma Normal

Leia mais

Análise Sintática. Fabiano Baldo

Análise Sintática. Fabiano Baldo Compiladores Análise Sintática Fabiano Baldo Gramáticas Livre de Contexto (GLC) É utilizada na especificação formal lda sintaxe de uma linguagem de programação. É um conjunto de produções ou regras gramaticais

Leia mais

Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente

Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente ESIN/UCPel 058814 Linguagens Formais e Autômatos TEXTO 5 Máquina de Turing Linguagens Sensíveis ao Contexto e Enumeráveis Recursivamente Prof. Luiz A M Palazzo Maio de 2007 0. Introdução A Ciência da Computação

Leia mais

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos Linguagens Formais e Autômatos (notas da primeira aula 1 Definições básicas 1.1 Conjuntos Definição 1. Um conjunto é uma coleção de objetos, denominados elementos. Notação 1. Para indicar que um elemento

Leia mais

Linguagens Formais e Autômatos

Linguagens Formais e Autômatos Linguagens Formais e Autômatos Conversão de Expressões Regulares (ER) para Autômatos Finitos Determinísticos (AFD) Cristiano Lehrer, M.Sc. Introdução A construção sistemática de um Autômato Finito para

Leia mais

Compiladores - Autômatos

Compiladores - Autômatos Compiladores - Autômatos Fabio Mascarenhas 2015.1 http://www.dcc.ufrj.br/~fabiom/comp Especificação x Implementação Usamos expressões regulares para dar a especificação léxica da linguagem Mas como podemos

Leia mais

Exemplo preliminar. Considere a linguagem dos Palíndromos Lpal:

Exemplo preliminar. Considere a linguagem dos Palíndromos Lpal: a n b n 1 Exemplo preliminar Considere a linguagem dos Palíndromos Lpal: radar, Roma é amor, 0110, 11011,... ou seja, quando w = w r Lpal é regular? usando o Lema do Bombeamento: Suponha Lpal regular,

Leia mais

Eles, possivelmente, servirão posteriormente de ideia para problemas mais difíceis.

Eles, possivelmente, servirão posteriormente de ideia para problemas mais difíceis. Polos Olímpicos de Treinamento Curso de Álgebra - Nível 2 Prof Marcelo Mendes Aula 2 Equações e Sistemas de Equações Neste2o textodeálgebra, veremosdiversosexemplosdeequaçõesesistemasdeequações em nível

Leia mais

Análise Sintática (Cap. 04) Análise Sintática Ascendente Analisador Sintático LR

Análise Sintática (Cap. 04) Análise Sintática Ascendente Analisador Sintático LR Análise Sintática (Cap. 04) Análise Sintática Ascendente Analisador Sintático LR Análise Sintática LR Analisadores sintáticos LR(k): L, verificação da entrada da esquerda para direita R, constrói a derivação

Leia mais

Aula 5: Conversões Entre Bases Numéricas

Aula 5: Conversões Entre Bases Numéricas Aula 5: Conversões Entre Bases Numéricas Diego Passos Universidade Federal Fluminense Fundamentos de Arquiteturas de Computadores Diego Passos (UFF) Conversões Entre Bases Numéricas FAC 1 / 43 Conversão

Leia mais

Análise sintática. Análise sintática. Top-down ou descendente. Com retrocesso: por tentativa e erro. Preditiva: para gramáticas LL(1) 09/04/2012

Análise sintática. Análise sintática. Top-down ou descendente. Com retrocesso: por tentativa e erro. Preditiva: para gramáticas LL(1) 09/04/2012 Análise sintática Função, interação com o compilador Análise descendente e ascendente Especificação e reconhecimento de cadeias de tokens válidas Implementação Tratamento de erros Prof. Thiago A. S. Pardo

Leia mais

1 Conjuntos, Números e Demonstrações

1 Conjuntos, Números e Demonstrações 1 Conjuntos, Números e Demonstrações Definição 1. Um conjunto é qualquer coleção bem especificada de elementos. Para qualquer conjunto A, escrevemos a A para indicar que a é um elemento de A e a / A para

Leia mais

Compiladores Analisador Sintático. Prof. Antonio Felicio Netto Ciência da Computação

Compiladores Analisador Sintático. Prof. Antonio Felicio Netto Ciência da Computação Compiladores Analisador Sintático Prof. Antonio Felicio Netto [email protected] Ciência da Computação 1 Análise Sintática - A Análise Sintática constitui a segunda fase de um tradutor de uma

Leia mais

Apostila 02. Objetivos: Estudar os autômatos finitos Estudar as expressões regulares Estudar as gramáticas regulares Estudar as linguagens regulares

Apostila 02. Objetivos: Estudar os autômatos finitos Estudar as expressões regulares Estudar as gramáticas regulares Estudar as linguagens regulares Cursos: Bacharelado em Ciência da Computação e Bacharelado em Sistemas de Informação Disciplinas: (1493A) Teoria da Computação e Linguagens Formais, (4623A) Teoria da Computação e Linguagens Formais e

Leia mais

Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA)

Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA) Compiladores I Prof. Ricardo Santos (cap 3 Análise Léxica: Introdução, Revisão LFA) Análise Léxica A primeira fase da compilação Recebe os caracteres de entrada do programa e os converte em um fluxo de

Leia mais

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

Variáveis e Entrada de Dados Marco André Lopes Mendes  marcoandre.googlepages. Variáveis e Entrada de Dados Marco André Lopes Mendes [email protected] [email protected] marcoandre.googlepages.com Algoritmos é a base Primeiro programa Este programa possui apenas uma

Leia mais

Plano da aula. Compiladores. Os erros típicos são sintáticos. Análise Sintática. Usando Gramáticas. Os erros típicos são sintáticos

Plano da aula. Compiladores. Os erros típicos são sintáticos. Análise Sintática. Usando Gramáticas. Os erros típicos são sintáticos Plano da aula Compiladores Análise sintática (1) Revisão: Gramáticas Livres de Contexto 1 Introdução: porque a análise sintática? Noções sobre Gramáticas Livres de Contexto: Definição Propriedades Derivações

Leia mais

Lista de Exercícios Definição de gramáticas e Autômatos Finitos Determinísticos

Lista de Exercícios Definição de gramáticas e Autômatos Finitos Determinísticos Lista de Exercícios Definição de gramáticas e Autômatos Finitos Determinísticos Uma das formas de se especificar a gramática de uma linguagem de programação é utilizar a Backus-Naur Form (BNF Ingerman

Leia mais

Pilhas. ser acessada somente por uma de suas extremidades. pelo topo. S Uma pilha é uma estrutura linear de dados que pode

Pilhas. ser acessada somente por uma de suas extremidades. pelo topo. S Uma pilha é uma estrutura linear de dados que pode Pilhas e Filas Pilhas Uma pilha é uma estrutura linear de dados que pode ser acessada somente por uma de suas extremidades. Uma pilha é uma lista LIFO (do inglês last-in-first out) o último a entrar é

Leia mais

Linguagens Formais e Autômatos P. Blauth Menezes

Linguagens Formais e Autômatos P. Blauth Menezes Linguagens Formais e Autômatos P. Blauth Menezes [email protected] Departamento de Informática Teórica Instituto de Informática / UFRGS Linguagens Formais e Autômatos - P. Blauth Menezes 1 Linguagens

Leia mais

Lógica Proposicional

Lógica Proposicional Lógica Proposicional Lógica Computacional Carlos Bacelar Almeida Departmento de Informática Universidade do Minho 2007/2008 Carlos Bacelar Almeida, DIUM LÓGICA PROPOSICIONAL- LÓGICA COMPUTACIONAL 1/28

Leia mais

Lógica. Fernando Fontes. Universidade do Minho. Fernando Fontes (Universidade do Minho) Lógica 1 / 65

Lógica. Fernando Fontes. Universidade do Minho. Fernando Fontes (Universidade do Minho) Lógica 1 / 65 Lógica Fernando Fontes Universidade do Minho Fernando Fontes (Universidade do Minho) Lógica 1 / 65 Outline 1 Introdução 2 Implicações e Equivalências Lógicas 3 Mapas de Karnaugh 4 Lógica de Predicados

Leia mais

Programação Funcional Aulas 5 & 6

Programação Funcional Aulas 5 & 6 Programação Funcional Aulas 5 & 6 Sandra Alves DCC/FCUP 2016/17 Definições usando outras funções Podemos definir funções usando outras previamente definidas (por exemplo: do prelúdio-padrão). Exemplo:

Leia mais

Faculdade de Computação

Faculdade de Computação UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Disciplina : Teoria da Computação Professora : Sandra de Amo Solução da Lista de Exercícios n o 8 - Indecidibilidade Exercicio 1-5.5 do Livro

Leia mais

Fluxograma Pseudocódigo Estruturas de decisão. Professor Leandro Augusto Frata Fernandes

Fluxograma Pseudocódigo Estruturas de decisão. Professor Leandro Augusto Frata Fernandes Programação de Computadores III Aula 4 Professor Leandro Augusto Frata Fernandes [email protected] Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2011.1/tcc-03.063 Roteiro da Aula

Leia mais

Polinômios. 2) (ITA-1962) Se x³+px+q é divisível por x²+ax+b e x²+rx+s, demonstrar que:

Polinômios. 2) (ITA-1962) Se x³+px+q é divisível por x²+ax+b e x²+rx+s, demonstrar que: Material by: Caio Guimarães Polinômios A seguir, apresento uma lista de vários exercícios propostos (com gabarito) sobre polinômios. Os exercícios são para complementar a vídeo-aula a respeito de polinômios

Leia mais

Construção de Compiladores

Construção de Compiladores Construção de Compiladores Parte 1 Introdução Linguagens e Gramáticas F.A. Vanini IC Unicamp Klais Soluções Motivação Porque compiladores? São ferramentas fundamentais no processo de desenvolvimento de

Leia mais

Definições Hierarquia de Chomsky Exemplos de gramáticas

Definições Hierarquia de Chomsky Exemplos de gramáticas Definições Hierarquia de Chomsky Exemplos de gramáticas 1 Formalmente, as gramáticas são caracterizadas como quádruplas ordenadas G = ( Vn, Vt, P, S) onde: Vn representa o vocabulário não terminal da gramática.

Leia mais

TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS

TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS TRANSFORMAÇÃO DE GRAMÁTICAS LIVRES DO CONTEXTO PARA EXPRESSÕES REGULARES ESTENDIDAS Acadêmico: Cleison Vander Ambrosi Orientador: José Roque Voltolini da Silva Roteiro da Apresentação Introdução Motivação

Leia mais

Teoria da Computação. 2006/2007 Trabalho prático nº 1. Trabalho realizado por: Pedro Oliveira ( ) Rui Costa ( ) Turma: TP1

Teoria da Computação. 2006/2007 Trabalho prático nº 1. Trabalho realizado por: Pedro Oliveira ( ) Rui Costa ( ) Turma: TP1 2006/2007 Trabalho prático nº 1 Trabalho realizado por: Pedro Oliveira (501062444) Rui Costa (501062452) Turma: TP1 1 - Introdução O objectivo deste trabalho era implementar um simulador de Autómatos Finitos

Leia mais

Demonstrações. Terminologia Métodos

Demonstrações. Terminologia Métodos Demonstrações Terminologia Métodos Técnicas de Demonstração Uma demonstração é um argumento válido que estabelece a verdade de uma sentença matemática. Técnicas de Demonstração Demonstrações servem para:

Leia mais

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO II Campus Rio Pomba

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO II Campus Rio Pomba Questão 01 No processo de construção de compiladores, é essencial compreender e manipular as expressões regulares e suas equivalências. Dentro desse contexto, seja o alfabeto = {a, b, c, d, e} e a seguinte

Leia mais

Cálculo Diferencial e Integral 2 Formas Quadráticas

Cálculo Diferencial e Integral 2 Formas Quadráticas Instituto Superior Técnico Departamento de Matemática Secção de Álgebra e Análise Cálculo Diferencial e Integral 2 Formas Quadráticas 1 Formas quadráticas Uma forma quadrática em R n é um polinómio do

Leia mais

Teoria da Computação. Unidade 1 Conceitos Básicos. Referência Teoria da Computação (Divério, 2000)

Teoria da Computação. Unidade 1 Conceitos Básicos. Referência Teoria da Computação (Divério, 2000) Unidade 1 Conceitos Básicos Referência (Divério, 2000) Conceitos Básicos Linguagem Conceito fundamental Forma precisa de expressar problemas Permite um desenvolvimento formal adequado ao estudo da computabilidade

Leia mais

04 Recursão SCC201/501 - Introdução à Ciência de Computação II

04 Recursão SCC201/501 - Introdução à Ciência de Computação II 04 Recursão SCC201/501 - Introdução à Ciência de Computação II Prof. Moacir Ponti Jr. www.icmc.usp.br/~moacir Instituto de Ciências Matemáticas e de Computação USP 2010/2 Moacir Ponti Jr. (ICMCUSP) 04Recursão

Leia mais

ESTRUTURA DE DADOS PILHAS SEQUENCIAIS

ESTRUTURA DE DADOS PILHAS SEQUENCIAIS ESTRUTURA DE DADOS PILHAS SEQUENCIAIS Prof. Dr. Daniel Caetano 2012-2 Objetivos Compreender o que é uma estrutura em pilha Compreender sua aplicação Capacitar para implementar pilhas Atividade Estruturada!

Leia mais

ESTRUTURA DE DADOS VETORES E LISTAS LINEARES

ESTRUTURA DE DADOS VETORES E LISTAS LINEARES ESTRUTURA DE DADOS VETORES E LISTAS LINEARES Prof. Dr. Daniel Caetano 2012-2 Objetivos Conhecer os vetores Compreender as Listas Sequenciais Implementar uma Lista Sequencial com Vetor GRUPOS? Até o fim

Leia mais