Protótipo tipo de um gerador de analisador léxicol

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

Download "Protótipo tipo de um gerador de analisador léxicol"

Transcrição

1 Protótipo tipo de um gerador de analisador léxicol Michel Nogueira Rebelo Orientando Joyce Martins Orientadora

2 Roteiro Introdução Fundamentação teórica Desenvolvimento Considerações finais

3 Introdução Origem/Motiva Motivação Área Problema Objetivos Relevância

4 Fundamentação Teórica Compiladores

5 Fundamentação Teórica Ferramentas para construção de compiladores Geradores de analisadores léxicos l (Lex) Geradores de analisadores sintáticos ticos (Yacc) Geradores de geradores de código

6 Fundamentação Teórica Analisadores léxicosl Definições Regulares letra a b.. z A B.. Z dígito identificador letra ( letra dígito _ )* Autômatos Finitos letra e0 e0 e1 Letra, digito, _

7 Fundamentação Teórica Glatz (2000) Manna (1974) Hopcroft (1979) Silva (2000)

8 Desenvolvimento do Protótipo tipo Especificação Meta-Linguagem (Definições Regulares e BNF) Diagramas Use Case (Especificação e Teste) Diagrama de Classes

9 Definições Regulares da Meta-Linguagem letra a.. z A.. Z dígito identificador letra ( _ letra dígito )* literal " ASCII+ " caracter ' ASCII ' onde ASCII representa todos os caracteres válidos da tabela ASCII, exceto os seguintes caracteres { &, (, ), *, ^, }

10 BNF da Meta-Linguagem <especificação> ::= PALAVRAS RESERVADAS : <caixa> { <conjunto de literais> } SIMBOLOS ESPECIAIS : { <conjunto de literais> } TOKENS : { <conjunto de tokens> } <caixa> ::= ( CAIXA SENSÍVEL ) ε <conjunto de literais> ::= <lista de literais> ε <lista de literais> ::= literal literal, <lista de literais> <conjunto de tokens>::= <token> <token> <conjunto de tokens> <token>::= < identificador : <expressão regular> > <expressão regular>::= ( <expressão regular> ) <expressão regular'> <termo> <expressão regular'> <expressão regular'>::= <operador> <expressão regular'> <expressão regular> <expressão regular> ε <termo>::= [ <faixa> ] ~ [ <faixa> ] identificador literal caracter <operador> ::= + *? <faixa> ::= <sub-faixa> <sub-faixa>, <faixa> <sub-faixa> ::= caracter caracter.. caracter

11 Exemplo de Especificação de Entrada

12 Diagramas Use Case Usuário Especificar tokens Usuário Utilizar a classe gerada

13 Diagrama de Classes

14 Desenvolvimento do Protótipo tipo Implementação Compilador (Coco/R) Algoritmo do Desmonte (Silva, 2000) Teste da classe no protótipo tipo (IFPS3)

15 Definições Regulares da Meta-Linguagem no Coco/R IGNORE CASE CHARACTERS Maius = CHR(65)..CHR(90). Minus = CHR(97)..CHR(122). Digit = CHR(48)..CHR(57). Aspa = CHR(39). Aspas = CHR(34). EOL = CHR(13). N1 = CHR(38). // & N2 = CHR(40). // ( N3 = CHR(41). // ) N4 = CHR(42). // * N5 = CHR(94). // ^ N6 = CHR(124). // ASCII = ANY - EOL. Def_Lit = ASCII - Aspas - N1 - N2 - N3 - N4 - N5 - N6. Def_Car = ASCII - N1 - N2 - N3 - N4 - N5 - N6. TOKENS Ident = Maius Minus { "_" Maius Minus Digit}. Literal = Aspas Def_Lit {Def_Lit} Aspas. Caracter = Aspa Def_Car Aspa. COMMENTS FROM "//" TO EOL COMMENTS FROM "/*" TO "*/" NESTED IGNORE CHR(1)..CHR(32)

16 Sintax da Meta-Linguagem no Coco/R Meta_Linguagem = (. Inicializar;.) "PALAVRAS" "RESERVADAS" ":" { "(" "CAIXA" "SENSIVEL" ")" (. CaseSensitive := True;.) } "{" (. TipoLiteral := tpr;.) [Cnj_Literal] "}" "SIMBOLOS" "ESPECIAIS" ":" "{" (. TipoLiteral := tse;.) [Cnj_Literal] "}" "TOKENS" ":" "{" Cnj_Token "}" (. Finalizar;.) (...)

17 Algoritmo Desmonte Fonte: Glatz 2000 Esp ecificaç ão de Entrada Comp ilador A FD T ransforma ER p ara o Desmonte ER Algoritmo Desmonte O P E R A D O R O U N O T A Ç Ã O E X E M P L O D E E S P E C I F IC A Ç Ã O D E E N T R A D A lite r a l a b c a bc c a ra c te r a a + a + ( a a * )? a? ( a ^ ) E S P E C I F IC A Ç Ã O T R A N S FO R M A D A ~ ~ [ # ] (! $.. to do s os ca rac te re s da ta be la A S C II ) c on fo rm e d e s c r ito n a ta b e la 2.1, m e n os o c a ra c te r # [ ] [ a.. z ] ( a b c.. z )

18 Utilização da classe final Criar um novo projeto em Delphi Adicionar as units das classes ao projeto Declarar, instanciar e utilizar os objetos das classes TAnalisaLex,TArrayTokens TArrayTokens e TToken

19 Novo projeto em Delphi

20 Código do botão Executa procedure TFrmTesteClasse.BitBtnExecAnalisaLexClick(Sender: TObject); var i : Integer; Seta, Ident, DesCateg : String; NumCateg, Linha : Integer; begin Memo2.Clear; vanalisalex.texto := Memo1.Text; vanalisalex.montearraytokens; for i := 1 to vanalisalex.arraytokens.quant do begin Ident := TToken(vAnalisaLex.ArrayTokens.RetornaToken(i)).Ident; DesCateg := TToken(vAnalisaLex.ArrayTokens.RetornaToken(i)).DesCateg; NumCateg := TToken(vAnalisaLex.ArrayTokens.RetornaToken(i)).NumCateg; Linha := TToken(vAnalisaLex.ArrayTokens.RetornaToken(i)).Linha; Seta := ' ->'; Seta := Copy(Seta, Length(Ident), Length(Seta) - Length(Ident) + 1); if NumCateg <> 0 then Memo2.Lines.Add(Ident+Seta+' ('+IntToStr(NumCateg)+') '+DesCateg+' - Linha '+IntToStr(Linha)) else Memo2.Lines.Add(Ident+Seta+' ('+IntToStr(NumCateg)+') Erro: '+DesCateg+' inválido - Linha '+IntToStr(Linha)); end; end; end.

21 Considerações Finais Resultados obtidos Potencial e utilização Dificuldades encontradas: Coco/R e IFPS3 Restrições do protótipo tipo: Símbolos Especiais Início das Definições Regulares Caracters &,, *, ^, ( e ) Extensões

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

Variáveis Compostas Heterogêneas. Variável Composta Heterogênea. Variável Composta Heterogênea

Variáveis Compostas Heterogêneas. Variável Composta Heterogênea. Variável Composta Heterogênea Variáveis Compostas Heterogêneas Variável Composta Heterogênea Conjunto de dados logicamente relacionados, mas de tipos diferentes. Também chamada de registro. Variável Composta Heterogênea 1 Declaração

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

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 Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Prof. Bruno Vilela Oliveira bruno@cca.ufes.br http://www.brunovilela.webnode.com.br Aula 08 Programação em pascal Pascal Pascal

Leia mais

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos Lógica Aula 2 Técnicas de Programação Criando algoritmos Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos Criando

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

Capítulo 8. CICLOS. Tabela 8.1 Programa8a.f90.

Capítulo 8. CICLOS. Tabela 8.1 Programa8a.f90. Capítulo 8. CICLOS OBJETIVOS DO CAPÍTULO Conceito de ciclo Comandos do FORTRAN: DO END DO, EXIT 8.1 programa8a.f90 Para inicializar as atividades deste capítulo, deve-se executar: 1) Para acessar o programa

Leia mais

Representação de Algoritmos - Linguagens de Programação

Representação de Algoritmos - Linguagens de Programação Representação de Algoritmos - Linguagens de Programação A representação de algoritmos em uma pseudo-linguagem mais próxima às pessoas é bastante útil principalmente quando o problema a ser tratado envolve

Leia mais

ILP - Introdução à Linguagem de Programação. Plano de estudo: - Constantes e variáveis. - Atribuindo valores às variáveis.

ILP - Introdução à Linguagem de Programação. Plano de estudo: - Constantes e variáveis. - Atribuindo valores às variáveis. Plano de estudo: -. - Atribuindo valores às variáveis. - Expressões Na maioria das vezes, precisamos armazenar dados para manipulá-los. Por exemplo, em um escritório de contabilidade, armazenamos os dados

Leia mais

Manipulando Strings no VBA (Replace, Mid e InStr)

Manipulando Strings no VBA (Replace, Mid e InStr) Manipulando Strings no VBA (Replace, Mid e InStr) por Eduardo Vieira Machado (Good Guy) Hoje gostaria de tratar de um assunto bastante atraente no Access e que é muito trabalhado nas empresas - a manipulação

Leia mais

Protótipo de sistema de segurança predial através de monitoramento utilizando recursos da internet

Protótipo de sistema de segurança predial através de monitoramento utilizando recursos da internet Protótipo de sistema de segurança predial através de monitoramento utilizando recursos da internet Acadêmico: Erasmo Krüger Orientador: Antonio Carlos Tavares Roteiro Introdução Fundamentação Tecnologias

Leia mais

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Memória Flash. PdP. Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos TUTORIAL Memória Flash Autor: Tiago Lone Nível: Básico Criação: 11/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

Leia mais

Ferramenta de Análise Código Fonte em Delphi. Aluno - Roque César Possamai Orientador - Everaldo Artur Grahl

Ferramenta de Análise Código Fonte em Delphi. Aluno - Roque César Possamai Orientador - Everaldo Artur Grahl Ferramenta de Análise Código Fonte em Delphi Aluno - Roque César Possamai Orientador - Everaldo Artur Grahl Roteiro Introdução Fundamentação Teórica Conceitos Básicos Métricas de Software Métricas de Software

Leia mais

VETORES E MATRIZES. By Eduardo Vieira Machado (Good Guy)

VETORES E MATRIZES. By Eduardo Vieira Machado (Good Guy) VETORES E MATRIZES By Eduardo Vieira Machado (Good Guy) Vetores e matrizes são capazes de armazenar dados de forma organizada. Vetores fazem isso de forma escalar, isto é, com um dado de cada vez em sequência,

Leia mais

Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos

Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006. PdP. Pesquisa e Desenvolvimento de Produtos TUTORIAL Barra de LEDs Autor: Tiago Lone Nível: Básico Criação: 19/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

Leia mais

Pratica JFlex. Prática criando o primeiro analisador léxico

Pratica JFlex. Prática criando o primeiro analisador léxico UNIVERSIDADE DO OESTE DE SANTA CATARINA CAMPUS DE SÃO MIGUEL DO OESTE CURSO: CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMPILADORES PROFESSOR: JOHNI DOUGLAS MARANGON Pratica JFlex JFlex é uma ferramenta que permite

Leia mais

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI FORMULÁRIO COM ABAS E BUSCAS DE REGISTROS

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI FORMULÁRIO COM ABAS E BUSCAS DE REGISTROS ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI FORMULÁRIO COM ABAS E BUSCAS DE REGISTROS FORMULÁRIOS COM ABAS Trabalhar com abas (ou guias) é um recurso

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

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO Prof. Msc. Carlos José Giudice dos Santos carlos@oficinadapesquisa.com.br www.oficinadapesquisa.com.br Linguagens de Programação Material

Leia mais

Laboratório de Programação I

Laboratório de Programação I Laboratório de Programação I Estruturas de Controle: Parte I Fabricio Breve Objetivos Entender as técnicas básicas de solução de problemas Desenvolver algoritmos por meio do processo de refinamento top-down

Leia mais

Índice: Nitgen do Brasil www.nitgen.com.br

Índice: Nitgen do Brasil www.nitgen.com.br Índice: CAPÍTULO 3. PROGRAMAÇÃO EM DELPHI...2 3.1 INICIALIZANDO E FECHANDO O MÓDULO...2 3.1.1 Inicializando o módulo...2 3.1.2 Fechar o módulo após o uso...2 3.2 RELACIONANDO OS SENSORES NA PROGRAMAÇÃO...2

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

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES CAPÍTULO 5 5 VETORES E MATRIZES 5.1 Vetores Um vetor armazena uma determinada quantidade de dados de mesmo tipo. Vamos supor o problema de encontrar a média de idade de 4 pessoas. O programa poderia ser:

Leia mais

INTRODUÇÃO OBJECT PASCAL/DELPHI

INTRODUÇÃO OBJECT PASCAL/DELPHI Introdução Object Pascal/Delphi 1 INTRODUÇÃO OBJECT PASCAL/DELPHI Objetivo Demonstrar a sintaxe e a semântica do Object Pascal e a forma como esse linguagem de programação será aplicada na disciplina de

Leia mais

Programa Copa do Mundo 2014

Programa Copa do Mundo 2014 Programa Copa do Mundo 2014 Programa Copa do Mundo 2014 Gerente do Programa: Mario Queiroz Guimarães Neto Rede do Programa: Rede de Cidades Objetivo do Programa: Organizar com excelência os eventos FIFA

Leia mais

História. Nasceu em 1993, numa discussão entre Yuhikiro Matsumoto e um colega.

História. Nasceu em 1993, numa discussão entre Yuhikiro Matsumoto e um colega. 1 1. Overview 2 História Nasceu em 1993, numa discussão entre Yuhikiro Matsumoto e um colega. Matz procurava por uma linguagem de script orientada a objetos. A primeira versão estável de Ruby (1.2) foi

Leia mais

Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015. Visual Basic VBA

Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015. Visual Basic VBA Informática de Gestão 1º ano / 1º semestre Ano letivo: 2014/2015 Visual Basic VBA Macros Funções Conjunto de instruções que são executadas sempre que se desejar e pela ordem apresentada As funções são

Leia mais

JSP - ORIENTADO A OBJETOS

JSP - ORIENTADO A OBJETOS JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...

Leia mais

RESPONSABILIDADES DO GERADOR

RESPONSABILIDADES DO GERADOR RESPONSABILIDADES DO GERADOR RELIZAR O TRANSPORTE DOS RESÍDUOS POR MEIO DE TRANSPORTADORAS IDÔNEAS. OBTER DOS ÓRGÃOS AMBIENTAIS A APROVAÇÃO DO DESTINO DOS RESÍDUOS. EFETUAR O TRATAMENTO E A DISPOSIÇÃO

Leia mais

!!" "!#! " $ %"&!!$$# &! "! $$ & $ '!$# $' & &# & #$ & &' &$$ $' ' (" ' &!&& & ' & " $' $$ " $' $ "# )! * && ' $ " &+ $! "+ $$ $$ $! ' "$# $$ &#, -. /0 -,,.0 10, 02, 3,3,. /0-3,2 1/ - 3 3 3 / 00//, - /

Leia mais

Como construir um compilador utilizando ferramentas Java

Como construir um compilador utilizando ferramentas Java Como construir um compilador utilizando ferramentas Java p. 1/3 Como construir um compilador utilizando ferramentas Java Aula 5 Análise Léxica com JavaCC Prof. Márcio Delamaro delamaro@icmc.usp.br Como

Leia mais

ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ALGORITMOS MEMÓRIA, VARIÁVEIS E CONSTANTES, OPERADORES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO Memória Variáveis e constantes Tipos primitivos de dados Operadores Comandos

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

Algoritmos e Programação

Algoritmos e Programação Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

Leia mais

Capítulo 12. SUB-ROTINAS

Capítulo 12. SUB-ROTINAS Capítulo 12. SUB-ROTINAS OBJETIVOS DO CAPÍTULO Conceitos de: sub-rotina, programa-principal, projeto com diversos programas-fonte, passagem de argumentos Comandos do FORTRAN: PROGRAM, EXTERNAL, SUBROUTINE,

Leia mais

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Objetivos Compreender os conceitos de lógica de programação e de algoritmos. Conhecer

Leia mais

Exemplos: Pág 5 FUNÇÕES. UC Extensão - Excel Docente: André Luiz Silva de Moraes OPERADORES BOOLEANOS

Exemplos: Pág 5 FUNÇÕES. UC Extensão - Excel Docente: André Luiz Silva de Moraes OPERADORES BOOLEANOS Roteiro 1: Planilhas Eletrônicas > funções Objetivos Manipular e editar planilhas eletrônicas; Utilizar Operadores de texto, booleanos; Utilizar comandos para o desenvolvimento de funções; Explorar as

Leia mais

10/02/2015. Introdução. Podemos classificar os tipos de dados a serem processados em dados e instruções Dados: Algoritmos e Lógica de Programação

10/02/2015. Introdução. Podemos classificar os tipos de dados a serem processados em dados e instruções Dados: Algoritmos e Lógica de Programação Introdução Algoritmos e Lógica de Programação Tipos de dados Podemos classificar os tipos de dados a serem processados em dados e instruções Dados: Informações a serem processadas pelo computador. Consideremos

Leia mais

Impressão de Código de Barras Uma abordagem prática ZEBRA ZPL2

Impressão de Código de Barras Uma abordagem prática ZEBRA ZPL2 1 Impressão de Código de Barras Uma abordagem prática ZEBRA ZPL2 por Victory Fernandes e Augusto Frederico Na Internet estão disponíveis diversos componentes para geração e impressão de Código de Barras

Leia mais

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES II PROFESSOR RAFAEL BARRETO DELPHI CRIANDO UMA AUTENTICAÇÃO DE USUÁRIO UTILIZANDO O COMPONENTE QUERY A autenticação de usuários serve para

Leia mais

Adicionando Propriedades e Funcionalidades aos Componentes Parte II

Adicionando Propriedades e Funcionalidades aos Componentes Parte II Adicionando Propriedades e Funcionalidades aos Componentes Parte II Quantas vezes eu não lamentei por este componente não ter uma propriedade que guardasse uma lista paralela a lista que é mostrada em

Leia mais

Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos.

Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos. Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos. Construtor: método executado por uma CLASSE (e não por um objeto, instância da classe)

Leia mais

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação 1 Algoritmo Prof. Anderson Almeida Ferreira Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação Desenvolvimento de programas 2 Análise do problema Desenvolvimento

Leia mais

Algumas notas sobre PASCAL

Algumas notas sobre PASCAL Algumas notas sobre PASCAL PARTE I Anjolina Grisi de Oliveira 1 Um programa em PASCAL Esse texto inclui algumas notas sobre a linguagem PASCAL. As diferenças existentes entre os diversos compiladores não

Leia mais

1.2 Uma linguagem de programação muito simples

1.2 Uma linguagem de programação muito simples 1 Representando programas como dados 1.1 Introdução Os processadores de linguagem sempre fazem alguma manipulação com programas. Normalmente a entrada para o processador é um programa apresentado na forma

Leia mais

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos TUTORIAL Display de 7 Segmentos Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br

Leia mais

7. ESTRUTURAS DE DADOS ESTÁTICAS E DINÂMICAS

7. ESTRUTURAS DE DADOS ESTÁTICAS E DINÂMICAS 7. ESTRUTURAS DE DADOS ESTÁTICAS E DINÂMICAS Até... 7.1 Alocação Estática Alocação de Espaço em Memória Como já foi visto anteriormente, a memória de um computador compõe-se de uma sequência de palavras,

Leia mais

Noções Várias em Visual Basic

Noções Várias em Visual Basic Tipos de Dados A informação processada por um programa pode ser de diferente natureza e existir em diferentes formatos. um programa pode utilizar informação: numérica e alfanumérica (texto) Exemplos: Nome

Leia mais

FUNCTION ) RETURNS INTEGER AS $$ DECLARE

FUNCTION ) RETURNS INTEGER AS $$ DECLARE PERFORM O comando PERFORM permite a execução de um comando SELECT desprezando o resultado do comando. PERFORM query; A variável especial FOUND é definida como verdadeiro se a instrução produzir pelo menos

Leia mais

Notas de Aula de Algoritmos e Programação de Computadores

Notas de Aula de Algoritmos e Programação de Computadores Notas de Aula de Algoritmos e Programação de Computadores FLÁVIO KEIDI MIYAZAWA com a colaboração de TOMASZ KOWALTOWSKI Instituto de Computação - UNICAMP Versão 2000.1 Estas notas de aula não devem ser

Leia mais

Resumo da última aula. Compiladores. Tipos. Regras semânticas. Expressões de tipos. Análise Semântica e checagem de tipos.

Resumo da última aula. Compiladores. Tipos. Regras semânticas. Expressões de tipos. Análise Semântica e checagem de tipos. Resumo da última aula Compiladores Análise semântica Verificação de tipos 1 Implementação: Esquemas S-atribuídos: Mecanismo bottom-up direto Esquemas L-atribuídos: Mecanismo top-down: Necessita gramática

Leia mais

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00 Fundamentos da Programação 32 A. Conceito Variáveis contém dados: VIII. VARIÁVEIS de entrada que o computador precisa manipular; de saída que o computador precisa imprimir; e temporários, utilizados de

Leia mais

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP Algoritmos e Programação Ricardo Argenton Ramos Baseado nos slides do professor Jadsonlee da Silva Sá Criando um Algoritmo Os passos necessários para a construção de um algoritmo: ler atentamente o enunciado

Leia mais

Programando em C++ Histórico da Linguagem C

Programando em C++ Histórico da Linguagem C Programando em C++ Joaquim Quinteiro Uchôa joukim@comp.ufla.br DCC-UFLA, 2002 Programando em C++ p.1/38 Histórico da Linguagem C Linguagem C: 1972 - Laboratório Bells, por Dennis Ritchie, a partir da linguagem

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

Leia mais

Resumo da Introdução de Prática de Programação com C. A Linguagem C

Resumo da Introdução de Prática de Programação com C. A Linguagem C Resumo da Introdução de Prática de Programação com C A Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

MOTOR DE TEMPLATES PARA DELPHI 7

MOTOR DE TEMPLATES PARA DELPHI 7 UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO MOTOR DE TEMPLATES PARA DELPHI 7 THIAGO KEWITZ DEMARCHI BLUMENAU 2007 2007/2-33 THIAGO

Leia mais

II. LÓGICA DE PROGRAMAÇÃO COM PASCAL

II. LÓGICA DE PROGRAMAÇÃO COM PASCAL II. LÓGICA DE PROGRAMAÇÃO COM PASCAL Leitura: Engenharia de Software - Roger S. Pressman Cap 16 - Linguagens de Programação e Codificação (exceto 16.2) Introdução à Programação com Pascal - Sérgio E. R.

Leia mais

Programação de Computadores. Professor Ilaim Costa Junior ilaim@ic.uff.br Www.ic.uff.br/~ilaim

Programação de Computadores. Professor Ilaim Costa Junior ilaim@ic.uff.br Www.ic.uff.br/~ilaim Programação de Computadores Professor Ilaim Costa Junior ilaim@ic.uff.br Www.ic.uff.br/~ilaim Roteiro da Aula de Hoje Introdução ao FORTRAN (Parte I) Organização de programas Tipos de dados Variáveis Programação

Leia mais

Logado no OracleXE vamos acessar a opção:

Logado no OracleXE vamos acessar a opção: Tutorial PL/SQL O PL/SQL é uma linguagem procedural que roda diretamente no núcleo do SGBD Oracle. O objetivo deste tutorial é mostrar a criação de funções e procedimentos em PL/SQL, interagindo com comandos

Leia mais

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Computadores Digitais 2. Prof. Rodrigo de Souza Couto Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Aula de Hoje Cadeias de caracteres (strings) Caracteres Definição e manipulação de strings Vetor de strings Parâmetros

Leia mais

QUALIFICAÇÃO TÉCNICA EM DESENVOLVIMENTO DE SISTEMAS

QUALIFICAÇÃO TÉCNICA EM DESENVOLVIMENTO DE SISTEMAS Desenvolvimento De Sistemas - Lógica De Programação. 1. Lógica de Programação I 1.1 Introdução á Lógica de Programação 1.2 O que é lógica? 1.3 Lógica Matemática 1.4 Lógica de Programação 1.5 Seqüência

Leia mais

SOFTWARE DE INVENTÁRIO DE SOFTWARE DE EQUIPAMENTOS DE REDE UTILIZANDO SESSION MESSAGE BLOCK

SOFTWARE DE INVENTÁRIO DE SOFTWARE DE EQUIPAMENTOS DE REDE UTILIZANDO SESSION MESSAGE BLOCK SOFTWARE DE INVENTÁRIO DE SOFTWARE DE EQUIPAMENTOS DE REDE UTILIZANDO SESSION MESSAGE BLOCK Josélio Kreuch Francisco Adell Péricas - Orientador ROTEIRO INTRODUÇÃ ÇÃO OBJETIVOS GERENCIAMENTO DE REDES REGISTRO

Leia mais

extensible Markup Language (XML) XML é uma linguagem de anotação. XML utiliza tags para descrever informação.

extensible Markup Language (XML) XML é uma linguagem de anotação. XML utiliza tags para descrever informação. extensible Markup Language (XML) XML é uma linguagem de anotação. XML utiliza tags para descrever informação. Em XML, os tags não são pré-definidos. Temos de definir os nossos tags. XML utiliza um Document

Leia mais

PROGRAMAÇÃO II 3. FILA DINÂMICA

PROGRAMAÇÃO II 3. FILA DINÂMICA 3. FILA DINÂMICA PROGRAMAÇÃO II Prof. Jean Eduardo Glazar Uma fila é um tipo especial de lista na qual todas as inserções são feitas sempre depois do fim e as deleções no início. Por isso também recebe

Leia mais

ESTRUTURA DE DADOS -VARIÁVEIS COMPOSTAS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

ESTRUTURA DE DADOS -VARIÁVEIS COMPOSTAS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ESTRUTURA DE DADOS -VARIÁVEIS COMPOSTAS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO Variáveis compostas homogêneas Arrays Vetores Matrizes Variáveis compostas heterogêneas Registros

Leia mais

Introdução ao FORTRAN (Parte I)

Introdução ao FORTRAN (Parte I) Programação de Computadores III Aula 7 Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2011.1/tcc-03.063 Roteiro da Aula

Leia mais

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá. INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,

Leia mais

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

Entradas Digitais. PdP. Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006

Entradas Digitais. PdP. Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006 TUTORIAL Entradas Digitais Autores: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 27/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br

Leia mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 05 Cadeias de Caracteres Edirlei Soares de Lima Caracteres Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência

Leia mais

PROGRAMAÇÃO PARA DESIGNERS - OPERADORES

PROGRAMAÇÃO PARA DESIGNERS - OPERADORES PROGRAMAÇÃO PARA DESIGNERS - OPERADORES Introdução Este tutorial faz parte de um grupo de tutoriais (Programação para Designers) cujo objectivo é ensinar actionscripting a quem não tem bases de programação.

Leia mais

PdP. Autor: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 26/12/2005 Última versão: 18/12/2006

PdP. Autor: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 26/12/2005 Última versão: 18/12/2006 TUTORIAL Servo-motor Autor: Luís Fernando Patsko e Tiago Lone Nível: Intermediário Criação: 26/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br

Leia mais

Uma vez no form, dê um clique duplo sobre o objeto e insira a tela conforme abaixo. Não esqueça do & e das teclas de atalho.

Uma vez no form, dê um clique duplo sobre o objeto e insira a tela conforme abaixo. Não esqueça do & e das teclas de atalho. Exercício 03 Construir um programa em Delphi com um menu, cadastrando informações de clientes de um banco, conforme tela abaixo. Para tal, inserir, na paleta Standard clicar em menu. Uma vez no form, dê

Leia mais

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS. Profº Erinaldo Sanches Nascimento

UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS. Profº Erinaldo Sanches Nascimento UNINGÁ UNIDADE DE ENSINO SUPERIOR INGÁ FACULDADE INGÁ CIÊNCIA DA COMPUTAÇÃO CURSORS Profº Erinaldo Sanches Nascimento Introdução Cursor é usado para percorrer um conjunto de linhas retornadas por uma consulta

Leia mais

12345678797255445677655672542776742526 7!"#7# "$ %7& 7!"#7' "($ % )"(*+77"& " 7 ""$ 7!"#7# "$ %7.!,& 7!"#7' "($ % " "(*+7+7,- "& 1/7,77"07!"77",7%1223&07"," 77',7%1224& 123456787973553676656426747376253743733653762

Leia mais

SIMULADOS & TUTORIAIS

SIMULADOS & TUTORIAIS SIMULADOS & TUTORIAIS TUTORIAIS JAVASCRIPT Tipos de dados em JavaScript Copyright 2013 Todos os Direitos Reservados Jorge Eider F. da Silva Proibida a reprodução deste documento no todo ou em parte por

Leia mais

Compiladores 02 Analise léxica

Compiladores 02 Analise léxica Compiladores 02 Analise léxica Sumário Análise Léxica Definição: Lexema, tokens Tabela símbolos Expressões regulares, automatos Relembrando O compilador é dividido em duas etapas Análise Síntese Análise

Leia mais

LÓGICA DE PROGRAMAÇÃO. Professor Celso Masotti http://ead.celsomasotti.com.br

LÓGICA DE PROGRAMAÇÃO. Professor Celso Masotti http://ead.celsomasotti.com.br LÓGICA DE PROGRAMAÇÃO Professor Celso Masotti http://ead.celsomasotti.com.br Ano: 2015 1 HTML & PHP em Ambiente Web PARTE II Sumário I Decisão... 4 Operadores de Comparação... 6 II IF ELSEIF ELSE... 7

Leia mais

É uma das linguagens de programação que fazem parte da Plataforma.NET (em inglês: dotnet) criada pela Microsoft (Microsoft.NET).

É uma das linguagens de programação que fazem parte da Plataforma.NET (em inglês: dotnet) criada pela Microsoft (Microsoft.NET). C ( C-Sharp ) LPI 1. A Plataforma.NET (em inglês: dotnet) Visão Geral C é uma linguagem de programação. É uma das linguagens de programação que fazem parte da Plataforma.NET (em inglês: dotnet) criada

Leia mais

Conceitos básicos da linguagem C

Conceitos básicos da linguagem C Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por

Leia mais

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Cap. 02 Fundamentos de Linguagens Sumário : Linguagem, alfabeto e gramática

Leia mais

De novo, vamos começar pelas funções mais básicas, testá-las e depois usá-las em funções mais complexas.

De novo, vamos começar pelas funções mais básicas, testá-las e depois usá-las em funções mais complexas. Aula 3 Funções para tratamento de texto, e função para obtenção de dados em arquivos texto com formato livre (e-mails, relatórios, pdfs salvos como texto, etc.). Função para pesquisa fonética. De novo,

Leia mais

2 Orientação a objetos na prática

2 Orientação a objetos na prática 2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos

Leia mais

Arq = Freefile Open C:\Pasta\Arquivo.dat For Binary As #arq Abrir o arquivo binario. X = Seek(arq) Mostra a posição que está sendo lida no arquivo

Arq = Freefile Open C:\Pasta\Arquivo.dat For Binary As #arq Abrir o arquivo binario. X = Seek(arq) Mostra a posição que está sendo lida no arquivo 6.3 Arquivos Binários Para ler arquivos binários é utilizado o seguinte comando. Arq = Freefile Open C:\Pasta\Arquivo.dat For Binary As #arq Abrir o arquivo binario Get #arq, 1, CabArquivo Lê o arquivo

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

DESENVOLVIMENTO DE UM PROTÓTIPO DE UM GERADOR DE ANALISADOR LÉXICO

DESENVOLVIMENTO DE UM PROTÓTIPO DE UM GERADOR DE ANALISADOR LÉXICO UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO (Bacharelado) DESENVOLVIMENTO DE UM PROTÓTIPO DE UM GERADOR DE ANALISADOR LÉXICO TRABALHO DE CONCLUSÃO

Leia mais

Neste capítulo discutiremos o que é uma DLL, seus aspectos e tipos e ainda, porquê é tão importante para as aplicações Windows

Neste capítulo discutiremos o que é uma DLL, seus aspectos e tipos e ainda, porquê é tão importante para as aplicações Windows DINAMIC LINK LIBRARIES Capítulo 7 Neste capítulo discutiremos o que é uma DLL, seus aspectos e tipos e ainda, porquê é tão importante para as aplicações Windows O QUE É UMA DLL? Dinamic Link Libraries

Leia mais

Expressões Lógicas Comandos de Seleção

Expressões Lógicas Comandos de Seleção Expressões Lógicas e Comandos de Seleção Prof. de Algoritmos IA Expressões Lógicas São expressões que resultam em valores lógicos : verdadeiro ou falso. Em VB: a constante True representa verdadeiro a

Leia mais

Laboratório de Programação I

Laboratório de Programação I Laboratório de Programação I Introdução à Programação em Visual Basic Fabricio Breve Objetivos Ser capaz de escrever programas simples em Visual Basic Ser capaz de usar os comandos de entrada e saída Familiarizar-se

Leia mais

Usando o evento OnFilterRecord para filtrar ClientDataSets

Usando o evento OnFilterRecord para filtrar ClientDataSets Usando o evento OnFilterRecord para filtrar ClientDataSets O objetivo mais importante no desenvolvimento de um programa é fornecer ao cliente maior liberdade para usar as interfaces e ao mesmo tempo tornar

Leia mais

cast poderia ser usado também para transformar um real (float) em inteiro. A sintaxe C (float)i pode ser substituída em C++ por float(i).

cast poderia ser usado também para transformar um real (float) em inteiro. A sintaxe C (float)i pode ser substituída em C++ por float(i). Cast (conversão) Um tipo de dado pode ser convertido momentaneamente em outro tipo com um cast. Em linguagem C a sintaxe usada é formada pelo tipo desejado entre parênteses precedendo a expressão a ser

Leia mais

APLICATIVO PARA CÁLCULO DE MÉTRICA DE SOFTWARE EM CÓDIGO-FONTE PL/SQL

APLICATIVO PARA CÁLCULO DE MÉTRICA DE SOFTWARE EM CÓDIGO-FONTE PL/SQL APLICATIVO PARA CÁLCULO DE MÉTRICA DE SOFTWARE EM CÓDIGO-FONTE PL/SQL Karine Trevisani Cunha Alexander Roberto Valdameri - Orientador Roteiro Introdução Objetivos Motivação Fundamentação Teórica Desenvolvimento

Leia mais

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES I PROFESSOR RAFAEL BARRETO

ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES I PROFESSOR RAFAEL BARRETO ETEC DR. EMÍLIO HENRNANDEZ AGUILAR PROGRAMAÇÃO DE COMPUTADORES I PROFESSOR RAFAEL BARRETO DELPHI - UTILIZANDO OPENDIALOG PARA ARMAZENAR IMAGENS EM BANCO DE DADOS Criaremos uma solução simples para criar

Leia mais