Revisão de GLC e Analisadores Descendentes

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

Download "Revisão de GLC e Analisadores Descendentes"

Transcrição

1 Conteúdo da aula 1. xemplos de Gramáticas Revisão de GLC e Analisadores Descendentes Marcelo Johann 2. Propriedades: Ambíguas, sem ciclos, ε-livres, fatoradas à esquerda, recursivas à esquerda, simplificadas 3. Transformações: liminação de produções vazias, de recursividade à esquerda (direta, indireta), fatoração 4. Analisadores Descendentes Recursivos com Retrocesso Recursivos Preditivos Conjunto FIRST e Implementação INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 2 xemplos Gramática para Comandos xemplos Gramática para xpressões cmd if expr then cmd else cmd print expr ( bool ) expr && expr expr expr bool true false OP ( ) x OP * / + - INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 3 INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 4 xemplos Gramática para Listas S a [ L ] L S ; L S Convenções Ressaltando Símbolos que representam terminais em minúsculos: u, v, x, y,... Símbolos que representam não-terminais em maiúsculos: X, Y, TRM, S,... Símbolos que representam formas sentenciais (seqüências de terminais e não-terminais): letras gregas ou sublinhadas: α, β, ω, w, z Outras INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 5 INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 6 1

2 Derivações Derivação em um passo A xy Derivação em múltiplos passos Se A w 2 w 3 w n dizemos que A * w n Tipos e Características Gramáticas Ambíguas Gramáticas sem ciclos Gramáticas ε-livres Gramáticas fatoradas à esquerda Gramáticas recursivas à esquerda Gramáticas simplificadas INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 7 INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 8 Gramática Ambígua Considere 5 3 * 2 OP ( ) x OP * / + - Gramática sem ciclos: Uma gramática sem ciclos é uma GLC que não possui derivações da forma A + A para algum A N 5 - * * 2 Gramática ε-livre : GLC que não possui produções vazias do tipo A ε exceto a produção S ε (S é o símbolo inicial). INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 9 INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 10 Transformações de GLCs Gramática fatorada à esquerda: GLC que não possui produções do tipo A αβ 1 αβ 2 para alguma forma sentencial α. Gramática recursiva à esquerda: GLC que permite a derivação A + Aα para algum A N O não terminal A deriva ele mesmo, de forma direta ou indireta, como símbolo mais à esquerda de uma subpalavra gerada. (A) liminação de produções vazias (B) liminação de recursividade à esquerda: recursão direta recursão indireta (C) Fatoração de uma gramática INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 11 INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 12 2

3 liminação de Produções Vazias liminação de Produções Vazias INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 13 INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 14 liminação de Produções Vazias (B) liminação de recursividade à esquerda xemplo de GLC recursiva à esquerda: A Aa b Gramáticas transformadas equivalentes: Com a palavra vazia A bx X ax ε Sem a palavra vazia A b bx X a ax Obs: pode ainda haver recursão indireta! INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 15 INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 16 (B) Outro exemplo de recursividade -> +T T T -> T*F F F -> () Id A regra -> +T T se torna: -> T -> +T ε A regra T- > T*F F se torna: T -> FT T -> *FT ε (C) Fatoração de uma gramática limina a indecisão de qual produção aplicar quando duas ou mais produções iniciam com a mesma forma sentencial A αβ 1 αβ 2 Se torna: A αx X β 1 β 2 INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 17 INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 18 3

4 (C) xemplo de Fatoração a squerda Análise top-down e bottom-up Cmd if xpr then Cmd else Cmd Cmd if xpr then Cmd Cmd Outro Fatorando a esquerda: Cmd if xpr then Cmd lseopc Cmd Outro lseopc else Cmd ε INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 19 INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 20 Analisadores Descendentes Também chamados recursivos ou top-down Recursivos com Retrocesso Testam cada possível derivação xemplo Recursivos Preditivos Determinam produção pelo símbolo terminal atual xemplo Conjunto FIRST e método de encontrá-lo Implementação xemplo Gramática para Listas S a [ L ] L S ; L S ntrada: [ a ] $ INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 21 INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 22 S A B A c ε Top-Down: Backtracking B cbb ca Gera S * cbca? S cbca tentar S AB AB cbca tentar A c cb cbca casar c B bca sem-saída, tentar A ε εb cbca tentar B cbb cbb cbca casar c bb bca casar b B ca tentar B cbb cbb ca casar c bb a sem-saída, tentar B ca ca ca casar c a a casar a -> Fim! Observações sobre o método recursivo com retrocesso É fácil de implementar. É necessário: 1. Que a gramática não seja recursiva à esquerda A Aa se tornará ReconheceA() { ReconheceA();... } Recursão infinita! INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 23 INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 24 4

5 Analisadores Descendentes Também chamados recursivos ou top-down Recursivos com Retrocesso Testam cada possível derivação xemplo Recursivos Preditivos Determinam produção pelo símbolo terminal atual xemplo Conjunto FIRST e método de encontrá-lo Implementação xemplo Gramática onde é fácil distinguir produções CMD if XPR then CMD CMD while XPR do CMD CMD repeat LISTA until XPR CMD ID := XPR INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 25 INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 26 xemplo Mesma Gramática com mais Não-Terminais CMD COND ITR ATRIB COND if XPR then CMD ITR while XPR do CMD repeat LISTA until XPR ATRIB ID := XPR INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 27 xemplo Outra Gramática CMD: IF ASS WHIL BL; BL: { CMDL } ; CMDL: CMD RSTO; RSTO: ; CMDL epsilon; IF: "if" "then" CMD; WHIL: "while" "do" CMD; ASS: L = ; L: * ; : NUM ID; INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 28 Definição: Conjuntos First Seja α qualquer seqüência de símbolos terminais ou não terminais First(α): Definição informal: conjunto de todos os terminais que começam qualquer seqüência derivável de α. Definição formal: Se existe um t T e um β V* tal que α * t β então t First(α) Se α * ε então ε First(α) A B C D B b C c D d First(A)={b,c,d} First(B)={b} First(C)={c} First(D)={d} INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 29 Condição para que se possa usar um analisador preditivo Informalmente: no caso que em os First() dos lados direitos das regras de produção sejam simpáticos, não terá retrocesso. Formalmente: para qualquer produção A α 1 α 2... α n, quer-se: First(α 1 ) First(α 2 )... First(α n ) = Ø INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 30 5

6 Repeat { proc First(α: string of symbols) Para todas as produções α X 1 X 2 X 3 X n do if X 1 T then // caso simples onde X 1 é um terminal First(α) := First(α) {X 1 } else { // caso menos simples: X 1 é um não-terminal First(α) = First(α) First{X 1 } \ {ε}; for (i=1 ; i<=n ; i++) { if ε is in First(X 1 ) and in First(X 2 ) and in First(X i-1 ) First(α) := First(α) First(X i ) \ {ε} } } if (α =>* ε) then First(α) := First(α) {ε} end do } until no change in any First(α) INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 31 Observações sobre o método recursivo preditivo É fácil de implementar. É necessário: 1. Que a gramática não seja recursiva à esquerda A Aa se tornará ReconheceA() { ReconheceA();... } Recursão infinita! 2. Que a gramática seja fatorada à esquerda Senão, há ambigüidade na escolha da derivação. 3. Que os primeiros terminais deriváveis possibilitem a decisão de uma produção a aplicar! Não há retrocesso sobre não-terminais... INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 32 Implementação CMD: IF ASS WHIL BL; BL: '{' CMDL '}'; CMDL: CMD RSTO; RSTO: ';' CMDL; IF: "if" "then" CMD; WHIL: "while" "do" CMD; ASS: L '=' ; L: '*' ; : NUM ID; INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 33 tapas voltando ao yacc INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 34 Leituras e Tarefas sugeridas Ler e Reler o Livro Implementar outra GLC Ligar sua implementação com yylex Ligar com autômato INF Compiladores B - Marcelo Johann /1 Aula 07 : Slide 35 6

Compiladores. A seção das regras. Especificação (F)lex. Plano da aula. Escolha das regras. Compilação típica com FLEX

Compiladores. A seção das regras. Especificação (F)lex. Plano da aula. Escolha das regras. Compilação típica com FLEX Compilação típica com FLX Compiladores Análise sintática (1) Noções sobre Gramáticas Livres de conteto dição do teto de especificação No arquivo minhas_regras.l 3 partes: Declarações Regras (Rs -> Ação)

Leia mais

Compiladores. Exemplo. Caraterísticas de Gramáticas. A αβ 1 αβ 2. A αx X β 1 β 2. Lembrando... Gramáticas Livres de Contexto

Compiladores. Exemplo. Caraterísticas de Gramáticas. A αβ 1 αβ 2. A αx X β 1 β 2. Lembrando... Gramáticas Livres de Contexto Compiladores Análise sintática (2) Análise Top-Down Lembrando... Gramáticas Livres de Contexto Análise sintática = parsing. Baseada em GLCs Gramática: S A B Top-Down Bottom-Up S AB cb ccbb ccbca S AB A

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

Gramáticas Livres de Contexto

Gramáticas Livres de Contexto Conteúdo da aula Gramáticas Livres de Contexto Marcelo Johann Trabalho - primeira etapa Definição, código e estrutura Mais elementos e detalhes de lex GLCs Gramática, produção, derivações, árvores Ambíguas,

Leia mais

Compiladores Aula 5. Celso Olivete Júnior. olivete@fct.unesp.br

Compiladores Aula 5. Celso Olivete Júnior. olivete@fct.unesp.br Aula 5 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Conjuntos Primeiro(First) e Seguidor(Follow) 2 Na aula de hoje Análise Sintática Análise Sintática Descendente Recursividade Fatoração 3

Leia mais

Analisadores Descendentes Tabulares; Cjs First Follow

Analisadores Descendentes Tabulares; Cjs First Follow Conteúdo da aula nalisadores Descendentes Tabulares; Cjs First Follow Marcelo Johann nalisadores Descendentes Recursivos com Retrocesso Recursivos Preditivos Conjunto FIRT e Implementação nalisador Preditivo

Leia mais

Plano da aula. Compiladores. Top-Down x Bottom Up. Redução Exemplo 1. Redução Exemplo 1. Redução Exemplo 1. A Abc b B d.

Plano da aula. Compiladores. Top-Down x Bottom Up. Redução Exemplo 1. Redução Exemplo 1. Redução Exemplo 1. A Abc b B d. Plano da aula Compiladores Análise bottom-up AKA: Analisador ascendente Analisador empilhar/reduzir Análise sintática (4) Análise Bottom-Up Autômatos mpilhar/reduzir xemplos Handle Operações básicas IQuestões

Leia mais

Analisadores Ascendentes ou Empilha-Reduz. Mais um exemplo... Mais um exemplo... Top-Down x Bottom Up. Conteúdo da aula. Analisadores Ascendentes

Analisadores Ascendentes ou Empilha-Reduz. Mais um exemplo... Mais um exemplo... Top-Down x Bottom Up. Conteúdo da aula. Analisadores Ascendentes Conteúdo da aula Analisadores Ascendentes ou mpilha-reduz Marcelo Johann Analisadores Ascendentes uncionamento Analisadores de Precedência de Operadores Analisadores LR(k) SLR - Simple LR (estudaremos

Leia mais

Compiladores - Análise Preditiva

Compiladores - Análise Preditiva Compiladores - Análise Preditiva Fabio Mascarenhas - 203. http://www.dcc.ufrj.br/~fabiom/comp Wednesday, May 8, 3 Retrocesso Local Podemos definir o processo de construção de um parser recursivo com retrocesso

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

Compiladores. Transformações de GLCs. Plano da aula. Análise Top-Down. Análise Top-Down Exemplo. Gramáticas Livres de Contexto.

Compiladores. Transformações de GLCs. Plano da aula. Análise Top-Down. Análise Top-Down Exemplo. Gramáticas Livres de Contexto. Gramáticas Livres de Contexto Análise Top-Down Compiladores ε Análise sintática (2) Análise Top-Down Top-Down AB AB cb A c ccbb B cbb ccbca B ca 2 Transformações de GLCs Eliminação de produções vazias

Leia mais

Vantagens de uma Gramática. Sintaxe de uma Linguagem. Analisador Sintático - Parser. Papel do Analisador Sintático. Tiposde Parsers para Gramáticas

Vantagens de uma Gramática. Sintaxe de uma Linguagem. Analisador Sintático - Parser. Papel do Analisador Sintático. Tiposde Parsers para Gramáticas Sintaxe de uma Linguagem Cada LP possui regras que descrevem a estrutura sintática dos programas. specificada através de uma gramática livre de contexto, BNF (Backus-Naur Form). 1 Vantagens de uma Gramática

Leia mais

Análise semântica. Análise Semântica. Estrutura de um compilador. Anotação da árvore sintática. Tipos de comunicação de atributos?

Análise semântica. Análise Semântica. Estrutura de um compilador. Anotação da árvore sintática. Tipos de comunicação de atributos? Estrutura de um compilador Análise semântica Tradução orientada pela sintaxe 1 2 Análise Semântica Anotação da árvore sintática Análise semântica: Tipos (& Declarações) Escopo Checagens estáticas: Idéia:

Leia mais

V Análise Sintática. V.1.1 Gramáticas Livres de Contexto Definições de GLC

V Análise Sintática. V.1.1 Gramáticas Livres de Contexto Definições de GLC V Análise Sintática V.1 Fundamentos Teóricos V.1.1 G.L.C V.1.2 Teoria de Parsing V.2 Especificação Sintática de Ling. de Prog. V.3 - Implementação de PARSER s V.4 - Especificação Sintática da Linguagem

Leia mais

Teoria da Computação Linguagens e Expressões Regulares, Autómatos de Estados Finitos

Teoria da Computação Linguagens e Expressões Regulares, Autómatos de Estados Finitos Teoria da Computação Linguagens e Expressões Regulares, Autómatos de Estados Finitos Simão Melo de Sousa 12 de Outubro de 2011 Conteúdo 1 Linguagens e Expressões Regulares 2 2 Autómatos de Estados Finitos

Leia mais

Sintaxe e Semântica. Fases da Compilação. programa fonte

Sintaxe e Semântica. Fases da Compilação. programa fonte Sintaxe e Semântica mleal@inf.puc-rio.br Fases da Compilação programa fonte tokens parse tree árvore anotada ou outra forma intermediária código intermediário código objeto código objeto otimizado scanner

Leia mais

Compiladores. Análise Sintática

Compiladores. Análise Sintática Compiladores Análise Sintática Análise Sintática Vejamos um exemplo, seja a seguinte instrução de atribuição: posicao = inicial + incremento * 60 Na análise sintática tenta-se construir uma frase correta

Leia mais

Compiladores Aula 4. Celso Olivete Júnior.

Compiladores Aula 4. Celso Olivete Júnior. Aula 4 Celso Olivete Júnior olivete@fct.unesp.br Na aula de hoje... Revisão: gramáticas Relações em uma gramática: Cabeça, Último, Primeiro (First) e Seguinte (Follow) Capítulo 4 (seção 4.4.2) do livro

Leia mais

Compiladores. Análise Sintática

Compiladores. Análise Sintática Compiladores Análise Sintática Cristiano Lehrer, M.Sc. Introdução (1/3) A análise sintática constitui a segunda fase de um tradutor. Sua função é verificar se as construções usadas no programa estão gramaticalmente

Leia mais

Linguagens Formais e Compilação Ficha de exercícios

Linguagens Formais e Compilação Ficha de exercícios Linguagens Formais e Compilação Ficha de exercícios Simão Melo de Sousa 1 Linguagens Formais: Construir Frases Exercício 1 Para cada uma das gramáticas G seguintes, (a) descreva a linguagem L(G) gerada

Leia mais

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto

6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Capítulo 6. Autômatos com Pilha 6.3 Equivalência entre Autômatos com Pilha Não-Determinísticos e Gramáticas Livre do Contexto Nos exemplos da seção anterior, vimos que os autômatos com pilha existem para

Leia mais

LFA Aula 09. Gramáticas e Linguagens Livres de Contexto 18/01/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior.

LFA Aula 09. Gramáticas e Linguagens Livres de Contexto 18/01/2016. Linguagens Formais e Autômatos. Celso Olivete Júnior. LFA Aula 09 Gramáticas e Linguagens Livres de Contexto (Hopcroft, 2002) 18/01/2016 Celso Olivete Júnior olivete@fct.unesp.br www.fct.unesp.br/docentes/dmec/olivete/lfa 1 Classes Gramaticais Linguagens

Leia mais

Compiladores Aula 6. Celso Olivete Júnior.

Compiladores Aula 6. Celso Olivete Júnior. Aula 6 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Analisadores Sintáticos Descendentes ASD com retrocesso ASD preditivo recursivo não-recursivo 2 ASD Preditivo Recursivo Projeto Parte 2

Leia mais

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

Compiladores. Análise léxica. Plano da aula. Vocabulário básico. Motivação para análise léxica. Estrutura de um compilador Estrutura de um compilador Compiladores Análise lexical (1) Expressões Regulares 1 2 Plano da aula 1. Motivação do uso de E.R. e definições Linguagens, tokens, lexemas... 2. Regras de formação e exemplos

Leia mais

Parsing Preditivo. Antes de ser abordado o Parsing Preditivo, será apresentado o Analisador Sintático Descendente Recursivo.

Parsing Preditivo. Antes de ser abordado o Parsing Preditivo, será apresentado o Analisador Sintático Descendente Recursivo. UPE Caruaru Sistemas de Informação Disciplina: Compiladores Prof.: Paulemir G. Campos Parsing Preditivo Antes de ser abordado o Parsing Preditivo, será apresentado o Analisador Sintático Descendente Recursivo.

Leia mais

Gramáticas Livres de Contexto

Gramáticas Livres de Contexto Gramáticas Livres de Contexto 25 de novembro de 2011 Definição 1 Uma Regra (ou produção) é um elemento do conjunto V (V Σ). Sendo que V é um conjunto finito de elementos chamados de variáveis e Σ um conjunto

Leia mais

V Teoria de Parsing. Termos Básicos: Parser Analisador Sintático Parsing Analise Sintática Parse Representação da analise efetuada

V Teoria de Parsing. Termos Básicos: Parser Analisador Sintático Parsing Analise Sintática Parse Representação da analise efetuada V Teoria de Parsing Termos Básicos: Parser Analisador Sintático Parsing Analise Sintática Parse Representação da analise efetuada Ascendentes: S + x (* Seq. Invertida Reducao *) dir Exemplo: Descendentes:

Leia mais

COMPILADORES. Análise sintática. Prof. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática

COMPILADORES. Análise sintática. Prof. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Análise sintática Parte 02 Prof. geovanegriesang@unisc.br Data Conteúdo 23/09/2013 3. Análise Sintática: 3.1 analisadores

Leia mais

Compiladores - Análise Preditiva

Compiladores - Análise Preditiva Compiladores - Análise Preditiva Fabio Mascarenhas 205.2 http://www.dcc.ufrj.br/~fabiom/comp Analisador Preditivo Uma simplificação do parser recursivo com retrocesso que é possível para muitas gramáticas

Leia mais

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza. josineys@inf.ufpr.br

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza. josineys@inf.ufpr.br Fundamentos de Programação Turma CI-240-EST Josiney de Souza josineys@inf.ufpr.br Agenda do Dia Aula 2 (07/08/15) Introdução ao Python História Características Estrutura dos código-fonte Primeiros elementos

Leia mais

Compiladores - Especificando Sintaxe

Compiladores - Especificando Sintaxe Compiladores - Especificando Sintaxe 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

Leia mais

Análise Sintática II: Analisadores Descendentes Preditivos

Análise Sintática II: Analisadores Descendentes Preditivos Análise Sintática II: Analisadores Descendentes Preditivos Exercícios LL(1) = Left to right, Left-most derivation, 1 símbolo look-ahead 1. LL(1): definição 2. Para toda produção A -> α β Se β =>* λ, então

Leia mais

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura UFPI CCN DIE Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura O projeto Desenvolver um compilador de um subconjunto básico da linguagem PORTUGOL.

Leia mais

Geração de código intermediário. Novembro 2006

Geração de código intermediário. Novembro 2006 Geração de código intermediário Novembro 2006 Introdução Vamos agora explorar as questões envolvidas na transformação do código fonte em uma possível representação intermediária Como vimos, nas ações semânticas

Leia mais

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto ALGORITMOS PARTE 01 Fabricio de Sousa Pinto Algoritmos: Definição 2 É uma sequência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Algoritmos 3

Leia mais

Análise Sintática Descendente

Análise Sintática Descendente Análise Sintática Descendente Uma tentativa de construir uma árvore de derivação da esquerda para a direita Cria a raiz e, a seguir, cria as subárvores filhas. Produz uma derivação mais à esquerda da sentença

Leia mais

MAB Análise Sintática. Wednesday, April 4, 12

MAB Análise Sintática.  Wednesday, April 4, 12 MAB 471 2012.2 Análise Sintática http://www.dcc.ufrj.br/~fabiom/comp O Front End Código fonte Scanner tokens Parser IR Erros Parser Verifica a corretude gramatical da sequência de palavras e categorias

Leia mais

Analisadores Sintáticos. Análise Recursiva com Retrocesso. Análise Recursiva Preditiva. Análise Recursiva Preditiva 05/04/2010

Analisadores Sintáticos. Análise Recursiva com Retrocesso. Análise Recursiva Preditiva. Análise Recursiva Preditiva 05/04/2010 Anlisdores intáticos Análise Descendente (Top-down) Anlisdores sintáticos descendentes: Recursivo com retrocesso (bcktrcking) Recursivo preditivo Tbulr preditivo Análise Redutiv (Bottom-up) Anlisdores

Leia mais

MAB Análise Sintática. Wednesday, August 31, 11

MAB Análise Sintática.  Wednesday, August 31, 11 MAB 471 2011.2 Análise Sintática http://www.dcc.ufrj.br/~fabiom/comp O Front End Código fonte Scanner tokens Parser IR Erros Parser Verifica a corretude gramatical da sequência de palavras e categorias

Leia mais

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM. Teoria da Computação e Algoritmos Introdução à Linguagem Pascal 1 Estrutura de um programa INÍCIO FIM. PROGRAM END.

Leia mais

Definição 2.2 (Palavra) As sequências finitas de letras são designadas por palavras sobre o alfabeto V.

Definição 2.2 (Palavra) As sequências finitas de letras são designadas por palavras sobre o alfabeto V. Capítulo 2 Definição de Linguagens 2.1 Linguagens Formais Definição 2.1 (Alfabeto) Um conjunto finito e não vazio de símbolos arbitrários é designado por um alfabeto, e é denotado por V. Os elementos de

Leia mais

Se o símbolo inicial não fizer parte do conjunto de símbolos férteis, a linguagem gerada pela gramática é vazia.

Se o símbolo inicial não fizer parte do conjunto de símbolos férteis, a linguagem gerada pela gramática é vazia. Transformações em G.L.C Uma vez que existem métodos de análise, cada qual exigindo gramáticas com características específicas é importante que uma gramática possa ser transformada, porém, sem perder a

Leia mais

Nesta aula serão apresentados alguns comandos de condição, repetição e gráficos.

Nesta aula serão apresentados alguns comandos de condição, repetição e gráficos. 3 COMANDOS CONDICIONAIS E DE LAÇO Nesta aula serão apresentados alguns comandos de condição, repetição e gráficos. 3.1 COMANDOS CONDICIONAIS 3.1.1 Comando IF Como o próprio nome já indica, estes comandos

Leia mais

PROGRAMAÇÃO II 4. ÁRVORE

PROGRAMAÇÃO II 4. ÁRVORE 4. ÁRVORE PROGRAMAÇÃO II Prof. Jean Eduardo Glazar Uma árvore impõe uma estrutura hierárquica em uma coleção de itens. Um exemplo familiar é a árvore genealógica. Árvores despontam de forma natural em

Leia mais

Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof. Jefferson Morais

Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof. Jefferson Morais UNIVERSIDADE FEDERAL DO PARÁ INSTITUTO DE CIÊNCIAS EXATAS E NATURAIS FACULDADE DE COMPUTAÇÃO CURSO DE BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Disciplina: LINGUAGENS FORMAIS, AUTÔMATOS E COMPUTABILIDADE Prof.

Leia mais

Compiladores - Análise Preditiva

Compiladores - Análise Preditiva Compiladores - Análise Preditiva Fabio Mascarenhas 207.2 http://www.dcc.ufrj.br/~fabiom/comp Analisador Preditivo Uma simplificação do parser recursivo com retrocesso que é possível para muitas gramáticas

Leia mais

e à Linguagem de Programação Python

e à Linguagem de Programação Python Introdução a Algoritmos, Computação Algébrica e à Linguagem de Programação Python Curso de Números Inteiros e Criptografia Prof. Luis Menasché Schechter Departamento de Ciência da Computação UFRJ Agosto

Leia mais

Linguagens Formais e Autômatos. Alfabetos, Palavras, Linguagens e Gramáticas

Linguagens Formais e Autômatos. Alfabetos, Palavras, Linguagens e Gramáticas Linguagens Formais e Autômatos Alfabetos, Palavras, Linguagens e Gramáticas Cristiano Lehrer, M.Sc. Introdução (1/3) A Teoria das Linguagens Formais foi originariamente desenvolvida na década de 1950 com

Leia mais

Linguagens Livres de Contexto

Linguagens Livres de Contexto Linguagens Livres de Contexto 1 Roteiro Gramáticas livres de contexto Representação de linguagens livres de contexto Formas normais para gramáticas livres de contexto Gramáticas ambíguas Autômatos de Pilha

Leia mais

JavaScript (ou JScript)

JavaScript (ou JScript) 1. Introdução JavaScript (ou JScript) Uma linguagem como o JavaScript permite criar interfaces interativas na web (permite a interação do usuário). Para desenvolver web sites interativos precisamos de

Leia mais

Análise Sintática. Análise Sintática. Tipos de Analisadores Gramáticais: PARSERS

Análise Sintática. Análise Sintática. Tipos de Analisadores Gramáticais: PARSERS Análise Sintática Tipos de Analisadores Gramáticais: PARSERS * Analisadores TOP-DOWN: Árvore de derivação começa pela raiz indo para as folhas => Análise Descendente Tipo LL(1): Left to right / Leftmost

Leia mais

Linguagens Livres de Contexto e Autômatos a Pilha (Push- Down) Um Modelo de Computação de Força Intermediária. Gramática Livre de Contexto

Linguagens Livres de Contexto e Autômatos a Pilha (Push- Down) Um Modelo de Computação de Força Intermediária. Gramática Livre de Contexto LFA - PARTE 2 Linguagens Livres de Contexto e Autômatos a Pilha (Push- Down) Um Modelo de Computação de Força Intermediária João Luís Garcia Rosa LFA-FEC-PUC-Campinas 2002 R. Gregory Taylor: http://starbase.cs.trincoll.edu/~rtaylor/thcomp/

Leia mais

Árvores Binárias de Busca

Árvores Binárias de Busca Árvores Binárias de Busca Uma Árvore Binária de Busca T (ABB) ou Árvore Binária de Pesquisa é tal que ou T = 0 e a árvore é dita vazia ou seu nó contém uma chave e: 1. Todas as chaves da sub-árvore esquerda

Leia mais

Ambigüidade em gramáticas livre de contexto: Um problema não-solucionável

Ambigüidade em gramáticas livre de contexto: Um problema não-solucionável UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA CURSO DE CIÊNCIA DA COMPUTAÇÃO CÉSAR GARCIA DAUDT GABRIEL BARUFI VERAS Ambigüidade em gramáticas livre de contexto: Um problema não-solucionável

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 antonio.felicio@anhanguera.com 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

ESTRUTURA CONDICIONAL

ESTRUTURA CONDICIONAL AULA 6 ESTRUTURA CONDICIONAL 130 Tem como objetivo executar um conjunto de comandos caso uma condição lógica seja atendida. Quando a resposta lógica for falsa, nada será executado. Sintaxe Se CONDIÇÃO

Leia mais

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 30. Instituto de C

Compiladores. Bruno Lopes. Bruno Lopes Compiladores 1 / 30. Instituto de C ompiladores Análise Sintática Bruno Lopes Bruno Lopes ompiladores 1 / 30 Front-end Lida com a linguagem de entrada Teste de pertinência: código fonte linguagem fonte? Programa está bem formado? Sintaticamente?

Leia mais

CONVENÇÃO DE CÓDIGO JAVA

CONVENÇÃO DE CÓDIGO JAVA CONVENÇÃO DE CÓDIGO JAVA Eligiane Ceron - Abril de 2012 Versão 1.0 Conteúdo Considerações iniciais... 2 Introdução... 2 Extensão de arquivos... 2 Arquivos de código Java... 2 Comentários iniciais... 2

Leia mais

Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida)

Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida) Sintaxe do Pascal Simplificado Estendido de 12 novas construções em Notação EBNF (BNF estendida) Não-terminais são nomes mnemônicos colocados entre parênteses angulares. Vocabulário terminal formado por

Leia mais

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1 Linguagem C: Estruturas de Controle Prof. Leonardo Barreto Campos 1 Sumário Estrutura de Controle e de Fluxo Comandos de Seleção: O comando if; Ifs Aninhados; A escada if-else-if; A expressão condicional;

Leia mais

Testes Baseados na Implementação. (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins

Testes Baseados na Implementação. (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins Testes Baseados na Implementação (fluxo de controle) Baseado em notas de aula da profa. Eliane Martins 1 Tópicos O que é Grafo de fluxo de controle Critérios de cobertura 2 Referências B.Beizer R.Binder

Leia mais

Compiladores - Análise SLR

Compiladores - Análise SLR Compiladores - Análise SLR Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Um exemplo que funciona Todo estado com um item de redução e algum outro item causa conflito LR(0)! A técnica LR(0)

Leia mais

Compiladores. Prof. Bruno Moreno Aula 11 20/05/2011

Compiladores. Prof. Bruno Moreno Aula 11 20/05/2011 Compiladores Prof. Bruno Moreno Aula 11 20/05/2011 2- Recursivo preditivo Análise Recursiva Preditiva O símbolo sobre o cabeçote de leitura determina exatamente qual produção deve ser aplicada na expansão

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

Autômatos a pilha. UFRN/DIMAp/DIM0330 Linguagens formais. David Déharbe. http://www.consiste.dimap.ufrn.br/ david/enseignement/2003.

Autômatos a pilha. UFRN/DIMAp/DIM0330 Linguagens formais. David Déharbe. http://www.consiste.dimap.ufrn.br/ david/enseignement/2003. UFRN/DIMAp/DIM0330 Linguagens formais http://www.consiste.dimap.ufrn.br/ david/enseignement/2003.1/dim0330 1/36 Autômatos a pilha David Déharbe UFRN/DIMAp Campus Universitário, Lagoa Nova, 59072-970 Natal,

Leia mais

Um Compilador Simples. Definição de uma Linguagem. Estrutura de Vanguarda. Gramática Livre de Contexto. Exemplo 1

Um Compilador Simples. Definição de uma Linguagem. Estrutura de Vanguarda. Gramática Livre de Contexto. Exemplo 1 Definição de uma Linguagem Linguagem= sintaxe + semântica Especificação da sintaxe: gramática livre de contexto, BNF (Backus-Naur Form) Especificação Semântica: informal (textual), operacional, denotacional,

Leia mais

Aula anterior... Definição do algoritmo (continuação)

Aula anterior... Definição do algoritmo (continuação) Aula anterior... Definição do algoritmo (continuação) Método de decomposição hierárquica utilizando níveis crescentes de detalhe (abordagem top-down) Primeira noção de encapsulamento de operações Decomposição

Leia mais

UFRPE Prof. Gustavo Callou gcallou@gmail.com

UFRPE Prof. Gustavo Callou gcallou@gmail.com UFRPE Prof. Gustavo Callou gcallou@gmail.com 1 Algoritmos Representação Exercícios Linguagens de Programação Compilador Interpretador Ambiente de Desenvolvimento Python Característica Para que serve Onde

Leia mais

Expressões. Prof. Alberto Costa Neto alberto@ufs.br. Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

Expressões. Prof. Alberto Costa Neto alberto@ufs.br. Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe Linguagens de Programação Departamento de Computação Universidade Federal de Sergipe Expressão é uma frase de um programa que ao ser avaliada retorna um valor Tipos Literais Agregados Chamadas de Função

Leia mais

Compiladores - Análise Léxica

Compiladores - Análise Léxica Compiladores - Análise Léxica Fabio Mascarenhas 2017.2 http://www.dcc.ufrj.br/~fabiom/comp Introdução Primeiro passo do front-end: reconhecer tokens Tokens são as palavras do programa O analisador léxico

Leia mais

Paradigmas de Linguagem de Programação

Paradigmas de Linguagem de Programação Paradigmas de Linguagem de Programação Sintaxe Introdução Sintaxe: conjunto de regras que definem a forma da linguagem; Como as sentenças podem ser formadas como sequências de componentes básicos palavras;

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-3 Criando Classes em Java Prof. Esbel Tomás Valero Orellana Da Aula Anterior Classes em Java, sintaxe básica Tipos básicos de dados em Java, como escolher o tipo apropriado

Leia mais

PYTHON LISTAS. Introdução à Programação SI2

PYTHON LISTAS. Introdução à Programação SI2 PYTHON LISTAS Introdução à Programação SI2 3 Sequências Sequências! Podem ser indexados por algum valor ordinal posicional Algumas operações são aplicadas a todos os tipos de sequências. Listas li = [1,2,3,

Leia mais

Gramática. Prof. Yandre Maldonado e Gomes da Costa. Prof. Yandre Maldonado - 1

Gramática. Prof. Yandre Maldonado e Gomes da Costa. Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa yandre@din.uem.br Prof. Yandre Maldonado - 2 Mecanismo gerador que permite definir formalmente uma linguagem; Através de uma gramática

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 yandre@din.uem.br Prof. Yandre Maldonado - 2 Mecanismo gerador que permite definir formalmente uma linguagem; Através de uma gramática

Leia mais

IV Gramáticas Livres de Contexto

IV Gramáticas Livres de Contexto IV Gramáticas Livres de Contexto Introdução Definições de GLC 1 G = (Vn, Vt, P, S) onde P = {A α A Vn α (Vn Vt) + } 2 GLC ε - LIVRE : S ε pode pertencer a P, desde que: S seja o símbolo inicial de G S

Leia mais

1. Estrutura de seleção. Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição

1. Estrutura de seleção. Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição 1 Estrutura de seleção Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição - Necessário quando mais de uma ação deve ser tomada se uma condição for satisfeita

Leia mais

Avaliação de Expressões

Avaliação de Expressões valiação de Expressões valiação de Expressões - Como efetuar o cálculo de uma expressão em um computador? Exemplo: / B C D + E Regras usuais da matemática. Os parênteses alteram a ordem das expressões:

Leia mais

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

Linguagens, Gramáticas e Máquinas

Linguagens, Gramáticas e Máquinas Linguagens, Gramáticas e Máquinas 1 INTRODUÇÃO Pode-se olhar um computador como uma máquina M que tem as propriedades descritas a seguir. A cada instante, M tem um "estado interno", M lê alguma "entrada",

Leia mais

Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel.

Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel. Matemática Essencial Equações do Segundo grau Conteúdo Matemática - UEL - 2010 - Compilada em 18 de Março de 2010. Prof. Ulysses Sodré Matemática Essencial: http://www.mat.uel.br/matessencial/ 1 Introdução

Leia mais

FUNDAÇÃO EDUCACIONAL DE ITUIUTABA

FUNDAÇÃO EDUCACIONAL DE ITUIUTABA FUNDAÇÃO EDUCACIONAL DE ITUIUTABA ASSOCIADA À UNIVERSIDADE DO ESTADO DE MINAS GERAIS CURSO DE SISTEMA DE INFORMAÇÃO PILHA E FILA Prof. Walteno Martins Parreira Júnior www.waltenomartins.com.br waltenomartins@yahoo.com

Leia mais

Análise Sintáctica. Definições: Conjuntos First() e Follow() Compiladores, Aula Nº 19 João M. P. Cardoso. Conjunto First(β)

Análise Sintáctica. Definições: Conjuntos First() e Follow() Compiladores, Aula Nº 19 João M. P. Cardoso. Conjunto First(β) Análise Sintáctica Compiladores, Aula Nº 19 João M. P. Cardoso 1 Definições: Conjuntos First() e Follow() 2 Notação T é terminal, NT é nãoterminal, S é terminal ou não-terminal, e α e β representam sequências

Leia mais

Análise Sintática Bottom-up

Análise Sintática Bottom-up MAB 471 2011.2 Análise Sintática Bottom-up http://www.dcc.ufrj.br/~fabiom/comp Recapitulando parsers top-down Constróem árvore sintática da raiz até as folhas Recursão à esquerda faz parsers entrarem em

Leia mais

Árvores e Árvores Binárias

Árvores e Árvores Binárias MAC 5710 - Estruturas de Dados - 2008 Referência bibliográfica Os slides sobre este assunto são parcialmente baseados nas seções sobre árvores do capítulo 4 do livro N. Wirth. Algorithms + Data Structures

Leia mais

Processamento da Informação Teoria. Algoritmos e Tipos de dados

Processamento da Informação Teoria. Algoritmos e Tipos de dados Processamento da Informação Teoria Algoritmos e Tipos de dados Semana 01 Prof. Jesús P. Mena-Chalco 24/04/2013 (*) Slides adaptados das aulas do Prof. Harlen Costa Batagelo Algumas definições de algoritmo

Leia mais

Compiladores: P ASCAL jr

Compiladores: P ASCAL jr Compiladores: P ASCAL jr Rogério Eduardo da Silva, M.Sc. 2005/2 Sumário 1 Introdução 1 1.1 Evolução das Linguagens de Programação.................. 1 1.2 Introdução à Compilação............................

Leia mais

Compiladores Análise Semântica

Compiladores Análise Semântica Compiladores Análise Semântica Fabio Mascarenhas - 2013.2 http://www.dcc.ufrj.br/~fabiom/comp Árvores Sintáticas Abstratas (ASTs) A árvore de análise sintática tem muita informação redundante Separadores,

Leia mais

Compiladores - Análise Recursiva

Compiladores - Análise Recursiva Compiladores - Análise Recursiva Fabio Mascarenhas - 2013.2 http://www.dcc.ufrj.br/~fabiom/comp Analisador Recursivo Maneira mais simples de implementar um analisador sintático a partir de uma gramática,

Leia mais

IFTO TÉCNICO EM INFORMÁTICA DESENVOLVIMENTO DE SISTEMAS AULA 01

IFTO TÉCNICO EM INFORMÁTICA DESENVOLVIMENTO DE SISTEMAS AULA 01 IFTO TÉCNICO EM INFORMÁTICA DESENVOLVIMENTO DE SISTEMAS AULA 01 Prof. Manoel Campos da Silva Filho Tecnólogo em Processamento de Dados / Unitins Mestre em Engenharia Elétrica / UnB http://lab.ifto.edu.br/~mcampos

Leia mais

UNIVERSIDADE DO VALE DO ITAJAÍ. Juliano de Souza Gaspar PROTÓTIPO DE UMA FERRAMENTA DE APOIO AO ENSINO DE LINGUAGENS LIVRE DE CONTEXTO

UNIVERSIDADE DO VALE DO ITAJAÍ. Juliano de Souza Gaspar PROTÓTIPO DE UMA FERRAMENTA DE APOIO AO ENSINO DE LINGUAGENS LIVRE DE CONTEXTO UNIVERSIDADE DO VALE DO ITAJAÍ Juliano de Souza Gaspar PROTÓTIPO DE UMA FERRAMENTA DE APOIO AO ENSINO DE LINGUAGENS LIVRE DE CONTEXTO São José 2006 JULIANO DE SOUZA GASPAR PROTÓTIPO DE UMA FERRAMENTA DE

Leia mais

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,...

Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,... Por que o quadrado de terminados em 5 e ta o fa cil? Ex.: 15²=225, 75²=5625,... 0) O que veremos na aula de hoje? Um fato interessante Produtos notáveis Equação do 2º grau Como fazer a questão 5 da 3ª

Leia mais

Linguagens Formais e Autômatos (LFA)

Linguagens Formais e Autômatos (LFA) Linguagens Formais e Autômatos (LFA) Slides complementares da aula de 06/11/2013 Dicas para o trabalho de implementação em Ruby Conversão para a Forma Normal de Greibach Clarisse S. de Souza, 2013 1 Algoritmos

Leia mais

Internet e Programação Web

Internet e Programação Web COLÉGIO ESTADUAL PEDRO MACEDO Ensino Profissionalizante Internet e Programação Web 3 Técnico Prof. Cesar 2014 1 SUMÁRIO Criar sites dinâmicos em PHP --------------------------------------------------------

Leia mais

1) Digitar o código-fonte no editor do compilador Turbo Pascal para windows, exatamente como apresentado a seguir:

1) Digitar o código-fonte no editor do compilador Turbo Pascal para windows, exatamente como apresentado a seguir: Introdução à Informática 1 de 6 Data: 29/05/04 1) Digitar o código-fonte no editor do compilador Turbo Pascal para windows, exatamente como apresentado a seguir: program eq2grau; uses WinCrt, Strings;

Leia mais

ESTRUTURA DE DADOS PILHA

ESTRUTURA DE DADOS PILHA ESTRUTURA DE DADOS PILHA CONCEITO DE PILHAS - Pilhas são listas lineares onde a inserção de um novo item ou a remoção de um item já existente se dá em uma única extremidade, no topo. Pilha vazia Insere(A)

Leia mais

Aluísio Eustáquio da Silva

Aluísio Eustáquio da Silva 1 Aluísio Eustáquio da Silva SciLab Programável Material didático usado em aulas de Programação de Computadores, Algoritmos e Lógica de Programação Betim Maio de 2012 2 PROGRAMAÇÃO O SciLab permite que

Leia mais

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos LÓGICA DE PROGRAMAÇÃO Vitor Valerio de Souza Campos Exemplos de algoritmos Faça um algoritmo para mostrar o resultado da multiplicação de dois números. Algoritmo em descrição narrativa Passo 1 Receber

Leia mais