XML e JAVA no Desenvolvimento de um Editor de Fórmulas do Cálculo de Predicados

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

Download "XML e JAVA no Desenvolvimento de um Editor de Fórmulas do Cálculo de Predicados"

Transcrição

1 XML e JAVA no Desenvolvimento de um Editor de Fórmulas do Cálculo de Predicados Carlos Eduardo de Lima, Edeilson Milhomem da Silva, Lucas Roberto Bechert Schmitz, Parcilene Fernandes de Brito, Fabiano Fagundes Curso de Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP) Palmas, TO, Brasil Resumo {careli, milhomem, lucas, pfb, fagundes}@ulbra-tobr Neste artigo são apresentados conceitos das linguagens JAVA e XML utilizados para o desenvolvimento de um editor de fórmulas do Cálculo de Predicados Para isso, foram apresentadas as etapas de construção da linguagem PCML, desenvolvida em XML para a verificação da validação das fórmulas, e a utilização das APIs DOM e SAX para a manipulação do documento XML no ambiente JAVA 1 Introdução O objetivo do presente artigo é apresentar as etapas de desenvolvimento de um editor de Fórmulas do Cálculo de Predicados As etapas vão desde a concepção da estrutura do documento necessária para a validação das fórmulas até a comparação entre as APIs da linguagem de programação JAVA que foram utilizadas para o desenvolvimento do editor no ambiente JAVA O editor faz parte do projeto de construção de um provador de Teoremas em JAVA, assim, neste artigo será apresentada a parte inicial do projeto, ou seja, a definição de métodos eficientes para o tratamento das fórmulas do Cálculo de Predicados inseridas pelo usuário Conceitos de XML, JAVA e das API s DOM e SAX serão apresentados na seção 2 Na seção 3 será apresentada uma proposta de uma linguagem de marcação para o Cálculo de Predicados Esta linguagem é descrita na seção 4 juntamente com a utilização das API s JAVA DOM e SAX no editor de Fórmulas A seção 5 apresenta as considerações finais e as conclusões 2 XML e JAVA Nesta seção serão apresentados conceitos de duas linguagens de programação utilizadas neste trabalho: XML e JAVA 21 XML XML extensible Markup Language (Linguagem de Marcação Extensível) é uma linguagem de marcação que surgiu para expandir as capacidades do HTML HyperText Markup Language (Linguagem de Marcação de Hipertexto) Linguagens de marcação são

2 linguagens que descrevem a estrutura de um documento, ou seja, como estão dispostas as informações do documento As linguagens de marcação determinam a forma de como o documento está estruturado, e de acordo com essa estrutura, determinam como ele será apresentado Regras explícitas determinam onde estas estruturas começam e terminam através de marcas (tags) que são colocadas antes e depois do conteúdo associado [KIRK and PITTS-MOULTIS, 2000], [MCGRATH, 1999], respectivamente tag de início e tag de fim Os documentos descritos em XML baseiam-se em três componentes distintos: estrutura, conteúdo e apresentação Isso facilita o processo de alterações posteriores, pois com a XML é possível alterar o conteúdo de um documento sem alterar o seu modo de exibição, ou viceversa A estrutura é definida através de uma DTD (Document Type Definitions) em que estão contidas as informações e elementos responsáveis pela organização do documento [MCGRATH, 1999], ou seja, é na definição do tipo do documento que serão especificadas as marcações da linguagem que está sendo desenvolvida O conteúdo é o valor atribuído, em um arquivo XML, para a estrutura definida no DTD O DTD é um arquivo, que pode ser feito separado do documento XML ou junto ao próprio, que fornece um conjunto de regras para o documento XML ao qual ele está anexado No arquivo DTD serão definidos os tipos de elementos que serão permitidos dentro do documento XML, as características, atributos e conteúdos de cada elemento, notações que podem ser encontradas em um documento e as entidades que podem ser utilizadas [KIRK and PITTS-MOULTIS, 2000], (Figura 1) Figura 1 exemplo de uma DTD com quatro elementos e um atributo A vantagem de se criar uma linguagem de marcação é que esta oferecerá a liberdade de agrupar os dados da maneira que precisa, ao invés de ter que se adaptar com a maneira que outros criaram para agrupar dados [MCGRATH, 1999] 22 JAVA 1<!ELEMENT autor (#PCDATA)> 2<!ELEMENT titulo (#PCDATA)> 3<!ELEMENT artigo (AUTOR+, TITULO, CONTEUDO)> 4<!ELEMENT conteudo (#PCDATA)> JAVA é uma linguagem de programação baseada nos conceitos da orientação a objetos e que tem como uma de suas características o fato de ser multiplataforma, ou seja, um programa escrito em JAVA pode ser executado em várias plataformas (Sistemas Operacionais) diferentes Isso se deve ao fato de ser uma Linguagem interpretada O JAVA oferece várias APIs JAVA Applications Programming Interface (conjunto de classes predefinidas) para as mais diversas aplicações, entre elas estão a DOM (Document Object Model) E SAX (Simple API for XML), APIs JAVA para a manipulação de documentos XML

3 221 DOM (Document Object Model) O DOM (Document Object Model) é uma API que define uma funcionalidade padrão para navegação e manipulação de conteúdo e de estrutura em documentos XML e HTML O DOM transforma o arquivo de texto (documento XML) em uma estrutura de árvore, assim, podemos evitar problemas como marcas não fechadas e marcas aninhadas de maneira inadequada [ANDERSON, 2001], já que cada elemento é considerado como um nó da árvore gerada Uma vantagem do DOM para manipular documentos XML é que ele tem acesso aleatório, ou seja, o nó pode ser criado ou anexado a qualquer momento e em qualquer lugar da árvore XML Ele evita relacionamentos inadequados de pai-filho e informações associadas, garantindo assim, boa formação e gramática adequada[anderson, 2001] Figura 2 Representação do Modelo Conceitual[FEDERIZZI, 2002] Modificada De acordo com a figura 2, a API DOM analisa um documento XML, validado opcionalmente por uma DTD, a partir da utilização de um Parser que faz a leitura do documento e o armazena na memória no formato de uma árvore Sendo assim, o conteúdo e a estrutura do documento são identificados e, na utilização dos métodos existentes na API DOM, a árvore gerada pode ser manipulada 222 SAX (Simple API for XML) A SAX (Simple API for XML) é uma interface que permite escrever aplicações para ler documentos XML Ela fornece o beneficio de se poder analisar um arquivo XML de qualquer tamanho, já que, contrária ao DOM, ela não carrega o documento inteiro na memória A SAX se mostra muito útil quando se quer criar sua própria estrutura de dados e também quando se quer apenas um pequeno subconjunto de informações[anderson, 2001] Sendo assim, a SAX não tem métodos que permitem a alteração do documento gerado, ela o acessa apenas em modo de leitura A SAX pode ser definida como uma interface JAVA que permite escrever aplicações para ler dados contidos em um documento XML Ela é uma interface baseada em eventos, que são disparados sempre que é encontrado algum elemento no documento XML, esses eventos são disparados na abertura e no fechamento do documento, dos elementos e quando são encontrados os caracteres[anderson, 2001] O parser que implementa a SAX acessa de forma seqüencial o documento XML efetuando apenas a leitura do mesmo Disparando eventos sempre que há um início e o fim de uma tag,

4 e para cada trecho de caracteres Desta forma, o parser lê o documento XML sem a necessidade da criação de um modelo de objeto na forma de árvore, tornando-se, assim, mais rápido A Figura 3 apresenta o funcionamento do parser que implementa o SAX Figura 3 Representação do Funcionamento do paser que implementa o SAX(Federizzi, 2002) Modificada 3 Uma linguagem de marcação para o Cálculo de Predicados Tendo em vista a complexidade dos termos da lógica de predicados, uma linguagem de marcação que melhor descreva e estruture esses termos vem a facilitar a compreensão dos mesmos por parte de alguém que esteja iniciando seus estudos na lógica formal Uma das etapas para a definição de uma linguagem de marcação que estruture o termos da lógica de predicados é definir como estes termos são formados Pode-se verificar nas seções anteriores que as linguagens de marcação permitem estruturar documentos de forma que cada parte deste possa ser facilmente identificada e acessada Uma outra vantagem das linguagens de marcação, é que as mesmas facilitam a interpretação da estrutura de algum domínio, como ocorre com o MathML que facilita a interpretação de termos matemáticos e também facilita o entendimento de como são formados alguns elementos da matemática Isto também ocorre com o CML, que facilita o entendimento de como são formados alguns elementos químicos A lógica das proposições (no qual está inserido o Cálculo Proposicional) parte da noção de acontecimento ou de fato A proposição (que pode ser representada por uma letra do alfabeto, exemplo P) representa um fato: O Pedro está doente, A Patrícia estuda A Lógica dos Predicados (no qual está inserido o Cálculo de Predicados) parte da noção de objeto Trata-se então de definir o objeto, situando-o numa classe que poderá ser ligada a outras classes [THIRY, 1996] Quando se trata de Lógica de Predicados, deve-se levar em consideração não apenas a proposição, mas também a classe a qual ela pode ou não pertencer Para isso usam-se os quantificadores Universal e Existencial Usa-se o quantificador universal quando se afirma que uma proposição está, ou não, totalmente incluída em uma classe Usa-se o quantificador existencial quando se pode afirmar pelo menos a existência, ou não, de alguma proposição em determinada classe [COPI, 1978]

5 O Cálculo de Predicados possui uma linguagem bem definida Segundo [NOLT, 1991], esta linguagem é dividida em duas partes: os símbolos lógicos (cuja interpretação permanece fixa em todos os contextos) e os símbolos não-lógicos (cuja interpretação varia de problema para problema) Símbolos Lógicos: operadores lógicos: ~,?,?,?,? ; quantificadores:?,? ; parênteses: (, ) Símbolos Não-Lógicos: letras nominais: letras minúsculas de a a t ; variáveis: letras minúsculas de u a z ; letras predicaditivas: letras maiúsculas; Nem toda construção a partir da utilização destes símbolos pode resultar numa fórmula correta do Cálculo de Predicados, daí a importância do conceito de Fórmula Bem Formada (FBF) O conceito de FBF do Cálculo de Predicados é definido pelas seguintes regras de formação [NOLT, 1991]: 1 Toda formula atômica é uma FBF; 2 Se? é uma FBF, então sua negação também o é; 3 Se? e? são FBFs, então (??? ), (??? ), (??? ), (??? ) são FBFs; 4 Se? é uma FBF contendo uma letra nominal?, então qualquer fórmula da forma?????? ou?????? é uma FBF, onde???? é o resultado de se substituir uma ou mais ocorrências de? em? por uma variável? que ocorre em? Uma fórmula do cálculo de Predicados pode ser considerada um argumento dedutivo, ou seja, dada um conjunto de premissas verdadeiras, infere-se uma conclusão verdadeira Podendo também existir um argumento dedutivo sem o conjunto de premissas, desta forma, a conclusão não necessita de outros fatos para ser provada, ela é necessariamente verdadeira, a isso denominamos teoremas ou axiomas Podemos verificar na figura 4 um exemplo de um teorema e de uma fórmula composta por premissa e conclusão, ambos sendo fórmulas bem formadas 1Exemplo de argumento com premissas: P? C, P C 2Exemplo de argumento sem premissas (Teorema): P? (P?C) Figura 4 Exemplo de um teorema e de uma fórmula bem formados No editor citado neste trabalho será dada ênfase a utilização correta dos símbolos, ou seja, se um condicional foi formado necessariamente por dois elementos (antecedente e conseqüente), se o quantificador universal tem uma variável ligada a ele etc 4 O EDITOR DE FÓRMULAS DO CÁLCULO DE PREDICADOS Para o desenvolvimento do editor foi necessário definir como cada componente de uma fórmula do Cálculo de Predicados deveria ser armazenado Foi proposto que se construísse uma linguagem que desse o suporte necessário para se trabalhar com o Cálculo de Predicados Essa linguagem é a PCML Predicatus Calculus Markup Language (Linguagem de Marcação para o Cálculo de Predicados) Um outro passo importante para a construção do Editor é, com base no documento PCML, gerar as classes em JAVA para que se possa manipular os elementos que compõe o argumento e que poderão mostrar se o argumento é ou não válido, com base na estrutura de

6 prova que será implementada no projeto provador de teoremas em JAVA Como a linguagem PCML foi desenvolvida em XML e o Editor está sendo desenvolvido em JAVA, foi necessário utilizar mecanismos de acesso ao documento PCML, ou seja, utilizar APIs do JAVA que possibilitasse a manipulação desses documentos 41 PCML A PCML é a linguagem desenvolvida em XML para representar argumentos do Cálculo de Predicados O DTD da linguagem é apresentado na Figura 5 1 <!ELEMENT ARG (PREM*,CONC)> 2 <!ELEMENT PREM (DISJ CONJ BIC COND UNI EXI PRED)> 3 <!ELEMENT CONC (DISJ CONJ BIC COND UNI EXI PRED)> 4 <!ELEMENT SENT (#PCDATA)> 5 <!ELEMENT DISJ (PRIM,SEG)> 6 <!ELEMENT CONJ (PRIM,SEG)> 7 <!ELEMENT BIC (PRIM,SEG)> 8 <!ELEMENT COND (ANT,CONS)> 9 <!ELEMENT UNI (PRED*,UNI*,EXI*,(DISJ CONJ BIC COND SENT)*,VAR)> 10 <!ELEMENT EXI (PRED*,UNI*,EXI*,(DISJ CONJ BIC COND SENT)*,VAR)> 11 <!ELEMENT PRED (SENT,(VAR*,CONST*))> 12 <!ELEMENT ANT (PRED (DISJ CONJ BIC COND UNI EXI))> 13 <!ELEMENT CONS (PRED (DISJ CONJ BIC COND UNI EXI))> 14 <!ELEMENT PRIM (PRED (DISJ CONJ BIC COND UNI EXI))> 15 <!ELEMENT SEG (PRED (DISJ CONJ BIC COND UNI EXI))> 16 <!ELEMENT VAR (#PCDATA)> 17 <!ELEMENT CONST (#PCDATA)> 18 <!ATTLIST UNI NEG CDATA #IMPLIED> 19 <!ATTLIST EXI NEG CDATA #IMPLIED> 20 <!ATTLIST SENT NEG CDATA #IMPLIED> 21 <!ATTLIST SENT NEG CDATA #IMPLIED> 22 <!ATTLIST COND NEG CDATA #IMPLIED> Figura 5 DTD da PCML Na primeira linha da Figura 5 define-se o elemento raiz ARG (argumento) que conterá 0 (zero) ou mais premissas (PREM) e uma só conclusão (CONC) As demais linhas definem todos os outros elementos que formarão as premissas e a conclusão do argumento Os únicos elementos que conterão dados (caracteres) serão os elementos SENT (linha 4), VAR (linha 16) e CONST (linha 17) Estes serão respectivamente as letras sentenciais, as variáveis e as constantes A definição deste DTD é de grande valia para um fácil entendimento da linguagem PCML Este foi estruturado de tal maneira que possibilitasse uma rápida compreensão, não apenas para o entendimento da linguagem, mas também para o próprio entendimento dos elementos que compõe o Cálculo de Predicados O documento XML da PCML é exemplificado na figura 6

7 1<?xml version= '10'encoding="ISO8859-1"?> 2<!DOCTYPE ARG SYSTEM "PCMLdtd"> 3<?xml-stylesheet href= "PCMLxsl" type="text/xsl"?> 4 <ARG> 5 <CONC> 6 <UNI> 7 <VAR>x</VAR> 8 <PRED> 9 <SENT>P</SENT> 10 <VAR>x</VAR> 11 </PRED> 12 </UNI> 13 </CONC> Figura 6 Atribuição de valores em um documento XML para a formação de um teorema 42 Objetivos da Utilização das APIS Dom e SAX no Editor do Cálculo de Predicados Na figura 7 (A) é apresentado um documento em XML, representando a fórmula? xpx - Pa Ou seja, dada uma propriedade quantificada universalmente (a premissa), é possível deduzir que essa mesma propriedade se aplica a um indivíduo em particular (a conclusão) No documento XML cada elemento que compõe a fórmula é separado e posicionado conforme uma hierarquia, ou seja, a variável x, pertence ao predicado P, que está agregado ao quantificador universal? e sua variável x É possível identificar que Pa está definido como a conclusão da fórmula, dado o fato de que Pa é filho do elemento Conc (conclusão) Na figura 7 (B), é mostrado como a API SAX trata este documento XML, ou seja, ao utilizar esta API é possível identificar uma marca inicial, um conjunto de caracteres e uma marca final, porque o analisador identifica a existência de eventos significativos à medida que eles ocorrem Conforme o exemplo, é verificada a identificação de cada parte do documento XML, assim, se uma aplicação tivesse como objetivo apenas a leitura dos elementos do documento, a SAX seria a melhor opção Já na figura 7 (C) é apresentada a árvore gerada a partir da utilização do DOM, assim a visualização da relação entre os elementos é facilmente identificada Os dados podem ser manipulados com precisão e podem, também, ser acrescentados novos elementos na árvore Desta forma, é possível identificar, por exemplo, qual a conclusão da fórmula, suas premissas, os elementos internos de um condicional etc Baseado em Eventos <?xml version = 10?> <arg> <prem> <uni> <var> x </var> <pred> <sent> P <sent> <var> x </var> </pred> </uni> </prem> A API SAX Baseado em Árvore start element: arg start element: prem start element: uni start element: var characters: x end element: var start element: pred start element: sent characters: P end element: sent start element: var characters: x end element: var end element: pred end element: uni end element: prem start element: conc start element: pred start element: send characters: P end element: sent start element: const characters: a end element: const end element: pred end element: conc B

8 <conc> <pred> <sent> P </sent> <const> a <const> </pred> C </conc> </arg> API DOM Figura 7 Modelo de da Passagem dos API s DOM e SAX Foram testadas as duas APIs para a utilização no editor de fórmulas Na verificação do início e do fim de um elemento da fórmula, a utilização da API SAX foi mais eficiente, dado a rapidez na busca destas informações, tendo em vista que não há a necessidade de gerar a árvore na memória Mas, quando há a necessidade de verificar a existência de um determinado elemento na fórmula, bem como identificar as relações entre estes elementos, o DOM apresentou os melhores resultados Assim, devido a própria natureza da sua estrutura (em forma de árvore), a realização de pesquisas mais complexas é mais dinâmica e eficiente No desenvolvimento do editor de Fórmulas, foi levada em consideração a natureza de cada problema, para a definição de qual API seria mais adequada O DOM utiliza o parser para todo o processo de leitura, criação do modelo de objeto JAVA, criação de uma referencia para este modelo de objeto e só depois destes passos o objeto pode ser manipulado Já o SAX não depende tanto do parser para todo o processo, este apenas realiza processo de leitura do documento XML disparando uma série de eventos, sempre que necessário É de responsabilidade do programador desenvolver uma aplicação que possa interpretar esses eventos [IDRIS, 2002] As dificuldades encontradas na SAX para a manipulação dos elementos são sanadas com a utilização do DOM, sendo assim, a partir da árvore do DOM, e dos métodos existentes na própria API, torna-se mais fácil trabalhar com cada elemento da fórmula Desta forma, é possível definir que na continuação do trabalho quando se partir do editor para o provador de teoremas a API DOM será mais adequada No exemplo da figura 8 é possível, a partir dos métodos constantes na própria API DOM, identificar, por exemplo, a primeira premissa do argumento e qual constante está ligada diretamente a letra predicativa desta primeira premissa Assim, as buscas que devem ser utilizadas para acessar os elementos do documento XML ficam mais simples ARG PRE PRE PRED SENT P CONST a

9 Figura 8 Apresentação do documento que é gravado na memoria pelo DOM Como no editor de fórmulas foram trabalhadas a leitura e validação do documento, foi preciso identificar o erro (se existisse) e apresentá-lo de uma forma legível ao usuário Para este problema, a API DOM teve um desempenho mais favorável Na figura 9 é exposto um trecho de um código PCML que contém um erro Como os erros são retornados de forma técnica, impossibilitando que um usuário leigo os compreenda, as mensagens de erros retornados pela utilização da API foram traduzidas para o usuário Vejamos como a API DOM trabalha a detecção dos erros a partir da utilização dos seus métodos <COND> <CONS> <PRED> <SENT> P <\PRED> <CONST> a <\CONST> </PRED> </CONS> </COND> Figura 9 Trecho de um código PCML com erro De acordo com a DTD do PCML, que foi mostrada anteriormente, o trecho de código acima está incorreto, pelo fato da tag COND (condicional) exigir, necessariamente, a presença dos elementos ANT (antecedente) e CONS (conseqüente) Figura 10 Representação do erro gerado pela API DOM A figura 10 representa um erro gerado quando se utiliza o parser da API DOM para ler o documento XML que está com erro Pode-se verificar que o erro não é retornado de uma

10 forma clara Assim sendo, o Editor será responsável por tratar esse erro e retorná-lo ao usuário de uma forma mais compreensível, como pode ser observado na figura 11 figura 11 Mesagem retornada para o usuário O processo de identificar os erros é um dos pontos complexos, assim quando não está claro qual elemento está faltando ou sobrando numa determinada tag, é retornado para o usuário uma mensagem mais genérica No exemplo que foi apresentado acima está faltando um dos filhos do condicional, como não é possível identificar se este filho é o elemento ANT ou o elemento CONS, a mensagem passada para o usuário reflete apenas que o problema da fórmula inserida por ele está na utilização errônea da sintaxe do condicional Na utilização do parser SAX para este mesmo problema foi verificado que ele não conseguiu detectar os erros, pois o mesmo apenas percorre o documento marcando o início e o final de cada elemento, não importando se esse elemento está ou não no local correto A priori o parser SAX não será utilizado para a detecção dos erros, mas não se refutou totalmente a possibilidade de se conseguir sanar este problema Assim, é possível a partir do editor, verificar se uma fórmula do Cálculo de Predicados é bem formada e, caso não seja, apresentar uma mensagem ao usuário apontando o erro Desta forma, esta ferramenta acoplada ao provador de teoremas poderá se tornar um ambiente de ensino satisfatório dos cálculos da Lógica Formal 5 CONSIDERAÇÕES FINAIS Foram observados neste trabalho os aspectos relevantes da utilização da XML e da linguagem JAVA para o desenvolvimento de um sistema que faça a leitura e o tratamento de fórmulas do Cálculo de Predicados Para isso, levou-se em consideração as APIs necessárias para fazer a manipulação do documento XML no ambiente JAVA As APIs DOM e SAX mostraram-se úteis no que diz respeito aos relatórios de erros e aos métodos de navegação no documento XML, sendo que a API DOM se mostrou mais apropriada para casos em que era necessário saber a hierarquia dos elementos Isso permite visualizar a utilização desta API em trabalhos futuros como a busca dos elementos que serão utilizados para a prova de uma fórmula do Cálculo de Predicados Assim, pretende-se desenvolver novos testes para a verificação do desempenho das APIs no tratamento dos erros, já que este é um ponto primordial para a atuação satisfatória do editor de fórmulas Pretende-se, também, fazer a agregação do editor de fórmulas ao provador de Teoremas, formando-se, assim, um ambiente de ensino do Cálculo de Predicados

11 6 REFERENCIAS [ANDERSON, 2001] ANDERSON, R et al Professional XML Rio de Janeiro: Editora Ciência Moderna LTDA, 2001 [COPI, 1978] COPI, Irving M Introdução à lógica São Paulo: Mestre Jou, 1978 [FEDERIZZI, 2002] Federizzi, G Link Disponível em Setembro de 2002 no sitio web [IDRIS, 2002] IDRIS, Nazmul Disponível em Setembro de 2002 no sitio web [KIRK and PITTS-MOULTIS, 2000] KIRK, Cheryl, PITTS-MOULTIS, Natanya XML Black Book São Paulo: Makron Books, 2000a [MACGRATH, 1999] MACGRATH, Sean XML Aplicações práticas Rio de Janeiro: Campus, 1999 [NOLT, 1991] NOLT, John, ROHATYN, Dennis Lógica São Paulo: McGraw-Hill, 1991 [THIRY, 1996] Thiry, Philippe Noções de Lógica Liscoa,Portugal: Edições 70, 1996

M V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O

M V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O M V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O A P L I C A Ç Õ E S M O N O L Í T I C A S Na época dos computares independentes um aplicativo era desenvolvido para ser usado em uma única

Leia mais

Estrutura Lógica DTD

Estrutura Lógica DTD Estrutura Lógica DTD Carina Dorneles dorneles@inf.ufrgs.br http://www.inf.ufrgs.br/ dorneles DTD Introdução DTD - Document Type Definition Conjunto de regras que definem a estrutura do documento Hierarquia

Leia mais

Modelo para a representação de informações, utilizado por aplicações Web que trabalham com a tecnologia AJAX.

Modelo para a representação de informações, utilizado por aplicações Web que trabalham com a tecnologia AJAX. JSON Modelo para a representação de informações, utilizado por aplicações Web que trabalham com a tecnologia AJAX. 1. Introdução JSON (JavaScript Object Notation) é um modelo para armazenamento e transmissão

Leia mais

TECNOLOGIA WEB INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML

TECNOLOGIA WEB INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML INTRODUÇÃO CONSTRUÇÃO DE PÁGINAS ESTÁTICAS HTML / XHTML 1 INTRODUÇÃO TECNOLOGIA WEB Começaremos desvendando o poder do desenvolvimento de aplicações baseadas na Web com a XHTML (Extensible HyperText Markup

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira

Leia mais

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt

Programação para Internet I 4. XML. Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Programação para Internet I 4. XML Nuno Miguel Gil Fonseca nuno.fonseca@estgoh.ipc.pt Standard do W3C (www.w3c.org) Formato de ficheiros de texto derivado de SGML (Standard Generalized Markup Language)

Leia mais

Parser para Fórmulas da Lógica Quantificacional Armazenadas em XML

Parser para Fórmulas da Lógica Quantificacional Armazenadas em XML Parser para Fórmulas da Lógica Quantificacional Armazenadas em XML Bruno Vilar 1, Parcilene Fernandes de Brito 1 1 Curso de Sistemas de Informação Centro Universitário Luterano de Palmas (CEULP/ULBRA)

Leia mais

Programação em Lógica. UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010

Programação em Lógica. UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010 Programação em Lógica UCPEL/CPOLI/BCC Lógica para Ciência da Computação Luiz A M Palazzo Maio de 2010 Roteiro Introdução Conceitos Básicos Linguagens Lógicas Semântica de Modelos Semântica de Prova Programação

Leia mais

Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais

Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais 1 Utilização de XML no Desenvolvimento de Hiperdocumentos Educacionais Fabiano Fagundes, Parcilene F. Brito, Fernando L. Oliveira, Jackson G. Souza, Carlos H. Tolentino Resumo O desenvolvimento colaborativo

Leia mais

Fundamentos de Lógica Matemática

Fundamentos de Lógica Matemática Webconferência 6-29/03/2012 Introdução à Lógica de Predicados Prof. L. M. Levada http://www.dc.ufscar.br/ alexandre Departamento de Computação (DC) Universidade Federal de São Carlos (UFSCar) 2012/1 Introdução

Leia mais

XML - Extensible Markup Language

XML - Extensible Markup Language Por Sergio Crespo XML - Extensible Markup Language Extensible Markup Language (XML) é linguagem de marcação de dados (meta-markup language) que provê um formato para descrever dados estruturados. Isso

Leia mais

Tópicos. Apresentando a família XML HTML HTML. XML extesible Markup Language. Problemas com o HTML

Tópicos. Apresentando a família XML HTML HTML. XML extesible Markup Language. Problemas com o HTML Tópicos Apresentando a família XML Prof.Tiago Lopes Telecken telecken@gmail.com IFRS Rio Grande HTML XML A família de tecnologias XML (DTD, XML Schemas, XHTML, SVG, MathML, MusicML, XMI, CSS, XSLT, XLINK,

Leia mais

Linguagem XML. Linguagem XML

Linguagem XML. Linguagem XML O que é XML? extensible Markup Language Linguagem de representação usando marcas como o HTML Marcas não pré-definidas. Precisam de ser definidas XML usa DTD ou esquemas para definir os dados Não FAZ NADA!

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO. Parcilene Fernandes de Brito

UNIVERSIDADE FEDERAL DE SANTA CATARINA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO. Parcilene Fernandes de Brito UNIVERSIDADE FEDERAL DE SANTA CATARINA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Parcilene Fernandes de Brito DEDUÇÃO AUTOMÁTICA POR TABLEAUX ESTRUTURADA EM XML Arthur Ronald de Vallauris Buchsbaum

Leia mais

Definição da Sintaxe Abstrata de Potigol em XML

Definição da Sintaxe Abstrata de Potigol em XML Definição da Sintaxe Abstrata de Potigol em XML Alessandro O. Anjos¹, Leonardo Lucena² 1 Graduando em Tec em Análise e Desenvolvimento de Sistemas IFRN. Bolsista do CNPq. E-mail: alessandro.anjos@academico.ifrn.edu.br

Leia mais

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Algoritmos Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi Conceitos Linhas de Código de um Algoritmo ou Programa escrita do programa linha a linha, ou seja, a sintaxe do programa, podendo-se

Leia mais

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores 2013-2 Compilador para a Linguagem Cafezinho Especificação dos trabalhos: T2 (Geração da Representação Intermediária e Análise

Leia mais

XML XML. Motivação. Mário Meireles Teixeira DEINF-UFMA

XML XML. Motivação. Mário Meireles Teixeira DEINF-UFMA XML Mário Meireles Teixeira DEINF-UFMA XML Motivação XML extensible Markup Language W3C: World Wide Web Consortium http://www.w3.org XML 1.0 W3C Recommendation, 10/Fev/1998 (inicial) W3C Recommendation,

Leia mais

1 Lógica de primeira ordem

1 Lógica de primeira ordem 1 Lógica de primeira ordem 1.1 Sintaxe Para definir uma linguagem de primeira ordem é necessário dispor de um alfabeto. Este alfabeto introduz os símbolos à custa dos quais são construídos os termos e

Leia mais

Aula 11 Introdução ao Java Script

Aula 11 Introdução ao Java Script Aula 11 Introdução ao Java Script Java Script é uma linguagem que permite trabalhar com a Lógica em páginas escritas em HTML (HiperText Mark-up Language). As páginas HTML podem ser escritas utilizando-se

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Linguagem de programação C 3.1. Conceitos

Leia mais

Classes e Objetos. Sintaxe de classe em Java

Classes e Objetos. Sintaxe de classe em Java Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados

Leia mais

Um esquema de nomes para localização de fontes de informação na Web, esse esquema chama-se URI.

Um esquema de nomes para localização de fontes de informação na Web, esse esquema chama-se URI. Aula 01 - Visão geral do HTML5 Professor Bruno Kiedis De acordo com o W3C a Web é baseada em 3 pilares: Um esquema de nomes para localização de fontes de informação na Web, esse esquema chama-se URI. Um

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Operadores de Condição if() / else if() / else{} / switch() Gil Eduardo de Andrade Introdução Operadores de condição permitem, ao programador, efetuar testes que determinam quais

Leia mais

XTHML. 2. A finalidade do XHTML é substituir o HTML; 3. Vantagens de se usar XHTML (Compatibilidade com futuras aplicações);

XTHML. 2. A finalidade do XHTML é substituir o HTML; 3. Vantagens de se usar XHTML (Compatibilidade com futuras aplicações); 1. XHTML TEM SUA ORIGEM NO XML; 2. A finalidade do XHTML é substituir o HTML; 3. Vantagens de se usar XHTML (Compatibilidade com futuras aplicações); 4. XHTML é uma "Web Standard ; Neste link (http://www.maujor.com/w3c/xhtml10_2ed.html)

Leia mais

XML. Prof. Júlio Machado

XML. Prof. Júlio Machado XML Prof. Júlio Machado julio.machado@pucrs.br INTRODUÇÃO O que é XML? É a sigla de Extensible Markup Language Linguagem de especificação para descrever dados Padrão aberto e largamente usado Definido

Leia mais

XSL - extemsible Stylesheet Language. Prof. Antonio Almeida de Barros Jr.

XSL - extemsible Stylesheet Language. Prof. Antonio Almeida de Barros Jr. XSL - extemsible Stylesheet Language Prof. Antonio Almeida de Barros Jr. Agenda Conceitos XSLT - XSL Transformations Iteração e Classificação Processamento Condicional Copiando Nodos Variáveis Estude de

Leia mais

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas

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/2 Como construir um compilador utilizando ferramentas Java Aula 1 - Introdução Prof. Márcio Delamaro delamaro@icmc.usp.br Como construir um

Leia mais

Fundamentos 1. Lógica de Predicados

Fundamentos 1. Lógica de Predicados Fundamentos 1 Lógica de Predicados Predicados e Quantificadores Estudamos até agora a lógica proposicional Predicados e Quantificadores Estudamos até agora a lógica proposicional A lógica proposicional

Leia mais

IFSC/Florianópolis - Prof. Herval Daminelli

IFSC/Florianópolis - Prof. Herval Daminelli Linguagem de marcação de textos; HTML significa Hypertext Markup Language (linguagem de marcação de hipertexto); Composta por elementos chamados tags ou rótulos ou marcadores; Estes marcadores definem

Leia mais

Dedução Natural e Sistema Axiomático Pa(Capítulo 6)

Dedução Natural e Sistema Axiomático Pa(Capítulo 6) Dedução Natural e Sistema Axiomático Pa(Capítulo 6) LÓGICA APLICADA A COMPUTAÇÃO Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Dedução Natural 3. Sistemas axiomático Pa 4. Lista

Leia mais

Série Rações Semanais Namespaces e DOM/SAX Rogério Araújo

Série Rações Semanais Namespaces e DOM/SAX Rogério Araújo http://rogerioaraujo.wordpress.com Série Rações Semanais Namespaces e DOM/SAX Rogério Araújo http://rogerioaraujo.wordpress.com Série Rações Semanais Namespaces e DOM/SAX Rogério Araújo Questões O insucesso

Leia mais

Programação I A Linguagem C. Prof. Carlos Alberto

Programação I A Linguagem C. Prof. Carlos Alberto Programação I A Linguagem C Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br 2 Origem A linguagem C foi desenvolvida em 1972, nos Laboratórios Bell, por Dennis Ritchie. Implementada

Leia mais

5a. Aula - XML 2013.2

5a. Aula - XML 2013.2 5a. Aula -XML 2013.2 Introdução Criando Documentos XML Validando Documentos XML DTD ( Documents Type Definition) XML Schema ConsultandoXML com Xpath com XQuery Modularizando XML Namespaces Entities TransformandoXML

Leia mais

Módulo III Introdução a XML

Módulo III Introdução a XML Módulo III Introdução a XML Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Modulo III XML SGML - Standard Generalized Markup Language XML - Extensible Markup

Leia mais

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado

Leia mais

Compiladores. Análise Léxica

Compiladores. Análise Léxica Compiladores Análise Léxica Regras Léxicas Especificam o conjunto de caracteres que constituem o alfabeto da linguagem, bem como a maneira que eles podem ser combinados; Exemplo Pascal: letras maiúsculas

Leia mais

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

Leia mais

Linguagem C Princípios Básicos (parte 1)

Linguagem C Princípios Básicos (parte 1) Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos

Leia mais

CT 200 Fundamentos de Automata e Linguagens Formais Propostas de Projetos para o Primeiro período de 2010

CT 200 Fundamentos de Automata e Linguagens Formais Propostas de Projetos para o Primeiro período de 2010 CT 200 Fundamentos de Automata e Linguagens Formais Propostas de Projetos para o Primeiro período de 2010 Prof. Carlos Henrique Q. Forster Estagiário Wesley M. Telles Instruções Gerais 1o. Bimestre Para

Leia mais

Guia de Bolso HTML e XHTML

Guia de Bolso HTML e XHTML Guia de Bolso HTML e XHTML Este guia de bolso oferece uma listagem concisa, porém abrangente, dos elementos e atributos especificados nas Recomendações HTML 4.01 e XHTML 1.0. O texto utiliza a abreviação

Leia mais

O TESTE DE DOCUMENTOS MUTANTES PARA REALIZAR UTILIZANDO ANÁLISE DE. Orientadora: Silvia Regina Vergilio XML SCHEMA. Ledyvânia Franzotte

O TESTE DE DOCUMENTOS MUTANTES PARA REALIZAR UTILIZANDO ANÁLISE DE. Orientadora: Silvia Regina Vergilio XML SCHEMA. Ledyvânia Franzotte UTILIZANDO ANÁLISE DE MUTANTES PARA REALIZAR O TESTE DE DOCUMENTOS XML SCHEMA Ledyvânia Franzotte Orientadora: Silvia Regina Vergilio Roteiro Introdução XML e Tecnologias XML, DTD, XML Schema e JDOM Testes

Leia mais

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de

XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de Capítulo 9: XML XML para transferência de dados Estrutura hierárquica do XML DTDs e XML Schema Consultas de documentos XML: XPath e XQuery Transformação de documentos XML: XSLT Mapeamento entre documentos

Leia mais

Programação I Funções. Prof. Carlos Alberto

Programação I Funções. Prof. Carlos Alberto Programação I Funções Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Funções Funções são blocos de códigos que podem ser nomeados e chamados de dentro de um programa; Funções

Leia mais

Rui Carneiro, Rui Pereira, Tiago Orfão

Rui Carneiro, Rui Pereira, Tiago Orfão Geração de Gráficos SVG através de PHP Rui Carneiro, Rui Pereira, Tiago Orfão Faculdade de Engenharia da Universidade do Porto, R. Dr. Roberto Frias, 4200-465 Porto. {ei04073,ei04077,ei03102}@fe.up.pt

Leia mais

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli Programa de computador sequência de comandos ou instruções executados por um computador com a finalidade de produzir um resultado e resolver um problema; Linguagem de programação método para a criação

Leia mais

Lógica Proposicional

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

Leia mais

JavaScript (Elementos de Programação e Programação Básica)

JavaScript (Elementos de Programação e Programação Básica) Linguagem de Programação para Web JavaScript (Elementos de Programação e Programação Básica) Prof. Mauro Lopes 1 Objetivos Iniciaremos aqui o nosso estudo sobre a Linguagem de Programação JavaScript. Apresentaremos

Leia mais

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Introdução geovanegriesang@unisc.br Processadores de linguagem Linguagens de programação são notações para se descrever

Leia mais

Aula teórica 13. Tema 12. Subprogramas. Subprogramas em Java Chamada de métodos. Área de domínio das variáveis. Preparado por eng.

Aula teórica 13. Tema 12. Subprogramas. Subprogramas em Java Chamada de métodos. Área de domínio das variáveis. Preparado por eng. Aula teórica 13 Tema 12. Subprogramas Subprogramas em Java Chamada de métodos. Área de domínio das variáveis Preparado por eng.tatiana Kovalenko 1 Subprogramas em Java A experiência mostra que a melhor

Leia mais

Compiladores I Prof. Ricardo Santos (cap 1)

Compiladores I Prof. Ricardo Santos (cap 1) Compiladores I Prof. Ricardo Santos (cap 1) Compiladores Linguagens de programação são notações que permitem descrever como programas devem executar em uma máquina Mas, antes do programa executar, deve

Leia mais

DTD. Vanessa Braganholo.

DTD. Vanessa Braganholo. DTD Vanessa Braganholo braganholo@dcc.ufrj.br Curso baseado em mini-cursos apresentados no SBBD. Autores: Carlos Heuser, Carina Dorneles e Vanessa Braganholo Esquema XML Como em banco de dados relacionais

Leia mais

Lógica Computacional

Lógica Computacional Lógica Computacional Frases Quantificadas Quantificadores e Variáveis Fórmulas Bem Formadas: Sintaxe e Semântica Formas Aristotélicas 21 Outubro 2013 Lógica Computacional 1 Frases Quantificadas - Existem

Leia mais

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@gmail.com

Leia mais

Cálculo proposicional

Cálculo proposicional O estudo da lógica é a análise de métodos de raciocínio. No estudo desses métodos, a lógica esta interessada principalmente na forma e não no conteúdo dos argumentos. Lógica: conhecimento das formas gerais

Leia mais

Folha 3 - Análise léxica

Folha 3 - Análise léxica Folha 3 Análise léxica 1. Escrever um programa em FLEX que permite contar o número de ocorrências de uma cadeia de caracteres contida num ficheiro de texto. 2. Escrever um programa em FLEX que permite

Leia mais

Introdução XML. Vanessa Braganholo

Introdução XML. Vanessa Braganholo Introdução XML Vanessa Braganholo {vanessa@ic.uff.br} Curso baseado em mini-cursos apresentados no SBBD. Autores: Carlos Heuser, Carina Dorneles e Vanessa Braganholo O que é XML? } XML = extensible Markup

Leia mais

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados

Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados. Aula 1 Introdução a Banco de Dados Universidade Federal da Paraíba CCEN Departamento de Informática Disciplina: Banco de Dados Aula 1 Introdução a Banco de Dados 1. Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído

Leia mais

9/24/2014. Prof. André Backes

9/24/2014. Prof. André Backes Prof. André Backes 1 Arquivos Por que usar arquivos? Permitem armazenar grande quantidade de informação; Persistência dos dados (disco); Acesso aos dados poder ser não sequencial; Acesso concorrente aos

Leia mais

MODULARIZAÇÃO - PARTE 1

MODULARIZAÇÃO - PARTE 1 AULA 27 MODULARIZAÇÃO - PARTE 1 Os algoritmos que temos construído até então são muito simples, pois resolvem problemas simples e apresentam apenas os componentes mais elementares dos algoritmos: constantes,

Leia mais

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados

Conceitos Básicos. Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI. Disciplina: Banco de Dados Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI Conceitos Básicos Disciplina: Banco de Dados Prof: Márcio Palheta, Esp Manaus - AM ROTEIRO Introdução Dados

Leia mais

Programação Procedimental

Programação Procedimental Programação Procedimental Maria Adriana Vidigal de Lima Universidade Federal de Uberlândia - 2013 1 Escrita de Algoritmos 1.1 Técnicas de Programação e Algoritmos Na elaboração de programas maiores e complexos

Leia mais

Capítulo 3 Lógica de Primeira Ordem

Capítulo 3 Lógica de Primeira Ordem Capítulo 3 Lógica de Primeira Ordem Lógica para Programação LEIC - Tagus Park 1 o Semestre, Ano Lectivo 2007/08 c Inês Lynce and Luísa Coheur Bibliografia Martins J.P., Lógica para Programação, Capítulo

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

MD Lógica de Proposições Quantificadas Cálculo de Predicados 1

MD Lógica de Proposições Quantificadas Cálculo de Predicados 1 Lógica de Proposições Quantificadas Cálculo de Predicados Antonio Alfredo Ferreira Loureiro loureiro@dcc.ufmg.br http://www.dcc.ufmg.br/~loureiro MD Lógica de Proposições Quantificadas Cálculo de Predicados

Leia mais

Documento de Requisitos SISTEMA DE APOIO À ESCRITA (SAPES)

Documento de Requisitos SISTEMA DE APOIO À ESCRITA (SAPES) 1. Introdução 1.1 Propósito Documento de Requisitos SISTEMA DE APOIO À ESCRITA (SAPES) O propósito deste documento de especificação de requisitos é definir os requisitos do sistema SAPES - Sistema de Apoio

Leia mais

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos. AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos

Leia mais

Programação para Internet I Aulas 10 e 11

Programação para Internet I Aulas 10 e 11 Programação para Internet I Aulas 10 e 11 Fernando F. Costa nando@fimes.edu.br XML Definição e origem extensible Markup Language (XML) é linguagem de marcação de dados que provê um formato para descrever

Leia mais

Trabalho Prático 2015 Simulador de Circuitos Opção 1 Versão /11/2013

Trabalho Prático 2015 Simulador de Circuitos Opção 1 Versão /11/2013 Trabalho Prático 2015 Simulador de Circuitos Opção 1 Versão 1.0 12/11/2013 SSC0300 Linguagem de Programação e Aplicações Engenharia Elétrica - Eletrônica 2º Semestre de 2015 Prof: Daniel Rodrigo Ferraz

Leia mais

Sumário. XML (extensible Markup Language)

Sumário. XML (extensible Markup Language) Sumário 1 Introdução Aplicações Não-Convencionais 2 BD Orientado a Objetos e Objeto-Relacional 3 BD Temporal 4 BD Geográfico 5 XML e Bancos de Dados XML (extensible Markup Language) Tecnologia desenvolvida

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95 Exercícios de revisão Lista 01: a) Monte um mapa conceitual indicando as relações entre os seguintes conceitos, no contexto do assunto visto em aula:

Leia mais

3. Construção de páginas web Introdução ao HTML

3. Construção de páginas web Introdução ao HTML 3. Construção de páginas web 3.1. Introdução ao HTML 1 Introdução ao HTML O HTML, HyperText Markup Language, foi desenvolvido para especificar a organização lógica de um documento com extensões de hipertexto,

Leia mais

4 ALBATROZ : Um ambiente para desenvolvimento de SMA

4 ALBATROZ : Um ambiente para desenvolvimento de SMA 41 4 ALBATROZ : Um ambiente para desenvolvimento de SMA Resumo Neste capítulo será apresentado o processo de desenvolvimento do ambiente Albatroz. Cada ferramenta é detalhada indicando suas funcionalidades.

Leia mais

SSC Linguagem de Programação e Aplicações

SSC Linguagem de Programação e Aplicações SSC0300 - Linguagem de Programação e Aplicações Professor responsável: Fernando Santos Osório Semestre: 2013/2 Prof. Auxiliar: Artur Lovato Cunha Estagiário PAE: Rafael L. Klaser Horário: Sexta Manhã 10h10

Leia mais

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas

Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) XML Origens. HTML Problemas Sistemas Distribuídos na WEB (Plataformas para Aplicações Distribuídas) (extensible( Markup Language ) Origens (extensible Markup Language linguagem de marcação extensível) Criada em 1996 pelo W3C (World

Leia mais

3 Cálculo Proposicional

3 Cálculo Proposicional 3 Cálculo Proposicional O Cálculo Proposicional é um dos tópicos fundamentais da Lógica e consiste essencialmente da formalização das relações entre sentenças (ou proposições), de nidas como sendo frases

Leia mais

Linguagens Lógicas. Aluno: Victor Rocha

Linguagens Lógicas. Aluno: Victor Rocha Linguagens Lógicas Aluno: Victor Rocha Roteiro Introdução Cálculo de Predicados Proposições Conectores Lógicos Variáveis Tipos de Cláusulas fatos regras Banco de Dados Prolog Fatos em Prolog Questões Unificação

Leia mais

Tecnologias de Desenvolvimento de Páginas web

Tecnologias de Desenvolvimento de Páginas web Tecnologias de Desenvolvimento de Páginas web HTML DHTML CSS Javascript Visual Basic Script Java HTML Hypertext Markup Language HTML Hypertext Markup Language Linguagem com a qual se definem as páginas

Leia mais

Compiladores Análise de Tipos

Compiladores Análise de Tipos Compiladores Análise de Tipos Fabio Mascarenhas 2018.1 http://www.dcc.ufrj.br/~fabiom/comp Tipos Um tipo é: Um conjunto de valores Um conjunto de operações sobre esses valores Os tipos de uma linguagem

Leia mais

6 Alguns conceitos e comandos em programação

6 Alguns conceitos e comandos em programação 6 Alguns conceitos e comandos em programação 6.1 Diretivas Diretivas são instruções que permitem ao programador efetuar algum tipo de modificação à compilação, sendo analisadas e executadas pelo pré-compilador,

Leia mais

Programação I Apresentação

Programação I Apresentação Programação I Apresentação Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Referências JUNIOR, D. P.; NAKAMITI, G. S.; ENGELBRECHT, A. de M. E.; BIANCHI, F. Algoritmos e Programação

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

1 TEORIA DOS CONJUNTOS

1 TEORIA DOS CONJUNTOS 1 TEORIA DOS CONJUNTOS Definição de Conjunto: um conjunto é uma coleção de zero ou mais objetos distintos, chamados elementos do conjunto, os quais não possuem qualquer ordem associada. Em outras palavras,

Leia mais

4 Processo de Transformação

4 Processo de Transformação Tecnologias Relacionadas 43 4 Processo de Transformação Com a constante mudança nos requisitos (funcionais e não funcionais) do domínio da aplicação, há uma grande necessidade de que os sistemas estejam

Leia mais

Apêndice A. Pseudo-Linguagem

Apêndice A. Pseudo-Linguagem Apêndice A. Pseudo-Linguagem Apostila de Programação I A.1 Considerações Preliminares Os computadores convencionais se baseiam no conceito de uma memória principal que consiste de células elementares,

Leia mais

CP Compiladores I Prof. Msc.. Carlos de Salles

CP Compiladores I Prof. Msc.. Carlos de Salles CP 5017.9 Prof. Msc.. Carlos de Salles 1 - EMENTA O Processo de Compilação. Deteção e Recuperação de Erros. Introdução à geração de Código Intermediário. Geração de Código de Máquina. Otimização. Uma visão

Leia mais

Inteligência Artificial IA II. LÓGICA DE PREDICADOS PARA REPRESENTAÇÃO DO CONHECIMENTO

Inteligência Artificial IA II. LÓGICA DE PREDICADOS PARA REPRESENTAÇÃO DO CONHECIMENTO Inteligência Artificial IA Prof. João Luís Garcia Rosa II. LÓGICA DE PREDICADOS PARA REPRESENTAÇÃO DO CONHECIMENTO 2004 Representação do conhecimento Para representar o conhecimento do mundo que um sistema

Leia mais

03/04/2016 LÓGICA MATEMÁTICA. Prof. Esp. Fabiano Taguchi. Introdução ao Prolog

03/04/2016 LÓGICA MATEMÁTICA. Prof. Esp. Fabiano Taguchi.  Introdução ao Prolog LÓGICA MATEMÁTICA Prof. Esp. Fabiano Taguchi fabianotaguchi@gmail.com http://fabianotaguchi.wordpress.com Introdução ao Prolog 1 PROLOG PROgramming in LOGic Linguagem utilizada para resolver problemas

Leia mais

A diferença entre um site que implementa CSS e outro que não o usa é gigantesca e notável.

A diferença entre um site que implementa CSS e outro que não o usa é gigantesca e notável. Aula 02 - Introdução ao css ( folhas de estilo ) CSS é a sigla para o termo em inglês Cascading Style Sheets que, traduzido para o português, significa Folha de Estilo em Cascatas. O CSS é fácil de aprender

Leia mais

3 Tecnologias Relacionadas

3 Tecnologias Relacionadas Tecnologias Relacionadas 31 3 Tecnologias Relacionadas O objetivo deste capítulo é apresentar um resumo de cada tecnologia relacionada ao processo proposto nesta dissertação, mostrando suas principais

Leia mais

Tarlis Portela Web Design HTML

Tarlis Portela Web Design HTML Tarlis Portela Web Design HTML HTML Definição HTML (acrônimo para a expressão inglesa HyperText Markup Language, que significa Linguagem de Marcação de Hipertexto) ; É uma linguagem de marcação utilizada

Leia mais

3 Estado da arte. 3.1 A linguagem de consultas SPARQL

3 Estado da arte. 3.1 A linguagem de consultas SPARQL Estado da arte 24 3 Estado da arte Nesse capítulo serão discutidas ferramentas, tecnologias e soluções existentes na área da web semântica. Na seção 3.1 e 3.2 deste capítulo serão discutidas abordagens

Leia mais

XML e XSL. Ciência da Computação DESENVOLVIMENTO DE APLICAÇÕES PARA WEB. Claudinei Dias email: prof.claudinei.dias@gmail.com

XML e XSL. Ciência da Computação DESENVOLVIMENTO DE APLICAÇÕES PARA WEB. Claudinei Dias email: prof.claudinei.dias@gmail.com Ciência da Computação DESENVOLVIMENTO DE APLICAÇÕES PARA WEB XML e XSL Prof. Claudinei Dias email: prof.claudinei.dias@gmail.com Fundamentos XML Extensible Markup Language Linguagem de marcação de dados

Leia mais

Cálculo de Predicados

Cálculo de Predicados Cálculo de Predicados (Lógica da Primeira Ordem) Prof. Tiago Semprebom, Dr. Eng. Instituto Federal de Educação, Ciência e Tecnologia Santa Catarina - Campus São José tisemp@ifsc.edu.br 18 de maio de 2013

Leia mais

MODELAGEM DE PROCESSOS MÓDULO 9

MODELAGEM DE PROCESSOS MÓDULO 9 MODELAGEM DE PROCESSOS MÓDULO 9 Índice 1. Processo de Desenvolvimento de Sistemas - Continuação..3 1.1. Diagramas de Casos de Uso... 3 2 1. PROCESSO DE DESENVOLVIMENTO DE SISTEMAS - CONTINUAÇÃO 1.1. DIAGRAMAS

Leia mais

Requisitos de sistemas

Requisitos de sistemas Requisitos de sistemas Unidade III - Casos de Uso Identificação de casos de uso Conceitos de orientação a objetos Modelagem do diagrama de classes e casos de uso 1 Casos de uso CONCEITO Especifica o comportamento

Leia mais

SISTEMASDE. SW, APP e SO - 2º trimestre Patrícia Lucas

SISTEMASDE. SW, APP e SO - 2º trimestre Patrícia Lucas SISTEMASDE ARQUIVOS SW, APP e SO - 2º trimestre Patrícia Lucas Introdução O armazenamento e a recuperação de informações são atividades essenciais para qualquer tipo de aplicação. Um programa deve ser

Leia mais