Prof. Adriano Maranhão COMPILADORES

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

Download "Prof. Adriano Maranhão COMPILADORES"

Transcrição

1 Prof. Adriano Maranhão COMPILADORES

2 LINGUAGENS: INTERPRETADAS X COMPILADAS Resumo: Linguagem compilada: Se o método utilizado traduz todo o texto do programa, para só depois executar o programa, então diz-se que o programa foi compilado e que o mecanismo utilizado para a tradução é um compilador. A versão compilada do programa é armazenada, de forma que o programa pode ser executado um número indefinido de vezes sem que seja necessária nova compilação, o que compensa o tempo gasto na compilação. Isso acontece com linguagens como Pascal e C.

3 LINGUAGENS: INTERPRETADAS X COMPILADAS Linguagem Interpretada: Se o texto do programa é traduzido à medida que vai sendo executado, como em JavaScript, Python ou Perl, num processo de tradução de trechos seguidos de sua execução imediata, então diz-se que o programa foi interpretado e que o mecanismo utilizado para a tradução é um interpretador. Programas interpretados são geralmente mais lentos do que os compilados, mas são também geralmente mais flexíveis, já que podem interagir com o ambiente mais facilmente.

4 Linguagem Interpretada Linguagem Compilada

5 VANTAGENS DA DIVISÃO EM ANÁLISE LÉXICA E SINTÁTICA: Projeto mais simples. Diminui a complexidade do analisador sintático que não precisa mais lidar com estruturas foras de seu escopo como tratamento de caracteres vazios. Melhorar a eficiência do compilador. Técnicas de otimização específicas para o analisador léxico. Melhor portabilidade. Particularidades da linguagem fonte podem ser tratadas diretamente pelo analisador léxico.

6 CENÁRIO Programa fonte Analisador léxico Envia token Analisador sintático Solicita novo token Tabela de símbolos

7 ANÁLISE LÉXICA Análise léxica é o processo de analisar a entrada de linhas de caracteres e produzir uma seqüência de símbolos chamado "símbolos léxicos", ou somente "símbolos" (tokens), que podem ser manipulados mais facilmente por um leitor de saída.

8 TOKENS Os tokens constituem classes de símbolos tais como palavras reservadas, delimitadores, identificadores, etc, e podem ser representados, internamente, através do próprio símbolo (como no caso dos delimitadores e das palavras reservadas) ou por um par ordenado, no qual o primeiro elemento indica a classe do símbolo, e o segundo, um índice para uma área onde o próprio símbolo foi armazenado (por exemplo, um identificador e sua entrada numa tabela de identifidadores).

9 TABELA DE SÍMBOLOS É uma estrutura de dados gerada pelo compilador com o objetivo de armazenar informações sobre os nomes (identificadores de variáveis, de parâmetros, de funções, de procedimentos, etc) definidos no programa fonte. Essa tabela associa atributos (tipo, escopo, limites no caso de vetores e número de parâmetros no caso de funções) aos nomes que foram definidos pelo programador. A construção dessa tabela, em geral, se dá durante a análise léxica, quando os identificadores são reconhecidos.

10 ACESSO A TABELA DE SÍMBOLOS Listas lineares - é o mecanismo mais simples, mas seu desempenho é pobre quando o número de consultas é elevado. Árvores binárias Tabelas hash - têm melhor desempenho, mas exigem mais memória e esforço de programação.

11 EXEMPLO X := Y + 10 ID Cod_Atrib ID Cod_Sum Num X := Y + 10

12 OBSERVAÇÃO Para desempenhar a análise léxica, o compilador deve ter conhecimento de quais são os tokens válidos da linguagem, assim como suas palavras chaves e regras para formação de identificadores. Por exemplo, a declaração Exemplo: int 1var;

13 ESPECIFICAÇÃO DOS TOKENS Cadeias e Linguagens Operações em Linguagens Expressões Regulares

14 CADEIAS E LINGUAGENS Alfabeto ou classe de caracteres: qualquer conjunto finito de símbolos. Alfabeto binário {0,1} EBCDIC e ASCII Cadeia, sentença ou palavra: nome dada a uma seqüência finita de símbolos retiradas de uma alfabeto Ex: banana, O comprimento de um palavra, denotado por s, corresponde ao número de símbolos requeridos para sua construção Linguagem: denota qualquer conjunto de cadeias sobre algum alfabeto fixo Ǿ, { }, conjunto de todos os programas Pascal e sentenças sintaticamente corretas do português

15 OPERAÇÕES EM LINGUAGENS Prefixo: cadeia obtida pela remoção de zero ou mais símbolos no fim da cadeia. Ex: ban é um prefixo de banana. Sufixo: cadeia obtida pela remoção de zero ou mais símbolos no inicio da cadeia. Ex: nana é um sufixo de banana. Subcadeia: cadeia obtida pela remoção de um prefixo e de um sufixo. Ex: nan. Subseqüência: cadeia formada pela remoção de símbolos, não necessariamente contíguos. Ex: baaa é uma subseqüência de banana. União: qualquer cadeia pertencente a um dos dois conjuntos. L U M = { s s está em L ou s está em M} sendo L e M linguagens duas qualquer.

16 OPERAÇÕES EM LINGUAGENS Concatenação: LM = {st s está em L e t está em M} Fechamento Kleene (L*): zero ou mais concatenações de L. Fechamento positivo (L + ): uma ou mais concatenações de L.

17 OPERAÇÕES EM LINGUAGENS - EXEMPLOS L U D LD Conjunto de cadeias formadas por uma letra seguida por um dígito. Ex: a1 L 4 Conjunto de cadeias formadas por 4 letras. Ex: abcd L* Conjunto de letras e dígitos. Conjunto de cadeias formadas por zero ou mais letras. Ex: a, ab, bb, bbc,... L (L U D)* Conjunto de todas as cadeias de letras e dígitos que comecem com uma letra D + Conjunto de todas as cadeias de um ou mais dígitos

18 EXPRESSÕES REGULARES Notação especial para definição de cadeias de uma linguagem Identificador Pascall letra (letra dígito)* Caractere é igual a ou * significa zero ou mais instâncias A justaposição de letras significa concatenação destas Ex: a b (a b)(a b) {a,b} {aa, ab, ba, bb} a* {ε, a, aa, aaa,...} (a b)* Se duas expressões regulares denotam a mesma linguagem, dizemos que são equivalentes e representamos r=s. Ex: (a b) = (b a)

19 EXPRESSÕES REGULARES Definições regulares Expressões regulares podem ser nomeadas e estes nomes podem ser utilizados para definição de novas expressões Ex: letra : A B... Z a b... z digito : id : letra(letra digito)*

20

21

22 RECONHECIMENTO DE TOKENS if if then then else else relop < <= = <> > >= id letra (letra dígito)* num dígito + (.dígito + )?(E(+ -)?dígito + )? delim branco tabulação avanço de linha ws delim +

PROGRAMAÇÃO I. Introdução

PROGRAMAÇÃO I. Introdução PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação

Leia mais

Papel do analisador léxico: ler o arquivo fonte em busca de unidades significativas (os tokens) instanciadas por lexemas ou átomos.

Papel do analisador léxico: ler o arquivo fonte em busca de unidades significativas (os tokens) instanciadas por lexemas ou átomos. Análise Léxica Análise Léxica Papel do analisador léxico: ler o arquivo fonte em busca de unidades significativas (os tokens) instanciadas por lexemas ou átomos. Também denominado de scanner, porque varre

Leia mais

Análise Léxica. O papel do analisador léxico

Análise Léxica. O papel do analisador léxico Análise Léxica Compiladores 1 A varredura, ou análise léxica, é a fase de um compilador que lê o programafonte como um arquivo de caracteres e o separa em marcas. Essas marcas são como palavras em uma

Leia mais

SEMÂNTICA. Rogério Rocha. rode = program simples = var x : int := 3 in x := x + 5 end.

SEMÂNTICA. Rogério Rocha. rode = program simples = var x : int := 3 in x := x + 5 end. SEMÂNTICA program simples = var x : int := 3 in x := x + 5 end. rode =? Rogério Rocha Roteiro Introdução Sintaxe Semântica Dinâmica (Métodos formais) Operacional Axiomática Denotacional Estática Conclusão

Leia mais

Existem dois tipos básicos de subrotinas: a) Procedimentos; b) Funções.

Existem dois tipos básicos de subrotinas: a) Procedimentos; b) Funções. ESTRUTURAÇÃO DOS MÓDULOS DE UM ALGORITMO Uma subrotina é um algoritmo hierarquicamente subordinado a um outro algoritmo geralmente chamado de módulo principal. Da mesma forma, uma subrotina pode conter

Leia mais

Definição. Motivação para criação. Utilização de subrotinas. Características das subrotinas. Utilização de subrotinas ALGORITMOS

Definição. Motivação para criação. Utilização de subrotinas. Características das subrotinas. Utilização de subrotinas ALGORITMOS ALGORITMOS Definição Um conceito simples seria: Subrotinas (Procedimentos e Funções) Subrotina é um parcela de código computacional que executa uma tarefa bem definida, sendo que essa tarefa pode ser executada

Leia mais

Árvores B. Prof. Flávio Humberto Cabral Nunes

Árvores B. Prof. Flávio Humberto Cabral Nunes Árvores B Prof. Flávio Humberto Cabral Nunes Conteúdo 1. Introdução 2. Busca 3. Inserção 4. Remoção 5. B* 6. B+ Capítulo: 8 (APOSTILA). Introdução Em muitas aplicações, a tabela considerada é muito grande

Leia mais

Geometria Analítica. Geometria Analítica 28/08/2012

Geometria Analítica. Geometria Analítica 28/08/2012 Prof. Luiz Antonio do Nascimento luiz.anascimento@sp.senac.br www.lnascimento.com.br Conjuntos Propriedades das operações de adição e multiplicação: Propriedade comutativa: Adição a + b = b + a Multiplicação

Leia mais

Projeto de Compiladores

Projeto de Compiladores Projeto de Compiladores FIR Faculdade Integrada do Recife João Ferreira 26 e 27 de fevereiro de 2007 Agenda da Aula Revisão Linguagem de Programação Tradutores Compilador As Fases de Um Compilador Linguagem

Leia mais

ADMINISTRAÇÃO DE BANCOS DE DADOS MÓDULO 8

ADMINISTRAÇÃO DE BANCOS DE DADOS MÓDULO 8 ADMINISTRAÇÃO DE BANCOS DE DADOS MÓDULO 8 Índice 1. Modelagem de Dados - Continuação...3 1.1. Modelo Entidade-Relacionamento (MER) - II... 3 1.1.1. Entidades fortes e entidades fracas... 3 1.2. Dicionário

Leia mais

Computação I (MAB120) DCC/UFRJ

Computação I (MAB120) DCC/UFRJ Computação I (MAB120) DCC/UFRJ Aula 12: vetores 13 de maio de 2016 Objetivos dessa aula Apresentar o conceito de Tipos Compostos Homogêneos Apresentar o conceito de vetores Apresentar as operações básicas

Leia mais

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06 Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 06 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação COMO UM PROGRAMA ESCRITO

Leia mais

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 3. Autômatos Finitos

Curso: Ciência da Computação Turma: 6ª Série. Teoria da Computação. Aula 3. Autômatos Finitos Curso: Ciência da Computação Turma: 6ª Série Aula 3 Autômatos Finitos Alfabeto Alfabeto Conjunto finito de símbolos; Normalmente descrito por ; Exemplos: ={a, b} ={1, 2, 3} ={00, 11} Ø Alfabeto romano

Leia mais

Conjuntos Fuzzy e Lógica Fuzzy

Conjuntos Fuzzy e Lógica Fuzzy 1 Introdução Conjuntos Fuzzy e Lógica Fuzzy users.femanet.com.br/~fabri/fuzzy.htm Os Conjuntos Fuzzy e a Lógica Fuzzy provêm a base para geração de técnicas poderosas para a solução de problemas, com uma

Leia mais

Análise Léxica. Sumário

Análise Léxica. Sumário Análise Léxica Renato Ferreira Sumário Definição informal de Análise Léxica Identifica tokens numa string de entrada Alguns detalhes Lookahead Ambiguidade Especificação de Analisadores Léxicos Expressões

Leia mais

Unidade 1: O Computador

Unidade 1: O Computador Unidade : O Computador.3 Arquitetura básica de um computador O computador é uma máquina que processa informações. É formado por um conjunto de componentes físicos (dispositivos mecânicos, magnéticos, elétricos

Leia mais

Intercalação de vários arquivos. Estrutura de Dados II Prof Jairo Francisco de Souza

Intercalação de vários arquivos. Estrutura de Dados II Prof Jairo Francisco de Souza Intercalação de vários arquivos Estrutura de Dados II Prof Jairo Francisco de Souza Arquivos Um conjunto de registros que caracteriza uma classe de entidades pode ser mantido em memória principal, quando

Leia mais

Centro Universitário do Triângulo

Centro Universitário do Triângulo Centro Universitário do Triângulo Cálculo Lambda 1. Introdução A elaboração de modelos de computação (resolução de problemas por uma máquina) baseia-se em trabalhos de dois pesquisadores com enfoques bastante

Leia mais

EXERC EXAME DISCIPLINA: ALG ESTRUTURA DE DADOS I

EXERC EXAME DISCIPLINA: ALG ESTRUTURA DE DADOS I EXERC EXAME DISCIPLINA: ALG ESTRUTURA DE DADOS I CURSO: ENG CIVIL PROFESSOR: ANDRÉ LUÍS DUARTE PERÍODO 1º BIMESTRE 1 1) Identifique as afirmações como verdadeira (V) ou falsa (F): a) Existem três tipos

Leia mais

Fundamentos de Programação. Linguagem C++ Introdução, identificadores, tipos de dados. Prof. Bruno E. G. Gomes IFRN

Fundamentos de Programação. Linguagem C++ Introdução, identificadores, tipos de dados. Prof. Bruno E. G. Gomes IFRN Fundamentos de Programação Linguagem C++ Introdução, identificadores, tipos de dados Prof. Bruno E. G. Gomes IFRN 1 Linguagem de Programação Constituída por símbolos e por regras para combinar esses símbolos

Leia mais

Linguagens de Programação. Tipos. Carlos Bazilio

Linguagens de Programação. Tipos. Carlos Bazilio Linguagens de Programação Tipos Carlos Bazilio bazilio@ic.uff.br http://www.ic.uff.br/~bazilio/cursos/lp Definições Tipos de dados primitivos: tipos de dados que não são definidos em termos de outros tipos

Leia mais

Projeto de Compiladores. FIR Faculdade Integrada do Recife João Ferreira joaoferreira@fir.br 5 e 6 de março de 2007

Projeto de Compiladores. FIR Faculdade Integrada do Recife João Ferreira joaoferreira@fir.br 5 e 6 de março de 2007 Projeto de Compiladores FIR Faculdade Integrada do Recife João Ferreira joaoferreira@fir.br 5 e 6 de março de 2007 Agenda da Aula Resposta exercício da aula passada Revisão As Fases de Um Compilador Analisador

Leia mais

Fundamentos de Programação. Diagrama de blocos

Fundamentos de Programação. Diagrama de blocos Fundamentos de Programação Diagrama de blocos Prof. M.Sc.: João Paulo Q. dos Santos E-mail: joao.queiroz@ifrn.edu.br Página: http://docente.ifrn.edu.br/joaoqueiroz/ O processo de desenvolvimento (programação),

Leia mais

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18

1.2 OPERAÇÕES BÁSICAS EM ALGORITMOS E PROGRAMAS 18 ÍNDICE MÓDULO 1 INTRODUÇÃO À ALGORITMIA 11 1.1 PROGRAMAS E ALGORITMOS 12 Fases da programação 12 Algoritmos e algoritmia 13 Algoritmos em linguagem informal, pseudocódigo e fluxogramas 14 Símbolos utilizados

Leia mais

15/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

15/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores Faculdade INED Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan 1 Unidade 1 Imagem: BARBIERI, Carlos. 2

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Aula 2 Introdução Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Técnico em Informática Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno O que

Leia mais

Árvore Binária de Busca Ótima

Árvore Binária de Busca Ótima MAC 5710 - Estruturas de Dados - 2008 Referência bibliográfica Os slides sobre este assunto são parcialmente baseados nas seções sobre árvore binária de busca ótima do capítulo 4 do livro N. Wirth. Algorithms

Leia mais

Disciplina: Arquitetura de Computadores

Disciplina: Arquitetura de Computadores Disciplina: Arquitetura de Computadores Estrutura e Funcionamento da CPU Prof a. Carla Katarina de Monteiro Marques UERN Introdução Responsável por: Processamento e execução de programas armazenados na

Leia mais

MATEMÁTICA II. Aula 11. 3º Bimestre. Matrizes Professor Luciano Nóbrega

MATEMÁTICA II. Aula 11. 3º Bimestre. Matrizes Professor Luciano Nóbrega 1 MATEMÁTICA II Aula 11 Matrizes Professor Luciano Nóbrega º Bimestre MATRIZES _ INTRODUÇÃO DEFINIÇÃO Uma matriz é uma tabela com m linhas e n colunas que contém m. n elementos. EXEMPLO: Ângulo 0º 45º

Leia mais

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 1ª Parte Prof. Sandra Pais Soares

Curso Profissional de Gestão e Programação de Sistemas Informáticos. Programação e Sistemas de Informação. Módulo 1. 1ª Parte Prof. Sandra Pais Soares Curso Profissional de Gestão e Programação de Sistemas Informáticos Programação e Sistemas de Informação Módulo 1 1ª Parte Prof. Sandra Pais Soares Linguagens de Programação Linguagens de Programação Uma

Leia mais

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES

Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES Curso de Formação de Oficiais Conhecimentos Específicos ENGENHARIA DE COMPUTAÇÃO CADERNO DE QUESTÕES 2014 1 a QUESTÃO Valor: 1,00 a) (0,30) Defina gramáticas livre de contexto. b) (0,30) Crie uma gramática

Leia mais

O Cálculo λ sem Tipos

O Cálculo λ sem Tipos Capítulo 2 O Cálculo λ sem Tipos 21 Síntaxe e Redução Por volta de 1930 o cálculo lambda sem tipos foi introduzido como uma fundação para a lógica e a matemática Embora este objectivo não tenha sido cumprido

Leia mais

Prof. Daniela Barreiro Claro

Prof. Daniela Barreiro Claro O volume de dados está crescendo sem parar Gigabytes, Petabytes, etc. Dificuldade na descoberta do conhecimento Dados disponíveis x Análise dos Dados Dados disponíveis Analisar e compreender os dados 2

Leia mais

Conteúdo programático

Conteúdo programático Introdução à Linguagem C Conteúdo programático Introdução à Linguagem C Estrutura de Programas Variáveis, Constantes Operadores, Entrada e Saída de Dados Estruturas de Desvio Estrutura de Múltipla Escolha

Leia mais

Aula 04 Introdução à Programação Orientada à Objetos

Aula 04 Introdução à Programação Orientada à Objetos Aula 04 Introdução à Programação Orientada à Objetos Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda Introdução à Programação Orientada

Leia mais

CURSO INTRODUTÓRIO DE MATEMÁTICA PARA ENGENHARIA Função do 1 Grau. Rafael Carvalho - Engenharia Civil

CURSO INTRODUTÓRIO DE MATEMÁTICA PARA ENGENHARIA Função do 1 Grau. Rafael Carvalho - Engenharia Civil CURSO INTRODUTÓRIO DE MATEMÁTICA PARA ENGENHARIA 06. Função do Grau Rafael Carvalho - Engenharia Civil Equações do primeiro grau Equação é toda sentença matemática aberta que exprime uma relação de igualdade.

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

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Técnicas de verificação de algoritmos Um tipo de teste de algoritmo, denominado Teste de Mesa (ou Teste Exaustivo) pode ser feito

Leia mais

ÁLGEBRA. AULA 1 _ Conjuntos Professor Luciano Nóbrega. Maria Auxiliadora

ÁLGEBRA. AULA 1 _ Conjuntos Professor Luciano Nóbrega. Maria Auxiliadora 1 ÁLGEBRA AULA 1 _ Conjuntos Professor Luciano Nóbrega Maria Auxiliadora 2 Pode-se dizer que a é, em grande parte, trabalho de um único matemático: Georg Cantor (1845-1918). A noção de conjunto não é suscetível

Leia mais

Definição e Conceitos Básicos

Definição e Conceitos Básicos Definição e Conceitos Básicos Grafos e Algoritmos Computacionais Prof. Flávio Humberto Cabral Nunes fhcnunes@yahoo.com.br 1 Conceitos Básicos Em grafos ocorrem dois tipos de elementos: Vértices ou nós;

Leia mais

Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/06/06 1

Informática I. Aula 19. http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/06/06 1 Informática I Aula 19 http://www.ic.uff.br/~bianca/informatica1/ Aula 19-20/06/06 1 Ementa Histórico dos Computadores Noções de Hardware e Software Microprocessadores Sistemas Numéricos e Representação

Leia mais

Universidade Federal de Pelotas Cálculo com Geometria Analítica I Prof a : Msc. Merhy Heli Rodrigues Aplicações da Derivada

Universidade Federal de Pelotas Cálculo com Geometria Analítica I Prof a : Msc. Merhy Heli Rodrigues Aplicações da Derivada 1) Velocidade e Aceleração 1.1 Velocidade Universidade Federal de Pelotas Cálculo com Geometria Analítica I Prof a : Msc. Merhy Heli Rodrigues Aplicações da Derivada Suponhamos que um corpo se move em

Leia mais

2 Segmentação de imagens e Componentes conexas

2 Segmentação de imagens e Componentes conexas Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Informática (DAINF) Algoritmos II Professor: Alex Kutzke (alexk@dainf.ct.utfpr.edu.br) Especificação do Primeiro Trabalho Prático

Leia mais

FACULDADE CAMPO LIMPO PAULISTA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto a Análise de Algoritmos I Lista de Exercícios 1

FACULDADE CAMPO LIMPO PAULISTA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO. Projeto a Análise de Algoritmos I Lista de Exercícios 1 FACULDADE CAMPO LIMPO PAULISTA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Projeto a Análise de Algoritmos I Lista de Exercícios 1 Prof. Osvaldo. 1. Descreva alguns problemas associados ao emprego de metodologias

Leia mais

Linguagem C. Prof.ª Márcia Jani Cícero

Linguagem C. Prof.ª Márcia Jani Cícero Linguagem C Prof.ª Márcia Jani Cícero A estrutura Básica de um Programa em C Consiste em uma ou várias funções ou programas. main( ) // primeira função a ser executada // inicia a função // termina a função

Leia mais

Conjuntos Numéricos. I) Números Naturais N = { 0, 1, 2, 3,... }

Conjuntos Numéricos. I) Números Naturais N = { 0, 1, 2, 3,... } Conjuntos Numéricos I) Números Naturais N = { 0, 1, 2, 3,... } II) Números Inteiros Z = {..., -2, -1, 0, 1, 2,... } Todo número natural é inteiro, isto é, N é um subconjunto de Z III) Números Racionais

Leia mais

Manual do Desenvolvedor Geração de Tokens

Manual do Desenvolvedor Geração de Tokens Manual do Desenvolvedor Geração de Tokens Setembro de 2012 Versão 1.3 ÍNDICE Página 1. Introdução... 1 2. Geração de Tokens... 1 2.1 Formato dos Tokens... 1 2.2 Geração de Tokens... 1 2.2.1 Gerar Token

Leia mais

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I

Departamento de Engenharia Rural Centro de Ciências Agrárias. Programação I Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Aula 04 Algoritmos Sintaxe e Semântica Notações para representação de algoritmos. Elementos básicos de programação. Tipos de dados

Leia mais

Cálculo de Soma de Verificação do User Datagram Protocol

Cálculo de Soma de Verificação do User Datagram Protocol Resumo Cálculo de Soma de Verificação do User Datagram Protocol Othon Marcelo Nunes Batista Mestre em Informática othonb@yahoo.com Mesmo sendo um protocolo que nada garante, o UDP tem um campo no datagrama

Leia mais

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão

Introdução. à UML. Histórico (cont.) Histórico Definição Benefícios Notação Diagrama de Classes Diagramas de Interação Conclusões Revisão Sumário Introdução à UML BSI Bacharelado em Sistemas de Informação LOO Linguagens Orientadas a Objetos Humberto Mossri de Almeida hmossri_cursos@yahoo.com.br Marcelo Nassau Malta nassau_cursos@yahoo.com.br

Leia mais

Redes de Computadores

Redes de Computadores Nível de rede Inst tituto de Info ormátic ca - UF FRGS Redes de Computadores Nível de rede Aula 6 Aplicação Apresentação Sessão Transporte Rede Enlace Físico Protocolo nível de aplicação Protocolo nível

Leia mais

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto

Lógica de Programação. Profas. Simone Campos Camargo e Janete Ferreira Biazotto Lógica de Programação Profas. Simone Campos Camargo e Janete Ferreira Biazotto O curso Técnico em Informática É o profissional que desenvolve e opera sistemas, aplicações, interfaces gráficas; monta estruturas

Leia mais

Exemplo de Utilização das Classes Calendar e Date

Exemplo de Utilização das Classes Calendar e Date Exemplo de Utilização das Classes Calendar e Date Há algum tempo, na programação em Java, utilizava-se para manipular datas, única e exclusivamente, a classe Date. Porém, com a evolução da linguagem esta

Leia mais

Engenharia de Software II

Engenharia de Software II Engenharia de Software II Aula 26 http://www.ic.uff.br/~bianca/engsoft2/ Aula 26-21/07/2006 1 Ementa Processos de desenvolvimento de software Estratégias e técnicas de teste de software Métricas para software

Leia mais

RONALDO LIMA ROCHA CAMPOS GERADOR DE COMPILADORES

RONALDO LIMA ROCHA CAMPOS GERADOR DE COMPILADORES RONALDO LIMA ROCHA CAMPOS GERADOR DE COMPILADORES Florianópolis junho de 2009 SUMÁRIO 1 INTRODUÇÃO................................................... p. 3 1.1 MOTIVAÇÃO............................................................

Leia mais

Bem-vindo ao tópico sobre a ferramenta Importar do Excel.

Bem-vindo ao tópico sobre a ferramenta Importar do Excel. Bem-vindo ao tópico sobre a ferramenta Importar do Excel. 1 Neste tópico, você verá como importar cadastros de parceiros de negócios, dados do cadastro do item e listas de preços usando a ferramenta Importar

Leia mais

Redes de Petri. 1 Introdução. José de Oliveira Guimarães DC-UFSCar

Redes de Petri. 1 Introdução. José de Oliveira Guimarães DC-UFSCar Redes de Petri José de Oliveira Guimarães DC-UFSCar jose@dc.ufscar.br 1 Introdução Uma rede de petri (RP) é uma quádrupla (P, T, F, M 0 ) onde P é um conjunto de lugares, T um conjunto de transições, F

Leia mais

Introdução à Programação de Computadores Parte I

Introdução à Programação de Computadores Parte I Introdução à Programação de Computadores Parte I Prof. Dr. Edson Pimentel Centro de Matemática, Computação e Cognição Objetivos Compreender os componentes básicos de um programa... Objetivos Bacharelado

Leia mais

Cadastro de Clientes

Cadastro de Clientes Cadastro de Clientes Uma boa gestão começa na importância dada ao cadastro de clientes. O cadastro de clientes é uma ferramenta fundamental para melhorar as vendas da sua empresa e fidelizar seu cliente.

Leia mais

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves

Modelo Entidade Relacionamento (MER) Professor : Esp. Hiarly Alves Tópicos Apresentação Entidade, Atributo e Relacionamento Cardinalidade Representação simbólica Generalizações / Especializações Agregações Apresentação O Modelo Entidade-Relacionamento tem o objetivo de

Leia mais

Obviamente não poderíamos ter um número negativo de livros. Também não poderíamos imaginar alguém falando: Tenho 3,4231 livros na minha estante.

Obviamente não poderíamos ter um número negativo de livros. Também não poderíamos imaginar alguém falando: Tenho 3,4231 livros na minha estante. Conjunto dos Números Naturais A noção de um número natural surge com a pura contagem de objetos. Ao contar, por exemplo, os livros de uma estante, temos como resultado um número do tipo: N = {0,1,2,3 }

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

03. [Sebesta, 2000] Descreva a operação de um gerador de linguagem geral.

03. [Sebesta, 2000] Descreva a operação de um gerador de linguagem geral. 01. [Sebesta, 2000] Defina sintaxe e semântica. 02. [Sebesta, 2000] A quem se destinam as descrições de linguagem? 03. [Sebesta, 2000] Descreva a operação de um gerador de linguagem geral. 04. [Sebesta,

Leia mais

Sistemas de Equações Diferenciais Lineares

Sistemas de Equações Diferenciais Lineares Capítulo 9 Sistemas de Equações Diferenciais Lineares Agora, estamos interessados em estudar sistemas de equações diferenciais lineares de primeira ordem: Definição 36. Um sistema da linear da forma x

Leia mais

New Guia BR Guia de integração da API. Guia de Integração da API NewGuia BR

New Guia BR Guia de integração da API. Guia de Integração da API NewGuia BR Guia de Integração da API NewGuia BR A API A API do NewGuiaBR permite a integração entre sistemas já existentes no cliente e as ferramentas existentes no NewGuiaBR. Toda a integração é feita através de

Leia mais

UFCD 0793 Scripts CGI e Folhas de Estilo Formadora: Sónia Rodrigues

UFCD 0793 Scripts CGI e Folhas de Estilo Formadora: Sónia Rodrigues UFCD 0793 Scripts CGI e Folhas de Estilo Formadora: Sónia Rodrigues 0793 Scripts CGI e folhas de estilo Objectivos da UFCD: Desenvolver páginas para a Web, através de scripts CGI e folhas de estilo. UFCD

Leia mais

Plano da Apresentação. Medidas de localização central. Medidas de localização central. Média. Média. Exemplo nota média em Metodologias

Plano da Apresentação. Medidas de localização central. Medidas de localização central. Média. Média. Exemplo nota média em Metodologias Metodologia de Diagnóstico e Elaboração de Relatório FASHT Plano da Apresentação Mediana Moda Outras médias: a média geométrica Profª Cesaltina Pires cpires@uevora.pt Metodologias de Diagnóstico Profª

Leia mais

Computação Científica com MATLAB. Melissa Weber Mendonça

Computação Científica com MATLAB. Melissa Weber Mendonça Computação Científica com MATLAB Melissa Weber Mendonça melissa.mendonca@ufsc.br Aula passada... Algoritmos: conceito; tipos de dados; scripts; Modo interativo do MATLAB: familiarização com o software;

Leia mais

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão

Árvores. ! utilizada em muitas aplicações. ! modela uma hierarquia entre elementos. ! O conceito de árvores está diretamente ligado à recursão Árvores 1 Árvores! utilizada em muitas aplicações! modela uma hierarquia entre elementos! árvore genealógica! diagrama hierárquico de uma organização! modelagem de algoritmos! O conceito de árvores está

Leia mais

Leiaute de arquivos XML para Carta-Circular 3254

Leiaute de arquivos XML para Carta-Circular 3254 Leiaute de arquivos XML para Carta-Circular 3254 TSE Tribunal Superior Eleitoral SEPEL2 / CSELE / STI / TSE 29 de abril de 2010 Contato: sepel2@tse.gov.br (61)3316-3696 Site: http://www.tse.jus.br/internet/eleicoes/2010/prestacaodecontas.html

Leia mais

Estatística Amostral Medidas Descritivas MÉDIA - MEDIANA - MODA - QUANTIS

Estatística Amostral Medidas Descritivas MÉDIA - MEDIANA - MODA - QUANTIS MÉDIA - MEDIANA - MODA - QUANTIS A mediana é o dado que divide o conjunto ordenado em duas partes iguais, com 50% acima e 50% abaixo dela. Mas como encontrar os dados que se encontram acima e abaixo de

Leia mais

Capítulo 8. Estruturas de Repetição. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Capítulo 8. Estruturas de Repetição. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Capítulo 8 Estruturas de Repetição Objetivos do Capítulo Apresentar as três estruturas de repetição (loops) disponíveis no Java: while, do-while e for. Indicar a sintaxe que deve ser empregada para a construção

Leia mais

Aula 5. Uma partícula evolui na reta. A trajetória é uma função que dá a sua posição em função do tempo:

Aula 5. Uma partícula evolui na reta. A trajetória é uma função que dá a sua posição em função do tempo: Aula 5 5. Funções O conceito de função será o principal assunto tratado neste curso. Neste capítulo daremos algumas definições elementares, e consideraremos algumas das funções mais usadas na prática,

Leia mais

Curso: Banco de Dados I. Conceitos Iniciais

Curso: Banco de Dados I. Conceitos Iniciais Curso: Conceitos Iniciais Discussão inicial O que são Bancos de Dados? Quais os programas de Bancos de Dados mais conhecidos no mercado? Quais as vantagens do uso de Bancos de Dados nas empresas? Como

Leia mais

III) se deste número n subtrairmos o número 3816, obteremos um número formado pelos mesmos algarismos do número n, mas na ordem contrária.

III) se deste número n subtrairmos o número 3816, obteremos um número formado pelos mesmos algarismos do número n, mas na ordem contrária. 1 Projeto Jovem Nota 10 1. (Fuvest 2000) Um número inteiro positivo n de 4 algarismos decimais satisfaz às seguintes condições: I) a soma dos quadrados dos 1 e 4 algarismos é 58; II) a soma dos quadrados

Leia mais

Fundamentos de Sistemas Operacionais

Fundamentos de Sistemas Operacionais Fundamentos de Sistemas Operacionais Aula 2 Princípios de Programação Prof. Belarmino Linguagem de Computadores Internamente os computadores usam instruções e armazenam os dados no formato numérico binário

Leia mais

Modelo Comportamental

Modelo Comportamental MEDIDA 2.2 - Cursos de Educação e Formação de Adultos Modelo Comportamental Documento de apoio 3 Diagrama Entidade Relação Curso de Educação e Formação de Adultos Turma de Qualificação Escolar de Nível

Leia mais

Introdução ao. Script. Baltazar Tavares (Psycho Mantys) https://psychomantys.wordpress.com https://about.me/psycho_mantys

Introdução ao. Script. Baltazar Tavares (Psycho Mantys) https://psychomantys.wordpress.com https://about.me/psycho_mantys Introdução ao Script Baltazar Tavares (Psycho Mantys) https://psychomantys.wordpress.com https://about.me/psycho_mantys O que é Bash Script? O que é Bash + Script? O que é Bash? O que é Bash? Ele é um

Leia mais

Matriz, Sistema Linear e Determinante

Matriz, Sistema Linear e Determinante Matriz, Sistema Linear e Determinante 1.0 Sistema de Equações Lineares Equação linear de n variáveis x 1, x 2,..., x n é uma equação que pode ser expressa na forma a1x1 + a 2 x 2 +... + a n x n = b, onde

Leia mais

Banco de Dados e Engenharia de Software

Banco de Dados e Engenharia de Software Banco de Dados e Engenharia de Software Agenda Introdução a Banco de Dados Lógica Elementar, Conjuntos e Relações Arquitetura de Banco de Dados Linguagem SQL Modelo conceitual para Banco de Dados Transações

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

3. Computadores Industriais

3. Computadores Industriais UNIVERSIDADE DO ESTADO DE SANTA CATARINA UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS CCT DEPARTAMENTO DE ENG. DE PRODUÇÃO E SISTEMAS - DEPS INFORMÁTICA INDUSTRIAL IFD 3. Computadores Industriais Igor Kondrasovas

Leia mais

PROGRAMA INSTITUCIONAL DE BOLSA DE INICIAÇÃO À DOCÊNCIA PIBID SUBPROJETO DE LICENCIATURA EM MATEMÁTICA DO CERES CURSO DE MATEMÁTICA INTRODUÇÃO

PROGRAMA INSTITUCIONAL DE BOLSA DE INICIAÇÃO À DOCÊNCIA PIBID SUBPROJETO DE LICENCIATURA EM MATEMÁTICA DO CERES CURSO DE MATEMÁTICA INTRODUÇÃO PROGRAMA INSTITUCIONAL DE BOLSA DE INICIAÇÃO À DOCÊNCIA PIBID SUBPROJETO DE LICENCIATURA EM MATEMÁTICA DO CERES CURSO DE MATEMÁTICA APOSTILA 1 ARITMÉTICA PARTE I INTRODUÇÃO Durante muitos períodos da história

Leia mais

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06 Disciplina: Linguagem de Programação C Profª Viviane Todt Diverio Funções, variáveis, parâmetros formais

Leia mais

Para simplificar a notação, também usamos denotar uma sequência usando apenas a imagem de :

Para simplificar a notação, também usamos denotar uma sequência usando apenas a imagem de : Sequências Uma sequência é uma função f de em, ou seja. Para todo número natural i associamos um número real por meio de uma determinada regra de formação. A sequencia pode ser denotada por: Ou, por meio

Leia mais

Álgebra Linear e Geometria Analítica

Álgebra Linear e Geometria Analítica Álgebra Linear e Geometria Analítica Engenharia Electrotécnica Escola Superior de Tecnologia de Viseu wwwestvipvpt/paginaspessoais/lucas lucas@matestvipvpt 007/008 Álgebra Linear e Geometria Analítica

Leia mais

PROGRAMA e Metas Curriculares Matemática A. Estatística. António Bivar, Carlos Grosso, Filipe Oliveira, Luísa Loura e Maria Clementina Timóteo

PROGRAMA e Metas Curriculares Matemática A. Estatística. António Bivar, Carlos Grosso, Filipe Oliveira, Luísa Loura e Maria Clementina Timóteo PROGRAMA e Metas Curriculares Matemática A Estatística António Bivar, Carlos Grosso, Filipe Oliveira, Luísa Loura e Maria Clementina Timóteo O tema da Estatística nos Cursos Científico-Humanísticos de

Leia mais

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I

TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I TECNÓLOGO EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS PROGRAMAÇÃO DE COMPUTADORES I Aula 02: Organização e Arquitetura de Computadores / Lógica Digital (Parte I) O conteúdo deste documento tem por objetivo

Leia mais

Nota Salvador - NFS-e Manual de Exportação de NFS-e

Nota Salvador - NFS-e Manual de Exportação de NFS-e Nota Salvador - NFS-e Manual de Exportação de NFS-e Versão 1.1 Manual de Exportação de NFS-e Instruções e Layout ÍNDICE 1. Introdução... 3 2. Especificações... 3 3. Formatos e Layout Disponíveis... 3 4.

Leia mais

Representações da superfície terrestre

Representações da superfície terrestre Representações da superfície terrestre Representações da superfície terrestre Formas de representação Formas de representação Mapas mentais Representações da imagem mental que cada um adquire de uma determinada

Leia mais

Questão 2. Questão 1. Questão 3. Resposta. Resposta. Resposta

Questão 2. Questão 1. Questão 3. Resposta. Resposta. Resposta ATENÇÃO: Escreva a resolução COMPLETA de cada questão no espaço a ela reservado. Não basta escrever apenas o resultado final: é necessário mostrar os cálculos ou o raciocínio utilizado. Questão Emumasalaháumalâmpada,umatelevisão

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

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 3.1 CPU: Unidade de Processamento Central Prof. Luiz Gustavo A. Martins Arquitetura de von Newmann Unidade de Processamento Central (CPU): Memória Principal Unidade de Processamento

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 Lista de Exercícios n o 2 Revisão de Autômatos 1. Fazer os seguintes exercícios do

Leia mais

Certificado Digital A1/S1 e A3/S3. Instalação das Cadeias de Certificação

Certificado Digital A1/S1 e A3/S3. Instalação das Cadeias de Certificação Instalação das Cadeias de Certificação Todos os direitos reservados. Imprensa Oficial do Estado S.A. 2010 Pré Requisitos para a instalação Dispositivos de Certificação Digital (todos os modelos) Para que

Leia mais

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada

Leia mais

Banco de Dados I. Prof. Edson Thizon ethizon@bol.com.br

Banco de Dados I. Prof. Edson Thizon ethizon@bol.com.br Banco de Dados I Prof. Edson Thizon ethizon@bol.com.br Conceitos Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito Banco de dados (BD) Conjunto de dados interrelacionados

Leia mais

10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções...

10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções... 10. CPU (Central Processor Unit)... 10 2 10.1 Conjunto das instruções... 10 2 10.2 Estrutura interna... 10 4 10.3 Formato das instruções... 10 4 10. CPU (CENTRAL PROCESSOR UNIT) Como vimos no capítulo

Leia mais

Capítulo V Sistemas Numéricos

Capítulo V Sistemas Numéricos Capítulo V Sistemas Numéricos Introdução Em capítulos anteriores estudamos diversas funções lógicas. No próximo capítulo veremos que operações aritméticas como soma e subtração de números binários podem

Leia mais

Lista de Exercícios 06 Modularização (Procedimentos e Funções)

Lista de Exercícios 06 Modularização (Procedimentos e Funções) Lista de Exercícios 06 Modularização (Procedimentos e Funções) Procedimentos: Passagem de parâmetros. 1) Escreva um procedimento que receba um número inteiro e imprima o mês correspondente ao número. Por

Leia mais